Does this project spark your interest?

Become a member to follow this project and don't miss any updates


A BT 4.0 fitness-tracking smart watch for Android+iOS with a 1.5" color OLED display, SD card, NFC, wireless charging, and precision IMU

13 114 80
Enjoy this project?
Share on twitter   Share on Facebook

This project was created on 06/04/2014 and last updated a day ago.

You may have seen any of the smart watches on the market today and thought, "that's way too expensive," or "I wish this feature was customizable," or "darn, I need an android phone for that." If so, look no further! Sporting a beautiful 1.5" full color OLED display with micro SD card slot, QI charging, NFC, altimeter, thermometer, compass, gyroscope, accelerometer, pedometer, and full Android/iOS bluetooth 4.0 low energy capability for receiving phone notifications, my Arduino compatible smart watch does it all. Ever wanted a smart watch that you could customize to the core? Use with Android and iOS? Build yourself? Trust is fully open source? From the experience I've gained building my previous generation OLED watch, I have set out on an engineering journey, determined to build my own smart watch, the best smart watch.

MAKE MAGAZINE - The Open-Source Smartwatch Built by a Teenager:

The majority of the project's info and progress will be detailed in the project logs below, check them out!

If you follow, don't forget to give a skull to show you liked it too!


  • 1.5" 128x128 (121 PPI) Color OLED display
  • iOS/Android Compatibility
  • Full BTLE 4.0
  • Expandable SD card storage
  • Wireless QI charging
  • NFC
  • 10cm Accurate Altimeter
  • Barometer
  • Thermometer
  • Compass
  • Gyroscope
  • Accelerometer
  • Pedometer
  • Vibration Motor
  • 500mah Lithium Ion Rechargeable Battery
  • Arduino Compatible (Leonardo)
  • Open Source!

                                                               System Design

                                                      Semifinals Judging Criteria

  • 1 × IMUduinoBTLE The latest from Femtoduino, the IMUduinoBTLE uses an atmega32u4 from Atmel bootloaded as an Arduino Leonardo and a Nordic nRF8001 bluetooth 4.0 low energy chip and support components to connect to compliant devices and receive notifications for the watch. It’s tiny size and low power consumption make it perfect for use in this low power application. Now with an on board IMU, the IMUduinoBTLE has 10 DOF IMU incorporating a 10cm accurate barometer/altimeter, 6-axis digital compass, and 3-axis gyroscope/accelerometer, enabling complex motion and the precise altitude to be implemented by the user!
  • 1 × 1.5″ full color OLED display with onboard microSD card slot from Mike Rankin A step up from the monochrome .96″ OLED display of v4.2, this screen also consumes very little power thanks to the OLED technology behind it and can show beautiful images that will be the GUI for the smart watch. Now that there’s an sd card on board, I can use fancy graphics and make it look professional and keep the code to the microcontroller, enabling more to be coded instead of storing images too.
  • 1 × 3D Pedometer Module from Nicerf This tiny, tiny module will connect to the watch’s I2C lines as the DS1307 does, and counts steps using a tiny accelerometer and buffer memory. It’ll be used to add fitness tracking capability to the watch and in conjunction with the phone app, keep track of calories burned and activity levels! Oh, and did I say this thing was tiny?
  • 1 × Samsung NFC Tec Tile An advanced NFC tag that when placed under the OLED screen's glass, will allow users to scan the watch with their phones and automatically connect themselves to it via bluetooth, and open up a web page with documentation and source code!
  • 1 × QI Inductive Power Receiver Made for the Galaxy S5, this small card with an embedded coil receives up to 750ma at 5V from a QI compatible base station to charge the watch's lithium ion battery wirelessly.
  • 1 × DS1307 RTC A trusty real time clock, forms the backbone of the timekeeping functionality a watch is useful for.
  • 1 × MCP73831 Charge Controller Charges the battery and provides charge status information.
  • 1 × 500mAh Lithium Polymer Battery The battery that powers the watch. With how things are looking, an 18-24 hour battery life is to be expected.
  • 1 × Flickable Side-Mounted Selector Switch
  • 1 × Vibration Motor for notifications

Project logs
  • Latest GUI Test

    7 days ago • 1 comment

    I've evolved my GUI design to what's shown below. This screen will animate as the main menu when the side button is pressed. When the watch is tilted to view, it'll show your preselected watch face, but if at any time you press the side button in, it'll go to this menu with your wallpaper and give you information about the temperature, if you have notifications, your battery and bluetooth state, and things like that. You can then scroll up or down to read notifications or see sensor data!


    10 days ago • 0 comments

    The day has come... My smart watch prototype works! It turned out I hadn't switched some of the pin assignments in arduino from my testing rig over to the new pins, so after some more tracing, the OLED is working along with everything else on the board! Success! Now I have hardware to play with, I can work on some software and trimming down all the libraries for maximum space. I'll also make my own fonts and store them on the sd card as they take up WAY too much space in flash. I've gotten emails back from help sources about the companion app, and should have it done soon. This is shaping up to be an awesome project!

  • Quick Update

    13 days ago • 0 comments

    After testing showed the OLED io pin choices would work, and I was fully confident in assembling the prototype, the second I sat down to assemble it, the microSD card fell out of its slot, and I discovered the mechanism no longer worked. Two weeks ago, Mike was kind enough to send some replacement card slots for me to repair it with, but they've been lost in the mail, and so two more are coming via air and I hope they arrive shortly. That aside, during these weeks, I've made great progress on the firmware and android companion app, but have reached a point where I need help as detailed here: With less than two weeks left, if my sd card slots come in time, I'm confident I'll have a functional prototype, and with the code I've written and tested so far, it should be enough to meet the deadline requirements. I'll do some CAD and mock up another "artists render" of what it will look like, and will polish up the documentation here to best support the guidelines.

