The clock is currently working on a breadboard.

It can be powered either by the USB plug or by a battery connected on VSYS. If both are used a schottky diode shall be added in serie with the positive line of the battery. Beware that the battery shall be protected against full discharge as the Pico's DC/DC converter can work down to 1,8V

All the files are on github.

One should pay attention to the directories that shall  be created on the filesystem of the Pico:

  • all the directories shall be created at the root of the file system
  • a drivers directory shall contain the graphic driver st7735.py and the rotary encoder driver rotary.py
  • at the root shall be copied adc.py, clock.py. Clock.py shall be renamed main.py if you want it to be executed when the board is powered on.
  • The different faces of the numbers shall be copied in the digits directory as explained in the readme.md on github. One subdirectory for each familly of faces. The name or the directory shall be limited to 8 characters as the width of the display is only 80 pixels. The list of the faces is created when the application starts by reading the content of the digits directory.

A click on the rotary encoder opens a menu where the user can choose to change the face of the number, set the time or read the level of the battery. A click on an item opens a submenu. Selection is made by rotating the encoder.

The LDR adjusts the brightness of the display to the ambiant ligth. The level is also reduced when the level of the battery is too low.

Note: the battery is more a backup than the main supply. The clock consume around 80mA when display is at full brightness and down to 15mA at the lowest level so a battery will not last very long.