BerlinUhr
Berlin Uhr or Mengenlehreuhr, a fancy retro style clock that's a bit tricky to read: https://en.wikipedia.org/wiki/Mengenlehreuhr
What is this
The BerlinUhr is a standalone PCB with all the needed parts on it, just connect power over the USB-C and it will run.
The ATtiny167 receives the actual time from the DS3231 real time clock chip. Then displays it with 24 leds driven by the TLC5947. The brightness is adopted by measuring the ambient light with a KPS-3227.
Building it
- PCB, source it with the gerbers: https://github.com/designer2k2/BerlinUhr/tree/main/Berlin_Uhr/gerber
- Schematic: https://github.com/designer2k2/BerlinUhr/blob/main/Berlin_Uhr/Schematic.pdf
- BOM, interactive BOM here: https://github.com/designer2k2/BerlinUhr/tree/main/Berlin_Uhr/bom
- Bootloader, burn the Micronucleus Bootloader to the ATtiny167 with ISP: https://github.com/ArminJo/DigistumpArduino
- Insert CR1216 battery for the RTC to keep time also while the USB power is gone.
- Software, upload the Code from the scr folder: https://github.com/designer2k2/BerlinUhr/tree/main/src/berlin-uhr
Setting the time
- The time gets set the first time the code is uploaded to the time from the pc.
- To change it afterwards, push the A and B buttons on the edge / backside.
Reading the time
This is special on the Berlin Clock. A practical explanation is given in the wikipedia article: https://en.wikipedia.org/wiki/Mengenlehreuhr#Time_encoding
The Berlin Clock is easy to read after a couple of days :-)
Modifying it
- The PCB is made with KiCad (6.0.2): http://www.kicad-pcb.org/
- The PCB-Art graphics are made with Inkscape: https://inkscape.org/
- Parts of the graphics are converted to Footprints with svg2mod: https://github.com/mtl/svg2mod
- The BOM is made with InteractiveHtmlBom: https://github.com/openscopeproject/InteractiveHtmlBom
KiCad Version of at least 6.0.2 is needed due to a bug in the KPS-3227 Footprint in older Versions: https://gitlab.com/kicad/libraries/kicad-symbols/-/issues/3164
How it looks
Its 17:45 😃
It can hang on a wall or sit on a table with the help of a USB-C phone docking station.
The bare PCB:
ISP Programming the Bootloader to the ATtiny with the help of a Arduino Uno:
Populated backside: