How to Make a Mini Smart Watch

This guide walks you through building your own mini smart watch using accessible components and beginner-friendly tools. You’ll learn circuit assembly, programming, and case design to create a functional wearable device.

Key Takeaways

  • Choose the right microcontroller: An ESP32 or Arduino Nano 33 BLE is ideal for compact, low-power smart watch builds.
  • Use a small OLED display: A 0.96-inch I2C OLED screen provides clear visuals while saving space and power.
  • Power with a LiPo battery: A 3.7V lithium polymer battery offers long life and fits easily in tiny enclosures.
  • Solder carefully and test often: Precision soldering and frequent testing prevent costly mistakes and ensure reliability.
  • Program with Arduino IDE: Use free, user-friendly software to upload code and customize watch features.
  • Design a 3D-printed case: Custom enclosures protect components and give your watch a professional look.
  • Start simple and upgrade later: Begin with time and notifications, then add sensors like heart rate or GPS.

Introduction: Build Your Own Mini Smart Watch

Have you ever wanted a smart watch that’s truly yours—designed, built, and programmed by you? Making a mini smart watch is a fun, rewarding project that blends electronics, coding, and creativity. Whether you’re a student, hobbyist, or tech enthusiast, this guide will show you how to build a functional wearable device from scratch.

In this step-by-step tutorial, you’ll learn how to assemble a compact smart watch using affordable components like a microcontroller, OLED screen, and rechargeable battery. We’ll cover everything from selecting parts to soldering circuits, writing code, and designing a custom case. By the end, you’ll have a working smart watch that displays time, receives notifications, and maybe even tracks your steps.

Don’t worry if you’re new to electronics—this project is beginner-friendly. With basic tools and a little patience, you can create something impressive. Let’s get started on your DIY smart watch journey!

What You’ll Need: Tools and Components

Before diving in, gather all the necessary tools and parts. Having everything ready will make the build smoother and more enjoyable.

How to Make a Mini Smart Watch

Visual guide about How to Make a Mini Smart Watch

Image source: cdn.shopify.com

Essential Components

  • Microcontroller: ESP32 or Arduino Nano 33 BLE (both support Bluetooth and have low power consumption)
  • Display: 0.96-inch I2C OLED screen (128×64 pixels, lightweight, and easy to interface)
  • Battery: 3.7V 300mAh–500mAh LiPo (lithium polymer) battery with a JST connector
  • Charging Module: TP4056 LiPo charger board (protects battery and enables USB charging)
  • Buttons: Two tactile push buttons (for navigation and selection)
  • Resistors: 10kΩ pull-down resistors (for button stability)
  • Wires: Jumper wires or thin enameled wire for compact connections
  • PCB or Perfboard: For mounting components (optional but recommended)
  • 3D-Printed Case: Custom-designed enclosure (we’ll cover this later)

Tools Required

  • Soldering iron and solder
  • Wire strippers and cutters
  • Multimeter (for testing connections)
  • Hot glue gun or epoxy (for securing components)
  • Computer with USB cable (for programming)
  • 3D printer (or access to one via online services)

Optional Add-Ons

  • Heart rate sensor (e.g., MAX30102)
  • Accelerometer (e.g., MPU6050 for step counting)
  • Vibration motor (for silent alerts)
  • GPS module (for location tracking)

Pro Tip: Buy components from reputable suppliers like Adafruit, SparkFun, or Amazon. Check compatibility before purchasing—especially voltage and pin layouts.

Step 1: Design Your Circuit

The first step is planning how all components will connect. A well-designed circuit prevents short circuits and ensures reliable performance.

Understand the Connections

Your smart watch will have three main parts: the microcontroller, display, and power system. Here’s how they connect:

  • The ESP32 acts as the brain. It processes data, runs the clock, and communicates via Bluetooth.
  • The OLED display connects via I2C (uses only two wires: SDA and SCL).
  • The battery powers everything through the charging module, which regulates voltage.
  • Buttons connect to GPIO pins with pull-down resistors to avoid floating signals.

Draw a Schematic

Sketch a simple circuit diagram on paper or use free software like Fritzing. Label each component and connection. This helps you visualize the layout and catch errors early.

Example connections for ESP32:

  • OLED SDA → GPIO 21
  • OLED SCL → GPIO 22
  • Button 1 → GPIO 15 (with 10kΩ resistor to GND)
  • Button 2 → GPIO 13 (with 10kΩ resistor to GND)
  • Battery → TP4056 input
  • TP4056 output → ESP32 3.3V and GND

Note: The ESP32 runs on 3.3V. Never connect 5V directly—it can damage the board.

Step 2: Assemble the Circuit

Now it’s time to bring your design to life. Careful assembly ensures your watch works reliably.

Solder the Components

  1. Prepare the perfboard: Cut it to size and clean the copper side.
  2. Mount the ESP32: Place it in the center. Solder pins securely.
  3. Attach the OLED: Connect SDA to GPIO 21 and SCL to GPIO 22. Also connect VCC to 3.3V and GND to ground.
  4. Add the buttons: Solder each button between a GPIO pin and ground. Use 10kΩ resistors from the GPIO pin to ground.
  5. Install the charging module: Connect the battery to the B+ and B- terminals. Link the OUT+ to ESP32 3.3V and OUT- to GND.

Use Thin Wires

To save space, use 30 AWG enameled wire or flexible jumper wires. Keep connections short and neat. Avoid crossing wires unless necessary.

Test Continuity

Use a multimeter to check for shorts between power and ground. Also verify that each connection is complete. Fix any loose joints before moving on.

Pro Tip: Add a small capacitor (100µF) between 3.3V and GND to stabilize power and reduce noise.

Step 3: Program the Smart Watch

With the hardware ready, it’s time to upload code and bring your watch to life.

Set Up Arduino IDE

  1. Download and install the Arduino IDE.
  2. Open the IDE and go to File > Preferences.
  3. In the “Additional Boards Manager URLs” field, add:
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
  4. Go to Tools > Board > Boards Manager, search for “ESP32”, and install the package.
  5. Select your board: Tools > Board > ESP32 Dev Module.
  6. Choose the correct port under Tools > Port.

Install Required Libraries

Your code will need libraries for the OLED display and time functions.

  • Go to Sketch > Include Library > Manage Libraries.
  • Search for and install:
    • Adafruit SSD1306
    • Adafruit GFX Library
    • RTClib (for real-time clock)

Write the Code

Here’s a simple sketch to display time and respond to button presses:

#include 
#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);

RTC_DS1307 rtc;

const int buttonPin1 = 15;
const int buttonPin2 = 13;

void setup() {
Serial.begin(115200);
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);

if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println("OLED failed");
for(;;);
}

if (!rtc.begin()) {
Serial.println("RTC failed");
for(;;);
}

display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0,0);
display.println("Mini Smart Watch");
display.display();
delay(2000);
}

void loop() {
DateTime now = rtc.now();

display.clearDisplay();
display.setCursor(0,0);
display.print("Time: ");
display.print(now.hour(), DEC);
display.print(":");
display.print(now.minute(), DEC);
display.print(":");
display.println(now.second(), DEC);

display.setCursor(0,20);
display.print("Date: ");
display.print(now.day(), DEC);
display.print("/");
display.print(now.month(), DEC);
display.print("/");
display.println(now.year(), DEC);

if (digitalRead(buttonPin1)