├── .gitignore ├── BOM.md ├── Firmware ├── LICENSE └── Retro_Watch.ino ├── Hardware ├── Assembled.JPG ├── OSHPark Renders │ ├── back.png │ └── front.png ├── Retro|Watch.brd ├── Retro|Watch.pdf └── Retro|Watch.sch └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | *.html 2 | Easy Bubble Watch Oozes Retro Charm | Hackaday.html 3 | -------------------------------------------------------------------------------- /BOM.md: -------------------------------------------------------------------------------- 1 | ###Bill of Materials: 2 |
3 |
Part | Value | Device | Package | Description | |
C1 | 0.1 uF | C-USC0805 | C0805 | CAPACITOR, American symbol | |
C2 | 0.1 uF | C-USC0805 | C0805 | CAPACITOR, American symbol | |
C3 | 1 uF | C-USC0805 | C0805 | CAPACITOR, American symbol | |
CN1 | JST-PH | JST_2PIN-SMT-RA | JST-PH-2-SMT-RA | JST 2-Pin Connectors of various flavors | |
DISP1 | HP QDSP 6064 | 7-SEGMENT-4DIGIT-COUNTER-HP-BUBBLE | DIL12 | ||
R1 | 10k | R-US_R0805 | R0805 | RESISTOR, American symbol | |
R2 | 10k | R-US_R0805 | R0805 | RESISTOR, American symbol | |
R3 | 220R | R-US_R0805 | R0805 | RESISTOR, American symbol | |
R4 | 220R | R-US_R0805 | R0805 | RESISTOR, American symbol | |
R5 | 220R | R-US_R0805 | R0805 | RESISTOR, American symbol | |
R6 | 220R | R-US_R0805 | R0805 | RESISTOR, American symbol | |
RTC1 | DS3231M | DS3231M | SOIC8 | DS3231M Real Time Clock. Accuracy +/-5ppm. Battery Backup. 2.3V to 5.5V. | |
S1 | SKQGAFE010 | SWITCH-MOMENTARY-2SMD | TACTILE-SWITCH-SMD | Various NO switches- pushbuttons, reed, etc | |
S2 | SKQGAFE010 | SWITCH-MOMENTARY-2SMD | TACTILE-SWITCH-SMD | Various NO switches- pushbuttons, reed, etc | |
S3 | SKQGAFE010 | SWITCH-MOMENTARY-2SMD | TACTILE-SWITCH-SMD | Various NO switches- pushbuttons, reed, etc | |
S4 | SS SMD402 | SWITCH-SPDTSMD2 | SWITCH-SPDT-SMD | SPDT Switch | |
U1 | ATMEGA328P-AU | ATMEGA328P-AU | TQFP32 | 8-bit Microcontroller with In-System Programmable Flash |
3 |
4 | Front
5 |
6 | OSHPark renders 7 |
8 | 9 | ## Short description 10 | A retro watch, based around the HP QDSP-6064 Bubble display, used in 70s HP calculators like the [HP-35](https://en.wikipedia.org/wiki/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. 11 | The code is open source, licensed under the MIT License, and the harware is fully open-source. 12 | 13 | ### Featured on: 14 | [Hackaday.com blog post by Elliot Williams](http://hackaday.com/2016/06/25/easy-bubble-watch-oozes-retro-charm/) 15 | 16 | [Hackaday.io project page](https://hackaday.io/project/12402-retrowatch) 17 | 18 | ## Hardware 19 | ### PCB 20 | The board design was made in Eagle, has been tested and works. A 500 mAh [LiPo Battery from Adafruit](https://adafru.it/1578) fits perfectly under the board. It can be freely modified. It can also directly be ordered on the OSHPark website: 21 | 22 | 23 | (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 !) 24 | 25 | ### Bill Of Materials 26 | You can find the BOM [here](https://github.com/RafaelRiber/RetroWatch/blob/master/BOM.md). 27 | 28 | ## Software 29 | The software was written in Arduino code, is licensed under MIT License, and can be uploaded on the microcontroller via ISP. 30 | Be sure to set the desired time in the code prior to uploading, to set the time registers on the RTC. 31 | 32 | Functions of the code include: 33 | * Hours, minutes and seconds 34 | * Day, month, year, day of year, day in week, week in year. 35 | * Stopwatch (start, stop, reset) 36 | * Temperature reading from the real-time-clock's built-in thermometer (accurate to about 3°C) 37 | * Brightness setting in software, saved to EEPROM to save even if the watch is powered off. 38 | 39 | 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)" 40 | ### Required Libraries 41 | 1. [Chrono library by thomasfredericks](https://github.com/thomasfredericks/Chrono) 42 | 2. [Pushbutton library from Pololu](http://pololu.github.io/pushbutton-arduino/) 43 | 3. [RTCLib by Adafruit Industries](https://github.com/adafruit/RTClib) 44 | 4. [SevSeg by SparkFun](https://github.com/sparkfun/SevSeg) 45 | 46 | ### Planned Sofware Functions 47 | • ~~Menu structure for mode selection~~ DONE ! 48 | 49 | • ~~Year~~ DONE ! 50 | 51 | • Time set on the watch 52 | --------------------------------------------------------------------------------