Gesture Clock 

powerThis is a re-incarnation of  the Bottle Clock which I made in 2020 to make a clock which was controlled by tilting and rotating. It was controlled by a LIS3DH 3-axis accelerometer. It worked but it was mechanically a little wonky so the clock languished on a shelf until now. It was a bit of a wrench to disassemble it but it was taking up shelf space. I have left its description on this website.

The display assembly, its interconnect board, and the Mini-Pro Arduino microcontroller are reused. I upgraded the RTC from a DS1307 to  a DS3231.

This version is powered by a 18650 Li-Ion battery via an Adafruit PowerBoost 500 charger, which also provides 5V power and has an enable input.

The signature addition is an apds-9960 breakout from Adafruit which has three “engines”. These are active IR Proximity, active IR Gesture and a set of red, green and blue passive photo sensors.

The first challenge was to find a way to have a low-power standby power mode and az active power mode. The motive for buying the apds-9960 was to use its proximity detector Interrupt to control the Power Boost enable. The specification for the chip seemed to indicate that the idle current draw would be 200 microamperes. However, when I made it powered directly from the battery and using the default parameters the current draw was 10 milliamperes. The best I could reduce it by tweaking the parameters and still have it work was 5 milliamperes, which was unacceptable.

So I had to disconnect the interrupt and use a mechanical contact. The apds-9960 is now powered from the 5V and is therefore off during standby.

It is actually a very good clock. It is easily read from across the room. It is very bright with not a hint of flicker or lag and a wide viewing angle. 

There are no manual controls. The only items on the front besides the display is the apds-9960.

There is a 3-way switch on the back which are only used in case the program hangs or for programming. 

The wakeup device is a pressure-sensitive tape. Also on the back are the connectors from programming and charging.

There are two display operations: Normal and Setup. Changing between them uses the Color Engine. I made a red-green-blue Remote Control for this.

For both these display operations the Gesture Engine controls displays and actions.