Watchy Smartwatch
SQFMI Watchy v2 · ESP32-PICO-D4 · 200×200 e-paper · Chronos Watchy firmware · Project parked
What is Watchy?
Watchy is an open-source smartwatch designed by SQFMI and funded via Crowd Supply. Unlike most smartwatches the entire firmware is user-replaceable — the watchface, features, and connectivity are fully determined by what code you flash. The e-paper display draws no power while showing a static image, making it viable on a small 200 mAh LiPo battery. This unit is the v2 hardware revision, using an ESP32-PICO-D4 with 802.11 b/g/n WiFi and BLE 4.2 — confirmed by esptool at first flash.
The device was purchased from AliExpress (listing 1005008618027792). It originally shipped with the watchy-starfield watchface and was reflashed to stock Chronos Watchy v1.2.0 during architecture research. The project is currently parked — see Research Findings below.
Current Setup
| Device | SQFMI Watchy v2 (ESP32-PICO-D4) |
| Chip | ESP32-PICO-D4 · confirmed by esptool |
| Flash | 4 MB |
| MAC | a4:f0:0f:38:48:9c |
| Display | 200×200 e-paper (monochrome) |
| Firmware | running Chronos Watchy v1.2.0 (stock) |
| Purchased from | AliExpress ↗ |
| OTA | parked requires custom companion app |
| Phone sync | parked requires custom companion app |
Resources
| Official project | watchy.sqfmi.com ↗ |
| Official firmware | github.com/sqfmi/Watchy ↗ |
| Current watchface | Prokuon/watchy-starfield ↗ |
| AliExpress listing | Item 1005008618027792 ↗ |
| XiaoZhi (sibling) | ESP32-S3 AI assistant on this server ↗ |
Target Architecture parked
Research concluded that WiFi on the watch is unnecessary. The phone is always nearby, always has internet, and BLE is purpose-built for this relay pattern — the same approach used by Fitbit, Garmin, and Whoop. The target architecture is BLE-only on the watch, with a custom Android companion app as the internet bridge.
Research Findings
BLE vs WiFi power
BLE is the dominant battery drain by a factor of ~100×. WiFi OTA once per hour costs ~0.07 mAh; BLE advertising during every 40-second wake window costs ~8 mAh/hr. Eliminating WiFi from the watch saves almost nothing — the real power budget is BLE.
| BLE active (40 s/min) | ~8 mAh/hr |
| WiFi OTA (5 s/hr) | ~0.07 mAh/hr |
BLE as internet gateway
The phone already handles all internet for the watch in the Chronos model — weather, time sync, and notifications all flow over BLE with the phone fetching data on the watch's behalf. Extending this to OTA and Health Connect requires no new WiFi infrastructure on the watch, only a companion app.
Chronos app gaps
The Chronos Android app has no Google Fit or Health Connect integration. Step data received from the watch stays siloed in the Chronos app — it does not flow into the standard Android health ecosystem. A custom companion app is required to bridge to Health Connect.
| Time sync | Yes |
| Notifications | Yes |
| Weather | Yes |
| Health Connect | No |
| OTA firmware | No |
Google Fit / Health Connect
The Google Fit REST API can accept step data from any HTTP client including an ESP32, but requires OAuth 2.0 — awkward to manage on embedded hardware. More importantly, the Fit REST API is deprecated in favour of Health Connect, which has no remote API — it is Android-local only. The correct path is watch → BLE → companion app → Health Connect.
A server-mediated approach (watch → server → Fit API) also works but inherits the same deprecation problem and adds server complexity for no benefit.