How to Make Arduino Smartwatch With Custom PCB

29,021

218

30

Introduction: How to Make Arduino Smartwatch With Custom PCB

About: I am Aarav Garg. I am 15y/o. I have a keen interest and passion for robotics and programming. I am the Founder of Tech Nuttiez, a startup that aims to educate the youth globally on technology! I am currently p…

Hi all, in this instructable you will see how a smartwatch can be made using an Arduino board and a few other components. We are going to design and get a custom PCB fabricated which will be the motherboard of our watch housing the main circuit and the brain of the watch ATmega 328P which we will salvage from an Arduino Nano board.

I have chosen the Arduino Nano and not the more commonly used Arduino UNO because the Nano features a Surface Mount chip so it's much more compact and in this project, space is key because we need to fit all the components in the least space possible.

I am going to use a 160 mAh Li-Po (Lithium Polymer) battery which will easily be able to power the watch on regular use for at least a week which is quite good enough. We will use a USB battery charging module for charging the battery. This will also have a USB port in it to charge the battery!

I have designed the body of the watch in a 3d design software and you can easily get it 3d-printed anywhere. This was we can keep the watch completely personalised according to your need. The watch will be activated by using a push-button present at the side of the watch.

The watch will have Bluetooth functionality and will be connected to an app that can be used to track data. It can count the steps, distance and the calories burnt using an accelerometer module. With the same components and in some iterations in the code and the app, we can also easily track messages and calls received on the phone through the smartwatch! The watch will also have a heart rate measuring sensor in it which will be able to measure your pulse and I have tried it out. It's pretty accurate!

This was a little info about the project that we are going to work on. So let's begin.

Subscribe on YouTube for more updates!

Step 1: Gather the Components

Components:

  • Arduino Nano
  • DS1302 Real Time Clock Module (Only the DS1302 chip needed)
  • TP4056 Battery Charging Module
  • ADXL335 Accelerometer Module
  • 100K Value SMD Resistor
  • 10K Value SMD Resistor
  • Pulse Sensor
  • USB to TTL Interface (For programming the ATmega 328P)
  • 0.96 inch OLED Display
  • HM-10 Bluetooth Module

Tools:

  • Soldering Iron
  • Hot Air Soldering Station (for self-assembly)
  • A Set of Precision Tweezer Set (optional - makes picking components easy)
  • 3D Printer (optional - can get it third-party 3D printed)
  • Precise Soldering Wire

I always prefer Quartz Components for buying electronic components in India!

Step 2: Why Custom PCB

We can clearly see here that if we were to use the components as it is then it would look like you are carrying a big box on your wrist and I definitely don't think that is a great idea! Also, it would be a tedious work connecting the modules together inside that little area.

Thus building a custom PCB is the best option we got at this point in time. We can eliminate the use of any wires and also can eliminate all the unnecessary components of these modules and salvage the components that we need from these boards and put all of them in one single board.

I will attach the schematic diagram in this instructable and also the Gerber files of the PCB so you can even modify the PCB design based on your needs.

Step 3: Schematic and PCB Design

I have designed the schematic in a way that we utilise only the required components from all the modules and eliminated all the redundant or unnecessary components from the modules. I have attached the schematic diagram of the PCB in the instructable so you can have a look and change it according to your needs. I have also attached the PCB designs that I made here so you can modify them as well!

The schematic has the schematic of the Arduino board embedded in it so what we need to do is just salvage all the components of the Arduino Nano board and just resolder them here. You can also get your PCB assembled by various companies as many PCB fabricating companies even offer assembly services!

PCB Gerber - Link to the Gerber files of the PCB which you can import into any PCB design software and edit them according to your needs.

Step 4: Stacking the Components

The components that will finally go in our smartwatch body are:

  • OLED Display
  • Custom PCB
  • Bluetooth Module
  • Battery Charging Module
  • Heart Rate Sensor
  • Small Push Button

It is important to note here that you must not expect our watch to be sleek like an apple watch! It will be quite big in size because we are not designing an industry-grade smartwatch because industry-grade smartwatches would never use an Arduino board. They have microprocessors that have Bluetooth, fitness tracking inbuilt in them eliminating most of the other modules! This smartwatch is just a prototype and it is a simple demonstration of the capabilities of the Arduino board and if you want to show off your geek creations you can indeed wear it to school 😛. Next, we move on to the body of the watch where all these components will be housed!

Step 5: Body of the Smartwatch

Now we have to design the body of the smartwatch. I have made a very easy design in a 3D design software and you can obviously get your hands dirty and make your own design for the body of the smartwatch! I wanted to give it a different look so I did not even curve the edges and am making it in a simple cuboidal shape. I have attached my designs for you to check out. You can even use the same designs. I will add the design files in the description below.

There are four cutouts in the design for:

  • The Display
  • The Push Button to power the watch
  • The Pulse Sensor
  • Charging USB port

There are also two small protrusions on the side of the watch for the straps. You can use any straps on the watch that have a similar mechanism. The watch body has two pieces. It has a top piece which has 5 sides and a bottom plate which I have designed in a way that it can snap-fit to the top piece very easily and there is no need of glueing or taping anything so it looks cleaner.

