My first wifi connected board was the now discontinued Wemos D1. It offered Arduino UNO compatible shape/size and also hosted the mysterious ESP8266 on it. It also made it easy to experiment with the ESP8266 by allowing Arduino IDE to flash programs to it the usual/easy way without any extra hardware/buttons etc being necessary.
I used that board to build a simple light on/off control for a hard to reach area at my home.
Read earlier parts
The Hourglass Project came to a finalization point. Project goals have been achieved. The LEDs light up and turn off giving the illusion of balls/sand particles falling down with the pull of gravity in all compass directions now. The hourglass also does automatic dimming/power saving if unused and on touch wakes up after power save. The combination of these make it a simple, but fully functional object satisfying the original targets.
Read Part 4
After bringing hourglass to a satisfactory working level with the simple ball tilt sensor (see pic below) I wanted to go back to the original idea and make it work not only in the Upright-Upside-down directions, but also have the balls fall and roll in all compass directions as the object’s tilt angle changes. Of course the simple ball in a tube sensor cannot do that.
It happens that a GY-521 breakout board with a MPU6050 on it was waiting for this opportunity.
Read Part 3 first
The summary update is that I have a working hourglass prototype that delivers the basic requirements.
Since the last update, the code changed considerably. Certain nice object-oriented concepts went away, bit packing and elimination of anything that can be replaced or reused from existing objects resulted in the code footprint to shrink to less than half the original size that was working on the PC. This allowed for a successful compile and upload to Arduino.
Read Part 2 First
Well, not all updates can show great achievement.
Right now I am working to change the same code that ran well on PC simulation to work on Arduino as well. Currently it is a struggle to fit all in the 2K memory footprint basically.
So after part 2 and the success on PC simulation, I moved my code to Arduino IDE, linked the LedControl library to drive the display.