nWatch - build and program your own smartwatch

Document created by Wasilewski.Piotr on Jan 15, 2017Last modified by Wasilewski.Piotr on Jan 15, 2017
Version 2Show Document
  • View in full screen mode


The aim was to build a development board shaped as a wristwatch. This form of a kit is much more attractive, because It's not only a tool for developing your programming skills. It is also a complete device that you can wear every day, and impress your friends J Besides, you can focus on the software part, because the hardware is fixed on the PCB. Unlike any other kit it has a built in li-po battery, and can be charged and programmed using only one cable.
nWatch is really well equipped when it comes to internal peripherals. Below I present a full list of main components:
- Main controller STM32f407ZGt6 
- External 4MB SRAM memory
- Nokia 6300 LCD with touch panel
- Micro sd card 
- Mp3 decoder 
- Position sensor set
- Bluetooth 4.0
- USB and SWD connector
- 3 physical buttons 
- RTC clock
Of course there are some more - a li po charger, main step-down converter, backlight converter, touch controller.  In the attachment you can find a full schematic.  
I decided to add a feature of turning the device on in 4 ways. As you can see in the schematic the buck converter has an enable pin. This pin requires a positive voltage to turn on the converter, and thus the main controller. First and the most obvious way is the button. If you press it the voltage enables the pin, and from now on the CPU_ON line form the STM32 powers the EN line. If I want to put the converter back to sleep I have to put 0 on CPU_ON line. Second way is from the MPU6050. Enable line is connected to the interrupt of the sensor. The same thing goes with Bluetooth and RTC clock. However these two give an inverted signal ( 0 when active ) that is why there are transistors on these lines. Basically this is the „power management” of nWatch.
I added a voltage divider, with a feature of turning it on and off ( in sleep mode ), so that you are able to measure the battery voltage.
I think that was the most tricky part of the schematic. The rest are just other IC’s with their passive components.


I mentioned earlier that nWatch is a development board, so how does it look like from the software side ? Of course you are able to make everything you want, but I've made some libraries easier to adapt to this device.
-Stemwin, a graphic library is used to run the lcd. It looks really professional, and the library itself is very well documented ( and supported by ST). 
-FreeRTOS, a real time operating system library. It is used as a basic operating system. If you are making a more complex project it is a necessary thing. 
-FATFS - well known library by elm-chan, which is used to communicate with the SD card. 
- libjpg/ tjpgdec - libraries used for decoding jpeg images
- and many more for hardware control


The Team :

Peter WasilewskiHardware designer & programmer nickname: wasilewski.piotr  email: piwasilewski@interia.pl

Things used in this project:

Hardware components :

I won't list all the components here because it wouldn't make any sense. Instead I'll just post a full BOM so that every part is present. Besides that there's also the case. It's 3d printed, and I'll attach the *.stl files as well as *.par files from Solid Edge. Of course you'll need a belt, so let me just leave a link to aliexpress auction  

Hand tools and fabrication machines :

If we are talking about machines and tools it depends whether you want to make the pcb yourself. If so, you'll need more tools & chemical substances. However I do not recommend making the pcb to people who have just started with electronics etc. The pcb has small spacings between components and traces, which makes it quite hard to manufacture. Now to the point : you'll definitely going to use a soldering iron and some tweezers,  hot air station is also very useful for mlf IC's . These are the main tools used for the assembly of main board. If we move to the case you'll need a screwdriver and a 3d printer with a nozzle size 0.2-0.4mm. I think that's all  

Software Tools :

I've spend a lot of time searching for the right environment and I've finally came across Coocox. It's Eclipse- based, without any code size limitation. All the files and the coocox project is available to download on my github repository: GitHub - klonyyy/nWatchv2 


The whole story of nWatch started a few years back. I decided to build a cheat-watch for exams in my school. It was very popular among my friends that time and I used to receive feedback from them. I realized that it's not only a cheat, but also a great development platform. I learned the basics of programming using that device.

This project is the third version of my smartwatch series. Based on many opinions and suggestions I decided to build a touch, more powerful watch using STM32 microcontroller.

I think it's a better way of exploring digital world - on a smartwatch instead of a big unhandy PCB with many cables. I hope some day I will be able to see these watches on peoples' wrists


My google drive folder with all the files. If you'd like to make it yourself, please contact me first  

nWatch_STM32_forum - Google Drive 

Other links to my project (maybe you'll find something interesting in the comments) :

nWatch - build and program your own smartwatch [160326] - Elektor LABS 

nWatch • Hackaday.io 


And a quick gallery :


inside of the watchdry film method of making pcb'snew and old watch



In the end I'd like to thank you for bearing with me through this article. I hope you liked the project, and have one little request. Below you'll find a link for a quick form. It will help me to develop nWatch and adjust to your needs. It'll only take 3 minutes :




3 people found this helpful