In the images I have attached below, you can see two parts. The red piece is the top piece and the black piece is the bottom one.

3D Design Files in .obj format

Step 6: Workflow of the Watch

We obviously cannot keep the watch powered for all the time because we need to preserve battery at all costs. So for that what we will do is we will use a self-kill method in which we will programmatically tell the Arduino to get disconnected from the power source. So when the user presses the power button it will automatically go off after a designated time, say 5 seconds. This way we can get the watch to function seamlessly!

You might think that if the watch keeps killing the power continuously then how will the Arduino board retain the step-tracking data! For that, I have a great solution to offer. What we will do here is that we will be using an ATtiny85 chip that uses very little power and we will keep that powered forever while barely consuming any battery! We will also connect the accelerometer module to the ATtiny chip so it keeps tracking the steps forever and whenever the Arduino board is powered it will ask the ATtiny board for all of the data. This is a great technique to keep only a part of the watch functioning all the time instead of the whole watch itself!

Using the accelerometer module we will track steps and using these we will calculate the distance travelled. Using all this data we can easily programmatically calculate the calories burnt by the person and when we connect the watch to the smartphone using Bluetooth we can use an app to view all the data or also view the data in the watch itself.

Step 7: The Code for the Smartwatch

Now we come to the most important part of the process and that's coding the smartwatch. This won't be tough in our scenario because it is just a static device and there is no mechanics involved which already makes the Arduino coding 90% easy!

For now, I have not completely written the code of the smartwatch so I insist you to try out for the code yourself and if the algorithms and the code work out then I'll surely feature your entries in the instructable. This will make the entire process more interactive and that is how it should be.

I will surely include a version of my code in the future iterations so stay tuned! Good Luck!

Subscribe for more updates on YouTube!

PCB Challenge

Participated in the
PCB Challenge

Be the First to Share

    Recommendations

    • 3D Printed Student Design Challenge

      3D Printed Student Design Challenge
    • Paint Challenge

      Paint Challenge
    • Reclaimed Materials Contest

      Reclaimed Materials Contest

    30 Comments

    0
    Fotosettore
    Fotosettore

    10 months ago

    It is a good rule to finish projects and then publish them, both for the reputation of the maker and the hosting site.

    0
    JHelbert
    JHelbert

    Reply 3 days ago

    I have also been waiting for the project for 10 months, I find it interesting, I agree with your comments Fotosettore

    0
    Aarav G
    Aarav G

    Reply 10 months ago

    Will do that

    0
    sksharmila687
    sksharmila687

    10 months ago on Introduction

    can we detect the emotions of a person using this type of smart watch like angry, happy, anxiety, sorrow, tensed, hunger like that suggestions required from any one.... with the models if any

    0
    Aarav G
    Aarav G

    Reply 10 months ago

    Currently the watch does not have this feature!

    0
    Upek Hansaja
    Upek Hansaja

    Question 10 months ago on Step 7

    It could be great !! Please send the code as soon as possible ...

    0
    Aarav G
    Aarav G

    Answer 10 months ago

    Sure, also some ammendments coming up on the watch soon! Stay tuned!

    0
    Upek Hansaja
    Upek Hansaja

    Reply 10 months ago

    Great !! I will Stay Tuned !!!
    Well Done !
    0
    JohnC430
    JohnC430

    10 months ago

    Very nice. Thanks for sharing. However I noticed that there is something weird going on with the schematic of Q1. the drain is going to ground etc. just crap. Is your pcb also following this schematic?

    0
    Aarav G
    Aarav G

    Reply 10 months ago

    That is a weird kind of circuit because it is an Arduino self power kill circuit

    0
    rudyauction509
    rudyauction509

    10 months ago

    This is awesome! Following for the finished product. I’ve been considering trying something similar using an ESP32, the dual cores and built in WiFi and Bluetooth could be handy for building a full featured smart watch over time.

    0
    Aarav G
    Aarav G

    Reply 10 months ago

    Sure! Stay tuned!

    0
    Albatros_DV
    Albatros_DV

    10 months ago

    Are you able to supply the custom PCBs?

    0
    Aarav G
    Aarav G

    Reply 10 months ago

    I will not be able to supply the PCBs, though I can give you the exact Gerber files of the PCBs or the schematic so you can directly upload it to any PCB fabrication site and get it fabricated at very cheap rates! Stay tuned for more updates!

    0
    GeorgeDomotico
    GeorgeDomotico

    10 months ago

    Nice, I want it :-), is a kit ready to buy?

    0
    Aarav G
    Aarav G

    Reply 10 months ago

    It is not really available as a kit, but I will update the instructable within 15 days or so with a full finished end product of the project and how you can totally make it from start to end! Stay tuned!

    0
    bqbowden
    bqbowden

    10 months ago

    I assume by the design of the case, the display will be square - is there a round display available? I do not see many which are. My personal preference are "classic" round watches and would love a chance to build one with a round display. Look forward to seeing what your finished watch looks like.

    0
    Aarav G
    Aarav G

    Reply 10 months ago

    Thanks for the info buddy!

    0
    Aarav G
    Aarav G

    Reply 10 months ago

    That did not come to my mind. Though that is a very good idea. Maybe it would be a nice build.