Chronos-Watchy is an alternative firmware for the Watchy open-source e-ink smartwatch, built with LVGL and designed to connect seamlessly with the Chronos App, a modern companion app for smartwatch users.
⚠️ This firmware is currently compatible with Watchy v2.0. Tested successfully on an AliExpress clone with USB Type-C.
- 📱 BLE Connectivity: Syncs directly with the Chronos App
- 🕓 Default Watchface: Displays time, phone battery, and last sync time
- 🧭 Navigation: Turn-by-turn directions from Google Maps or OSMAnd
- 🔔 Notifications: Receive app notifications from your phone
- 👣 Activity Tracking: Steps with distance, and calorie estimation (+ historical data)
- 🌤️ Weather Updates: Synced from Chronos App
- 🌙 Sleep Mode: Controlled from the Chronos App; reduces power usage
- ⚙️ Settings Menu: Customize connection interval and view configs
- 📷 Pairing via QR Code: Quick setup with the Chronos App
- 🎶 Controls: Camera, Music, Find Phone controls (Only when connected)
- 🔗 QR Code Links: Save QR Code links on Watchy
- 📞 Contacts: Save contact info on Watchy
- 🕹️ Multiple Watchface: Installable at runtime via BLE,
Watchy Faces
- ⚡ Non-blocking operations (BLE & storage handled in background tasks)
- ✋ Raise-to-wake gesture
- 👆 Double-tap to wake
- ⏰ Alarm and reminder system
- 🌍 Multi-language support
Prebuilt binaries are included in the firmware/ directory, ready to flash, no build required.
You can use the browser-based ESP flasher provided by Espressif:
Flash Chronos Watchy via Web here
- Open the link above in Chrome
- Connect your Watchy via USB
- Click Connect under Program then select the correct serial port
- Select the prebuilt
.binfiles from thefirmware/folder, use the correct address as indicated in the file name - After flashing, your Watchy will automatically boot into Chronos-Watchy
You may need to connect to the Console, then click Reset
-
Install PlatformIO
-
Clone this repository:
git clone https://github.com/fbiego/chronos-watchy.git cd chronos-watchy -
Build the firmware:
pio run
-
Flash to the watch:
pio run -t upload
- Open the Chronos App → Watch tab → Watches → Pair new device
- On Watchy, open the Pairing screen
- Choose the device from the app’s list (or tap Search again)
- Alternatively, select Manual to enter the MAC address or Scan QR code displayed on Watchy
- Time Format -> 12h / 24h
- Temperature -> °C / °F
- Units -> Metric / Imperial
Under the User tab:
- Set your age, height, and weight (used for calorie and distance estimation)
- Configure Sleep Time, during which Watchy enters deep sleep until wakeup
- Go to Settings → Weather Update
- Tap the ⚙️ gear icon
- Enable weather updates
- Choose Use GPS or manually enter your city, then click Check
- If successful, click Save
- In the Notifications tab, enable access using Notification Access
- Tap Self Test to verify Chronos can read notifications
- Select Apps and choose which apps can send alerts to Watchy
- In the Watch tab, scroll down to ESP32 Manager
- Enable Navigation for your Watchy device
- (Optional) Adjust icon dither mode and threshold for icon clarity
- Open Navigation screen on Watchy
- If BLE is disconnected, tap the rotating ⚙️ icon to restart
- Open Google Maps or OsmAnd and start navigation
- Directions will appear on your Watchy in real time
⚠️ Note: Navigation keeps BLE active continuously, which increases battery drain.
- App Sleep: Prevents the app from trying to reconnect while Watchy is in sleep mode
- Notification Buffer: Stores and forwards notifications to Watchy when BLE reconnects
- Official Watchy Firmware: Based on the open-source Watchy project and its firmware repository
- Chronos ESP32 Library: Provides seamless smartwatch connectivity with the Chronos app. GitHub
- Chronos App: Companion app for smartwatch sync and notifications. Website
- LVGL: Powerful open-source embedded graphics library. Website
- LVGL Pro: Used for UI design and layout. Website
- Watchy Faces: Watchfaces for the Chronos Watchy firmware. Github


