Skip to content
MCU Atlas
NRF52NRF52832

InfiniTime: open firmware for the PineTime smartwatch

The community FreeRTOS firmware that turns the $30 PineTime (nRF52832) into a fully open smartwatch.

Difficulty:BeginnerCost:Source available

Photos

InfiniTime: open firmware for the PineTime smartwatch photo 1

Photos: pine64.org

Key Facts

  • Chip: nRF52832
  • Hardware: PINE64 PineTime
  • OS: FreeRTOS + LVGL
  • Phone: Gadgetbridge / Amazfish

About This Project

InfiniTime is the main open-source firmware for the PINE64 PineTime, a $30 nRF52832 smartwatch. It provides watch faces, notifications via Gadgetbridge/Amazfish, heart-rate monitoring, step counting, a music controller, stopwatch, timer and games, all on FreeRTOS with LVGL. Flashing is done over BLE once an unlockable bootloader is installed. One of the best-documented nRF52 wearable projects.

Source & Attribution

Source: GitHub
License: GPL-3.0
Last verified: 10/16/2026
InfiniTime: open firmware for the PineTime smartwatch
How to Build It
InfiniTime is the main open-source firmware for the PINE64 PineTime, an nRF52832 smartwatch. It runs on FreeRTOS with an LVGL interface and offers watch faces, apps, step counting and notifications via companion apps such as Gadgetbridge.

Parts Needed

  • PINE64 PineTime smartwatch
  • Android/iOS/Linux phone or a computer with Web Bluetooth
  • (Developers only) SWD programmer, e.g. ST-Link or a Pi Debug Probe, for a dev kit

Steps

  1. 1

    Check what you have

    Retail PineTimes ship with InfiniTime and a bootloader that supports updates over Bluetooth, so no cables are needed. Only the sealed dev kit or a bricked watch needs SWD flashing.

  2. 2

    Install a companion app

    Use Gadgetbridge on Android, InfiniLink on iOS, or Siglo/ITD/WatchMate on Linux. InfiniTimeExplorer works in Chrome or Edge via Web Bluetooth. The project advises against nRF Connect, as current versions no longer work.

  3. 3

    Download the firmware

    From the InfiniTime GitHub releases, download the DFU zip (and optionally the resources zip with extra fonts and images).

  4. 4

    Update over Bluetooth

    Pair the watch in the companion app and push the DFU file. When the watch reboots, open Settings > Firmware on the watch and validate the new image, otherwise it reverts on the next reboot.

  5. 5

    Customise

    Pick a watch face, enable the apps you want and set up weather or music control through the companion app.

  6. 6

    Build it yourself (optional)

    To modify the code, follow the repo's build guide (CMake plus the ARM GCC toolchain, or the Docker image). The InfiniSim simulator lets you try UI changes on a desktop first.

Parts List (BOM)
Complete parts list from the creator
complete
PartQtyRoleEst. PriceBuy
1watch$27–$30View
Estimated Total$27–$30 USD

Not included: 3D-printed case, wire, solder, USB cable

Download CSV

Related Projects

Watchy: open-source ESP32 e-ink smartwatch
Illustration
ESP32
An open-source smartwatch with a 1.54in e-paper screen and ESP32, hackable watch faces in Arduino.
Beginner·Under $15·Code
2 parts listed
My-TTGO-Watch: full smartwatch OS for LilyGO T-Watch
Illustration
ESP32
An LVGL-based smartwatch firmware for the ESP32 LilyGO T-Watch with apps, BLE notifications and Wi-Fi.
Intermediate·Cost varies·Code
1 part listed
LVGL watch UI for the ESP32-C3 1.28in round display
Illustration
ESP32ESP32-C3
A polished smartwatch-style LVGL interface for the cheap ESP32-2424S012 round touchscreen board, paired via the Chronos app.
Beginner·Under $15·Code
1 part listed