OSHPark renders
A retro watch, based around the HP QDSP-6064 Bubble display, used in 70s HP calculators like the HP-35. The display is controlled by an Atmel ATMega328P-AU MCU with Arduino code, and the time is kept by a Maxim DS3231 Real-Time Clock module, that stays connected to the LiPo battery at all times, keeping time even when the microcontroller and display are not powered. The code is open source, licensed under the MIT License, and the harware is fully open-source.
Hackaday.com blog post by Elliot Williams
The board design was made in Eagle, has been tested and works. A 500 mAh LiPo Battery from Adafruit fits perfectly under the board. It can be freely modified. It can also directly be ordered on the OSHPark website:
(DISCLAIMER: I am in no way affiliated with Atmel. I just put the Atmel logo on the PCB to show the circuit uses an Atmel chip, which I really like !)
You can find the BOM here.
The software was written in Arduino code, is licensed under MIT License, and can be uploaded on the microcontroller via ISP. Be sure to set the desired time in the code prior to uploading, to set the time registers on the RTC.
Functions of the code include:
- Hours, minutes and seconds
- Day, month, year, day of year, day in week, week in year.
- Stopwatch (start, stop, reset)
- Temperature reading from the real-time-clock's built-in thermometer (accurate to about 3°C)
- Brightness setting in software, saved to EEPROM to save even if the watch is powered off.
To be able to upload the code on the watch, an Arduno IDE board file for an "ATMega328 on a breadboard" running at 8 MHz with the internal crystal, is needed. You can find it here: https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard under "Minimal Circuit (Eliminating the External Clock)"
- Chrono library by thomasfredericks
- Pushbutton library from Pololu
- RTCLib by Adafruit Industries
- SevSeg by SparkFun
• Menu structure for mode selection DONE !
• Year DONE !
• Time set on the watch