instructables
Arduino Based Watch - OLED, Menu, RTC
by jiaronghu8
Have you ever wanted a device which is too large for a but still credit me if this is used in other projects or
watch but yet too small for a clock? taken inspiration
Well, it is, but it can easily be made into a watch, and Note AGAIN: This is an Un nished Project and with an
also easily be made into a clock (like a mini clock, you Arduino nano, a smaller watch can be made.
know what I mean)
Lets Start!
Note: This is Open Source as I have decided to make it,
Step 1: Video & Pictures of It in ACTION!
ht t ps://www.yout ube.com/embed/0jACqys_r9s
Here, you can see the features of the watch, including:
stopwatch
timer
Arduino Based Watch - OLED, Menu, RTC: Page 1
set time
tell time
tell temperature through rtc module
Step 2: Supplies Needed:
- one SSD1306 i2c OLED
- one DS3231 Breakout Board
- three Pushbuttons
- three 1 kilohm resistors
- sixteen male to male wires (or not if no prototyping and on a smaller form factor)
Arduino Based Watch - OLED, Menu, RTC: Page 2
- one breadboard (or not if no prototyping and on a smaller form factor)
- oh yes, and one Arduino (all are ne, but in this example, it's an Arduino Uno)
Arduino Based Watch - OLED, Menu, RTC: Page 3
Step 3: Schematic
Here is the schematic, if you need it (wiring guide coming up!) (if you want to follow this, go ahead and skip to step
7)
Arduino Based Watch - OLED, Menu, RTC: Page 4
Edit: sorry the schematic was wrong but now it is xed
Step 4: Wiring Guide: Power
Simply Connect 3.3v and GND to the Power lines on the Breadboard
Step 5: Wiring Guide: OLED
Connect the OLED to the Arduino, Following the Schematic (see, the wires even are the same color!)
Connect VCC to the 3.3v Power Rail
Connect GND to GND on the Power Rail
Arduino Based Watch - OLED, Menu, RTC: Page 5
Connect SCL to A5 or dedicated SCL pin
Connect SDA to A4 or dedicated SDA pin
Step 6: Wiring Guide: RTC Breakout Board
Again, Place the RTC on the breadboard and connect it to the Arduino
Connect VCC to the 3.3v Power Rail
Connect GND to GND on the Power Rail
Connect SCL to A5 or dedicated SCL pin
Connect SDA to A4 or dedicated SDA pin
(connections are same as OLED)
Arduino Based Watch - OLED, Menu, RTC: Page 6
Step 7: Wiring Guide: Pushbuttons
Connect as shown, and you're done! (well this is a 10K resistor connected from pin 5 to GND on the
simple watch, but not simple software) Power Rail
Connect Midbutton from pin 2 to VCC on the Power Connect Dwnbutton from pin 6 to VCC on the Power
Rail Rail
10K resistor connected from pin 2 to GND on the 10K resistor connected from pin 6 to GND on the
Power Rail Power Rail
Connect Upbutton from pin 5 to VCC on the Power
Rail
Arduino Based Watch - OLED, Menu, RTC: Page 7
Step 8: The Code!
Here's the Code, have fun with your watch! Wire Library: Should be built in (it should have come
with Arduino when you installed the program), but
Libraries used: here it is anyway.
https://www.resistorpark.com/content/Arduino_Librar
Adafruit SSD 1306 Library: ies/wire.zip
https://github.com/adafruit/Adafruit_SSD1306
DS3231 RTC library:
Adafruit GFX Library: http://rinkydinkelecronics.com/download.php?
https://github.com/adafruit/Adafruit-GFX-Library f=DS3231.zip
Download
https://www.instructables.com/ORIG/FMA/DFYM/K8WK230M/FMADFYMK8WK230M.ino
…
Step 9: Xtra Step: Extracting the Libraries (if You Know How, Skip This Step)
In the Menu Bar, Go to
Sketch >> Include Library >> Add .ZIP Library
and select the zip le through the popup window
Arduino Based Watch - OLED, Menu, RTC: Page 8
Step 10: How to Use Your Watch
Simply Use the Three Buttons as Interface buttons,
In the Watch Menu:
The button connected to Pin 5 is Enter Menu
The button connected to Pin 6 is Enter Menu
The button connected to Pin 2 is Enter Menu
In the Menu:
The button connected to Pin 5 is UP
The button connected to Pin 6 is DOWN
The button connected to Pin 2 is ENTER
In the Stopwatch:
The button connected to Pin 5 is Start / Stop
The button connected to Pin 6 is Reset
The button connected to Pin 2 is Exit
In the Timer:
The button connected to Pin 5 is Start / Reset&Stop
The button connected to Pin 6 is Mode / Nothing
The button connected to Pin 2 is Exit
Arduino Based Watch - OLED, Menu, RTC: Page 9
In Set Time:
The button connected to Pin 5 is (+ Time)
The button connected to Pin 6 is ( - Time)
The button connected to Pin 2 is Next / Exit
Step 11: Further Steps
Bluetooth Module With Noti cations
Less Variables - Very Messy Throughout the Code
Minimize Watch (Arduino Nano, Standalone DS3231, PCB?)
Sleep Functions to use less Power
Use these ideas to further develop this watch!
Step 12: Please Vote & Support
Please Vote for Me in the Clocks Contest!
If you need help recreating this project, feel free to leave a comment down below or contact me at
jiaronghu8@gmail.com
Also, Following & Liking is free
Nice job on your Arduino project :)
many thanks :)
Arduino Based Watch - OLED, Menu, RTC: Page 10