WΛLLTΞCH OLED Watch
My first OLED watch project began when I found Mike Rankin and his .96″ OLED displays on Tindie (see referrals page). At a low price, a low power consumption, high contrast, and being easily controlled from an arduino, I knew again that I wanted to build another watch with one. With the experience gained from the previous version, and a new resolve to make something amazing, over the summer of 2013 I created this, one of my coolest projects yet that’s still on my wrist today.
Hardware (v4.1 shown here)
For this version of the watch, I chose Femtoduino’s flagship board, the FemtoduinoUSB to run the show. It uses the popular Atmega328 IC from Atmel at its heart, programs like an Arduino UNO. With onboard USB support and ftdi chip, it can be programmed via USB, and uses it to charge the battery when plugged in.
The second most important part is the DS1307 RTC from Maxim that keeps the time and date, follows the leap year, and with a 12mm 3v coin cell battery regulated to 2.5v by a tps78225 LDO voltage regulator from TI, is backed up when the power is turned off.
(Back of the PCB with the majority of components under the battery and the backup coin cell and the FemtoduinoUSB at the top)
The screen goes to sleep after 10 seconds of viewing and can be woken up by pressing any one of the three face buttons. These buttons are select in the middle, and left and right on the sides. The on/off switch is on the left hand side of the display. Up is on with the battery connected to the power rail through a diode just below it to protect it if the charger’s 5v is plugged into the rail while it’s not in the charging mode. When the watch is turned off, the battery is disconnected and reconnected to the charging circuit ready to charge. There are three indicator LEDs to the top right of the display. The top one is blue and is connected to D13 of the FemtoduinoUSB. It flashes when programming and is software usable for any apps or faces written for it. The middle one is green and lights to show that the battery is charged. The bottom one is orange and slowly fades in and out while charging. The battery charging chip that manages the 300mAh lithium ion battery is the MCP73831 charge controller from Microchip with a 4k programming resistor to set the charge current to 250mA. The charge time is around an hour, which once you’ve set it on a countertop to charge, is always the second time you come back to it so it always feels blindingly fast. The battery life of the v4.2 of the watch was 24 hours, or two days without a charge, but in the updated v4.3 that makes use of all the devices’ built-in sleep modes, it lasts a full 3 weeks of use on the same battery!(Charging) (Full)
When the battery is empty, an image of an empty battery flashes on the screen as well as the orange LED to catch your attention to turn it off before it dies and charge it.
Over the years that I’ve been tweaking and perfecting the watch, I’ve written many different faces and applications for the watch in the Arduino IDE. Here are a few of them. When the watch boots, the WΛLLTΞCH logo appears on screen, and the hardware version (now 4.3) then appears below it.
The default home screen face is this custom font with the day of the week and date below it. The second face is a kind of optical illusion that tricks the untrained eye into looking and focusing on the white space instead of the time in the black space left behind. It’s very fun to confuse people with, and once you get it yourself, it’s as easy as the first one to read. The third one was a lot of fun to program, and is one of my most popular with curious onlookers, the text style face. This next one is slightly less practical, but again was fun to program and is a cool effect, the bar graph meter face. When you’re feeling classy, or just want to look stylish, the square analog face fits the bill.
Apart from faces, there are a few other applications I have as scrollable faces that perform different functions. I’ve coded a schedule app that showed what classes I had next, how long until the current one ended, and what room it was in, and it adapted to different days’ schedules and only displayed on actual school days, very useful. All of these apps have their own icons that appear before the face displays to let the user know what each’s function is. Here are some others I’ve got.
An example game I created for it is what I call Starfield. The object of the game is to sidescroll using the left and right buttons to avoid 3d asteroids that you fly past. It has perspective graphics, a score based on how long you survive, an energy bar, and a level that increases every 250 asteroids and increases the speed you fly through them, making it harder. It also keeps highscore in eeprom and knows if you cheat by constantly strafing to avoid the field and voids your score. (The game title screen) (The game during play) (Gameover when your health runs out or you’re caught cheating) (Don’t even try to cheat, it knows!) (The high score screen after gameover before it returns to the title screen)
Like any good watch should have, this watch has a trusty stop watch that can time hours and goes down to thousandths of a second. It can be left running behind other faces or apps, and the blue indicator LED flashes when the timer is timing in the background. When you return to the stopwatch face, the light turns off.
After you’ve set the time from the computer automatically when you program the watch, if you’re traveling or notice the time is off for any reason, you can scroll to the time setting option, and select a digit of the time to change with the left and right button, and increment it with the center button. Once the time and date is correct, scroll to save, and save the new information.
(In the case I’ve found for mine)
Length (body): 42.26mm
I have had so much fun with this project and wear it everyday on my wrist. It gets commented on by everyone I meet and it’s a great conversation starter! I have plans to improve the case quality with a 3d printed custom fitting case to enclose it completely and have received requests to sell this both as a kit and built up. I’d love to see in the comments below or through the contact page if people are interested, and if you have any questions, do the same and I’ll add them to the FAQ section. Check out my latest color smartwatch project here. It makes use of a 1.5″ color OLED display, sd card, bluetooth low-energy capability, and uses all the combined experience I’ve gained from all the watches that I’ve made. I hope you’ve enjoyed this project and are either inspired to make something yourself or share this with others to spread the word. Good luck, and happy making! -John Wall
The watch here is v4.2, but as of late 2014 I’ve improved the design to a v4.3. This updated version has complex power management that puts the processor to sleep and enables the watch to last 3 full weeks on a single charge, accurate temperature sensing, a thinner construction, and a neater layout! The files for v4.3 can be found below. It looks generally the same, but can only be woken up by the center button, a minor change in functionality.
ATMEL – Walltech SmartWatch tick-tocks with Atmel http://wp.me/p2PiXc-2SU
ADAFRUIT, OSHPARK, ELECTRONICS LAB, EMBEDDS, TINDIE, PCBHEAVEN…
Bre Pettis, CEO of Makerbot Industries on Instagram:
- All hardware and software can be found on Github!
This project is open source! To learn what on earth that means, head over to “What is open source?”
The WΛLLTΞCH OLED Watch by WΛLLTΞCH Electronics is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
WΛLLTΞCH images and logos by WΛLLTΞCH Electronics are licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.