View all 26 project logs


Mark Jeronimus wrote a month ago null point

Oh another promising watch. I LOVE THIS TOO. I was searching for smart watches that I can program on and came back empty every time. The Pebble doesn't multitask, the TI doesn't have matrix display, the WIMM, Sony, i'm Watch and others don't have enough buttons, are Android (overkill) or don't last long (not to mention that I can't verify my specific requirements without hands-on experience)

I want a wrist-device with RTC (doh), matrix display that's always on (even when stationary), easily programmable, lasts 20 hours on a charge, and at least four buttons (for up, down, enter and back). Will yours be able to do this once finished?

Are you sure? [yes] / [no]

Walltech wrote a month ago null point

Most certainly! The 500mah battery should give it plenty of run time according to rough calculations and rounding up, but I'll test it for sure when it's complete, and it's a fully featured Arduino Leonardo so the convenience and community surrounding the Arduino microcontroller is at your disposal. The flick switch on the side has an up down and push in state, and with the on board accelerometer, a tap on the screen will be the fourth 'select' state. The reasoning you cited is half of why I've created this watch, the other half being the fun of planning designing and building it, I'm glad you like it. This watch is also cross compatible with iOS and Android to, so unlike every other smart watch in existence, anyone with either device can develop and use the full feature set of the watch as well as the unique features you've pointed out.

Are you sure? [yes] / [no]

Mark Jeronimus wrote a month ago null point

That's great. Although I really want the rock switch to do enter and have a separate microswitch on the left or something (not the same height to prevent pushing both at the same time). I own the same rock switch btw, salvaged from an USB MP3 player.

We really need people your age! I bet you're getting a lot of eyes because what you're doing is not typical for people your age, but when I was about 14 I started hacking together lots of stuff and studied boolean logic, digital signal processing and 3D raytracing, which are normally advanced college courses. When I grew older I stayed the same geek but with increasingly many ideas and less time on my hands I could barely finish any project anymore, and after even more time the motivation for starting projects got lost altogether.

Are you sure? [yes] / [no]

Walltech wrote a month ago null point

I've definitely gained much attention with this project, Make: interviewed me and wrote an article, and my website and twitter have been exploding with curious and very supportive people. I'm warmly appreciative of all the support that I've received and am genuinely happy and excited so many in fact are interested. Watch this space for a prototype very soon!

Are you sure? [yes] / [no]

Jared Sanson wrote a month ago null point

Nice project, I too am building my own OLED smart watch :)
What kind of battery life do you get?

Are you sure? [yes] / [no]

Walltech wrote a month ago null point

I don't have an assembled prototype as of right now, that'll change very shortly, and one of the things to test is power consumption and battery life. It should definitely last over a day with 500mah, it's probably closer to 2 or 3.

Are you sure? [yes] / [no]

Shraavan Bandaru wrote 3 months ago null point

I am really impressed with your project! Are planning to add a touchscreen to your watch?

Are you sure? [yes] / [no]

Walltech wrote 3 months ago null point

Hello! Thanks for the interest! At the moment, no, I'm not planning to add a touch screen as I haven't worked with one before and so it wasn't a part of the design process. The 3 way switch is spring loaded, tactile, and feels good to casually flick up and down, and is in the perfect position on the watch to place your thumb on the left side, your middle finger in the middle of the switch's side, and actuate the switch with your index finger. Add a flowing UI and the switch should be more than enough and as simple as a touch screen to use. I have thought about it, but I'm not quite sure if they're made to my size or how to support them with arduino in hardware or software. Thanks for your question!

Are you sure? [yes] / [no]

Walltech wrote 3 months ago 1 point

As now that the watch has such an incredibly accurate 9 DOF IMU, I scan detect taps on the screen with the accelerometer and use the spring switch to swipe up and down. You could tap on the sides of the watch to navigate that way too. Tilting to scroll when the watch is awake, anything really. You could hold a magnet and use it as a stylus with the magnetometer, there are an incredible amount of features I can make use of, and you can too with the open source code!

Are you sure? [yes] / [no]

Jasmine wrote 4 months ago null point

You should still submit it asap as community voting starts soon. It doesn't have to be finished at this point. We want to see the evolution through the project logs. Hope you have a great time on your holiday.

Are you sure? [yes] / [no]

Walltech wrote 4 months ago null point

I'm looking for a way I can print and scan the form where I am. I would hate to miss out on entering before voting starts.

Are you sure? [yes] / [no]

Jasmine wrote 4 months ago null point

Hello Walltech, I'm really impressed with your project. Can't wait to see it develop over the summer.

btw - we've updated the submission process for The Hackaday Prize, so if you want to *officially* enter this project - login and use the 'submit to' under your project images on the left hand side.

Also, we're starting community judging shortly, so now is the time to make sure you've added info to the project so people can see why you should win The Hackaday Prize. You might also like to add a few more details to your profile page, so we can get to know you better.

Got any questions? Give me a shout. Good luck

Are you sure? [yes] / [no]


[this comment has been deleted]

Walltech wrote 4 months ago -1 point

Thanks for your interest! I won't have access to a printer/scanner for two more weeks as I'm on vacation, and as soon as I get back, I'll be officially entering the contest with the form. I'll be sure to apply your advice to the project page too! Thanks!

Are you sure? [yes] / [no]