The wearable tech market is growing up like crazy. There are many kinds of wearables coming into the market from, fitness bands to smartwatches and more.
In this article, I am going to introduce some open source smartwatches which we can completely customize from the hardware to the software, that too compatible with our favorite language, Arduino!
Project Airframe – Powered By ESP32-S3
Project Airframe is an open-source smartwatch built for developers and tech enthusiasts who want complete control over the software and hardware. It features advanced sensors, wireless charging, GPS, and more, making it a flexible platform for experimenting with wearable technology. The project includes all the details you need to get started, such as hardware specs and software setup instructions. Visit the official GitHub repository.
Specifications
- Microcontroller: ESP32-S3 Dual Core (or NXP i.MX 8 Quad)
- Memory:
- 4MB RAM, 8MB Flash (for ESP32)
- 8GB DDR4 RAM (for i.MX 8)
- Display: 240×240 px touch display.
- Power Management: 5W wireless charging, battery fuel gauge, and power management IC.
- Sensors:
- Pulse Oximeter
- ECG 3 Lead Sensor
- Temperature Sensor
- Pressure Sensor
- Inertial Measurement Unit (IMU)
- Compass
- Connectivity:
- BLE 5.0
- NFC Reader/Writer
- GPS/GNSS (GPS, GLONASS, Galileo)
- Wi-Fi 4.2, NFC Tag
ZSWatch
ZSWatch stands for “Zephyr Smartwatch” because it is built on the Zephyr Real-Time Operating System (RTOS). The project features a combination of high-performance hardware and customizable software.
Key Features
Hardware:
- Processor: nRF5340 BLE chip with dual-core, 512KB RAM, and 1MB Flash.
- Display: 240×240 round touchscreen.
- Sensors: Includes IMU for gesture navigation, environmental sensors, magnetometer, light sensor, and microphone.
- Power Management: Uses Nordic nPM1300 PMIC for efficient system management.
- PCB: Designed in KiCad, the 4-layer PCB measures 38mm in diameter.
Software:
- Bluetooth LE Communication: Works with the GadgetBridge Android app for pairing and features Bluetooth Direction Finding for tracking.
- Watchfaces: Supports customizable watchfaces displaying time, date, notifications, and environmental data.
- Apps: Includes apps like music control, compass, and step counter, with easy extensibility for new features.
Additional Highlights:
- The watch supports dynamic watchface changes and third-party ESP32 watchfaces.
- Hardware components can be customized to reduce costs if certain features are unnecessary.
For detailed documentation on assembly, software setup, and app development, visit the ZSWatch GitHub repository.
PineTime Smartwatch By Pine64
The PineTime is a free and open source smartwatch capable of running custom-built open operating systems. Some of the notable features include a heart rate monitor, a week-long battery as well as a capacitive touch IPS display that is legible in direct sunlight. It is a fully community-driven side-project, which means that it will ultimately be up to the developers and end-users to determine when they deem the PineTime ready to ship.
Specifications
- Square 1.3-inch 240×240 IPS capacitive touch display
- Software: Any open-source operating system built on top of numerous RTOSes
- SoC: Low-power Nordic Semiconductor nRF52832
- 64 MHz + Floating Point
- 4 MB of User Storage
- 0.5 MB of OS Storage
- Bluetooth 5 & Bluetooth Low Energy
- Compatible with almost any device
- Over-the-air update
- Health Tracking
- Step Counting (with Accelerometer)
- Heart Rate Detection
- Notification access
- Wrist vibration
- Quick glance via lift-to-wake.
- All-week 180 mAh battery
- 2-pin USB charging dock
- Solid build
- Dimensions: 37.5mm x 40mm x 11mm
- Weight: 38 grams
- Made with Zinc Alloy and Plastic
- Dustproof and water-resistant up to 1m (Rated at IP67)
Watchy By Squarofumi
Watchy is an open source smartwatch powered by ESP32 with a 1.54-inch e-paper screen. It is usable right out of the box, however, both the hardware and software are completely customizable. The watchy PCB acts as the body and has slots to attach a watch strap.
Squarofumi provides many 3D printable enclosures and watch faces on its website. Visit their website at https://watchy.sqfmi.com/
Specifications
- ESP32-PICO-D4 at its core, with built-in WiFi/Bluetooth LE and compatibility with Arduino, MicroPython, and ESP-IDF
- E-Paper display with 200×200 pixel resolution. Glare-free visibility under bright sunlight, near 180-degree view angle, and ultra low power consumption.
- Certified open source hardware (OSHWA) and open source software. Tons of fun examples and cool watch faces by us and the community.
Open Source Smartwatch
Yes, it doesn’t have any special name, just Open SmartWatch.
The Open-SmartWatch is an open source smartwatch project created by @pauls_3d_things/p3dt.net. It consists of hardware modules, 3D printable cases, and a custom operating system to build smartwatches with the goal that they can be assembled, repaired, and modified by everyone.
There are currently two versions, a GPS edition (pre-released, work in progress) and a Light edition (released), which share the following hardware:
Specifications
- EPS32-micro-D4: 2x240MHz, 320KB RAM
- Bluetooth 4.2 BR/EDR BLE
- WiFi 2.4GHz 802.11 b/g/n
- GC9A01 240×240 16bit TFT display (round)
- BMA400 Accelerometer + Pedometer
- MCP73831 LiPo Charger
- CH340E USB Serial
The GPS edition has additionally:
- Quectel L96 GPS module
- 4MB RAM
- microSD
The PCB (KiCAD), Case design files (Blender), and Operating System (C++/Arduino/PlatformIO) are all created with open source software and are hosted on GitHub
Ordering
This is project is entirely open source. You can either build it from scratch or choose from one of the manufacturers below. Everything is still the very beginning of this project, and fully assembled watches will be available soon! Follow this project on instagram.com/pauls_3d_things/ to stay up to date and get notified once new options are available!
Buy an assembled PCB from here
CulBox [NOT AVAILABLE ANYMORE]
CulBox is an Open Source smartwatch for Arduino with built-in Bluetooth and a bunch of Hi-Tech sensors and tons of features for Arduino Designed by Senior Electron LLC in the United States of America
Specifications
- 32-bit Arm Cortex processor
- Built-in Bluetooth Low Energy (BLE)
- 6 axis I2C Gyro + Accelerometer sensor
- 24bit I2C very accurate digital Altimeter / Air Pressure Sensor
- SPI Micro-SD card memory
- SPI 16bit color 1.5″ OLED display
- Microphone
- 3 Pushbuttons
- Audio output
- Built-in Piezo speaker
- USB port with FTDI converter
- Rechargeable LI-ION battery
- Built-in charger
- Battery charge Fuel Gauge on I2C port
- Build iPhone and Android apps without Xcode or the Android SDK in Arduino!
OpenHAK
OpenHAK open source smartwatch project intends to allow users to discover activity tracking and how it works. By creating an open platform that counts your steps, and measures your heart rate, users can tweak, change, modify, and create all possible data streams.
Specifications
- BLE: Using the Simblee 32bit BLE/MCU module allows for awesome features, and is fully Arduino compatible. It enables long battery life, and easy use, including wireless programming. Yes, we know it is EOL…
- IMU: The Bosch BMI160 is the same IMU that is integrated into the Arduino 101 – 6-Axis IMU
- PPG: Maxim MAX30101 offers high sensitivity, adjustable LED output power, and multiple wavelengths. Designed specifically for wearables, and can capture PPG, and SpO2
- Breakout: In addition to 3V, GND, and the Simblee Reset pin, 7 unused pins on the Simblee are broken out including TX and RX for wired firmware updates and wired Serial communication.
- Lights: RGB LED for full-color blinky blinks
- Battery Charging: USB input provides Lipo/Li-ion charging to a battery connected via 1mm JST
- Watch Band: The PCB has an integrated pin capture feature for any 18mm watch band. Go Nuts!
- Protected: The 3D-printed case encloses the PCB to protect it. Design files are online for you to mix, modify, and share.
Up-to-date files and code for the hardware and smartphone apps are available on GitHub
Bangle.js
Previously I have written an article on Bangle.js, so I am not explaining it again here. You can read it from the below link.
Bangle.js 2
Bangle.js 2 is the second generation of the original Bangle.js. With a 4-week battery life, an always-on, sunlight-readable screen, total flexibility, and total control over your data.
You can download new apps from the internet or use JavaScript to create your own. You can upload apps or write code to run on your watch wirelessly using just a web browser! In addition to Bluetooth Low Energy, GPS, a heart rate monitor, an accelerometer, a magnetometer, a pressure sensor, and more.
Hardware Specs
- IP67 Waterproof (max 1 meter for 30 minutes underwater)
- Powered by Nordic 64MHz nRF52840 ARM Cortex-M4 processor with Bluetooth LE
- 256kB RAM, 1MB on-chip flash, and 8MB external flash memory
- 1.3 inch 176×176 always-on 3-bit color LCD display (LPM013M126) with backlight
- Full touchscreen (6H hardness glass)
- GPS/Glonass receiver
- Heart rate monitor sensor
- 3 Axis Accelerometer
- 3 Axis Magnetometer
- Air Pressure/Temperature sensor
- Vibration motor
- 200mAh battery, 4-week standby time
- 36mm x 43mm x 12mm watch body, with standard 20mm watch straps
- Full SWD debug port.
Want to make your own smartwatch?
As makers, we always want to make our own gadgets so if you are also interested like me to make a smartwatch or any wearable device read this article, here I’m discussing some products which will help us make our dream come true. When you make one don’t forget to make it as an open source 😉.
This is a great post! I’m currently using a Pebble watch and it’s great for basic notifications and tracking, but I’m looking for something a little more robust. I’m definitely going to check out some of the options mentioned in