How to Make Smart Watch Using Arduino

Build your own smart watch using Arduino with this detailed DIY guide. We’ll walk you through selecting components, assembling the hardware, writing code, and customizing features like time, notifications, and sensors—perfect for hobbyists and tech enthusiasts.

Key Takeaways

  • Choose the right Arduino board: The Arduino Pro Mini or Arduino Nano 33 BLE is ideal for compact, low-power smart watch builds.
  • Use a compatible display: A 0.96-inch OLED screen offers clear visuals and low power consumption for wearable projects.
  • Integrate essential sensors: Add an accelerometer, heart rate sensor, or temperature module to expand functionality.
  • Power with a rechargeable battery: A 3.7V LiPo battery with a charging circuit ensures long-lasting, portable operation.
  • Write efficient Arduino code: Use libraries like Adafruit_GFX and Wire to control the display and sensors with minimal code.
  • Design a wearable case: 3D print or craft a custom enclosure to protect components and improve comfort.
  • Test and troubleshoot step-by-step: Verify each component before final assembly to avoid common errors.

Introduction: Build Your Own Smart Watch with Arduino

Imagine wearing a smart watch you built yourself—customized to your style, packed with features, and powered by Arduino. Sounds exciting, right? With the right components, some coding knowledge, and a bit of patience, you can create a fully functional smart watch using Arduino. This guide will walk you through every step, from choosing parts to uploading code and assembling your wearable device.

Whether you’re a beginner or an experienced maker, building a smart watch is a rewarding project that combines electronics, programming, and design. You’ll learn how to integrate sensors, display data, manage power, and even add Bluetooth for smartphone connectivity. By the end, you’ll have a unique piece of wearable tech that’s truly yours.

In this guide, we’ll use the Arduino platform because it’s beginner-friendly, widely supported, and compatible with a huge range of sensors and displays. We’ll focus on a practical, wearable design that’s compact, energy-efficient, and customizable. Let’s get started!

What You’ll Need: Components and Tools

Before diving into the build, gather all the necessary components and tools. Having everything ready will save time and reduce frustration during assembly.

How to Make Smart Watch Using Arduino

Visual guide about How to Make Smart Watch Using Arduino

Image source: europe1.discourse-cdn.com

Essential Components

  • Arduino Board: The Arduino Pro Mini (3.3V, 8MHz) is a great choice due to its small size and low power usage. Alternatively, the Arduino Nano 33 BLE offers built-in Bluetooth and more processing power.
  • OLED Display: A 0.96-inch I2C OLED screen (128×64 pixels) is perfect for showing time, notifications, and sensor data. It’s lightweight and consumes little power.
  • Lithium Polymer (LiPo) Battery: A 3.7V, 300–500mAh battery provides enough power for several hours of use. Choose one with a JST connector for easy charging.
  • Battery Charging Module: The TP4056 module safely charges your LiPo battery via USB and protects against overcharging.
  • Push Buttons: Two or three tactile buttons allow navigation (e.g., menu, back, select).
  • Accelerometer (Optional): The MPU-6050 sensor adds motion tracking, step counting, and gesture control.
  • Real-Time Clock (RTC) Module (Optional): The DS3231 keeps accurate time even when the watch is powered off.
  • Perfboard or PCB: For soldering components into a compact layout.
  • Jumper Wires and Soldering Kit: For connecting components securely.

Tools Required

  • Soldering iron and solder
  • Wire cutters and strippers
  • Multimeter (for testing connections)
  • Hot glue gun (for securing components)
  • 3D printer or crafting materials (for the case)
  • Computer with Arduino IDE installed

Optional Add-Ons

  • Heart rate sensor (e.g., MAX30102)
  • Temperature sensor (e.g., DS18B20)
  • Bluetooth module (e.g., HC-05 or built-in on Nano 33 BLE)
  • Vibration motor (for alerts)

Once you’ve gathered everything, you’re ready to begin the assembly process.

Step 1: Setting Up the Arduino IDE

Before programming your smart watch, you need to set up the Arduino Integrated Development Environment (IDE) on your computer. This software lets you write, compile, and upload code to your Arduino board.

Download and Install Arduino IDE

Go to the official Arduino website (arduino.cc) and download the IDE for your operating system (Windows, macOS, or Linux). Follow the installation instructions.

Add Board Support

If you’re using an Arduino Pro Mini or Nano 33 BLE, you may need to add board support:

  • Open Arduino IDE.
  • Go to File > Preferences.
  • In the “Additional Boards Manager URLs” field, add: https://arduino.esp32.com/stable/package_esp32_index.json (for Nano 33 BLE).
  • Go to Tools > Board > Boards Manager.
  • Search for “Arduino AVR Boards” (for Pro Mini) or “ESP32” (for Nano 33 BLE) and install.

Install Required Libraries

Your smart watch will need several libraries to control the display, sensors, and communication. Install them via the Library Manager:

  • Go to Sketch > Include Library > Manage Libraries.
  • Search and install:
    • Adafruit_GFX
    • Adafruit_SSD1306 (for OLED)
    • Wire (for I2C communication)
    • RTClib (for DS3231 RTC)
    • MPU6050 (for accelerometer)

With the IDE ready, you can now start coding your smart watch.

Step 2: Wiring the Components

Now it’s time to connect all the components. Proper wiring is crucial for functionality and safety. We’ll use a breadboard for testing, then move to a perfboard for the final build.

Connect the OLED Display

The OLED screen uses I2C communication, which requires only four wires:

  • VCC → 3.3V on Arduino
  • GND → GND on Arduino
  • SCL → A5 (Pro Mini) or SCL (Nano)
  • SDA → A4 (Pro Mini) or SDA (Nano)

Wire the Push Buttons

Connect two buttons for navigation:

  • Button 1: One leg to digital pin 2, other leg to GND (use internal pull-up resistor).
  • Button 2: One leg to digital pin 3, other leg to GND.

Add the Battery and Charging Module

The TP4056 module handles charging:

  • Battery + → B+ on TP4056
  • Battery – → B- on TP4056
  • OUT+ → VCC on Arduino
  • OUT- → GND on Arduino
  • USB power → Micro USB port on TP4056

Optional: Connect the RTC Module

If using a DS3231:

  • VCC → 3.3V
  • GND → GND
  • SCL → A5
  • SDA → A4

Optional: Connect the Accelerometer

For the MPU-6050:

  • VCC → 3.3V
  • GND → GND
  • SCL → A5
  • SDA → A4

Double-check all connections with a multimeter to avoid shorts. Once wired, test each component individually before final assembly.

Step 3: Writing the Arduino Code

Now comes the fun part—coding your smart watch. We’ll start with a basic version that displays time and responds to button presses, then expand with sensors and features.

Basic Code: Display Time and Handle Buttons

Here’s a simple sketch to get you started:

#include 
#include
#include

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

const int buttonPin1 = 2;
const int buttonPin2 = 3;

void setup() {
pinMode(buttonPin1, INPUT_PULLUP);
pinMode(buttonPin2, INPUT_PULLUP);

if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
for(;;); // Stop if display fails
}
display.display();
delay(2000);
display.clearDisplay();
}

void loop() {
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0,0);
display.println("Smart Watch");
display.println("Press Button 1");

if (digitalRead(buttonPin1)