Watchy: Opensource/OpenHardware Watch – things to watch for
I compiled this document because I noticed there’s quite a lot of quirks and not a lot of documentation to this honest great little hardware platform. There are several parts about several separate things; first an introduction and then some specific notes and how to get things to work.
What is the SQFMI Watchy?
A small, cheap, opensource hardware and software smartwatch that you can build yourself, buy from their official website, or aliexpress (often simply called “ESP32 Watch” there), you can find this device in many places in different shapes and forms, because of the MIT licensed sourcecode, companies all over appear to have made copies of it with the official firmware or some variation thereof.
Specs
- Website: watchy.sqfmi.com
- Display: 200x200 pixel 1.54 inch monochrome e-paper (GDEH0154D67)
- Battery: 200mAh Lithium-Polymer (402030)
- SOC/Chip: ESP32-PICO-D4
- IMU: Bosch BMA423
- Other: A Vibration motor, Realtime Clock (PCF8563)
- Datasheet and full blueprints: watchy.sqfmi.com/docs/hardware
Things to note
- It currently does not have any protocol to speak with your phone, and will not display your notifications.
- It primarily uses wifi for updating e.g weather information
- weather/etc is dependent on the watchface for support. The watch face defines a lot of the user-facing functionality.
- it is extremely easy to customize with the Arduino IDE though, once you get it working (see below)
Usage and things I ran into
Phone notifications
As mentioned before, there are currently no ways to display notifications from your phone or talk with the device from your phone. There are seemingly some ongoing efforts however to get Gadgetbridge support, and you’d just have to install that app to get the support you need.
More info on that here:
- Gadgetbridge thread: codeberg.org/Freeyourgadget/Gadgetbridge/issues/2326 – They seem to mention needing support for message caching, which was stuck for 6+ years but then got fixed and merged. The actual support in Watchy is not there yet though, but the path to add it seems wide open?
- Official Github Feature Request: github.com/sqfmi/Watchy/issues/140
Troubleshooting
How to get the Arduino blueprint compiled
By this point you might’ve tried to compile the arduino blueprints according to the official instructions, and might’ve noticed it does not compile. Fortunately the fix is simple; rather than the very latest version of ESP32 which they suggest (which at the time of writing is 3.0.1
), you should use the 2.x.x branch instead. I ended up using 2.0.17
, which compiled without any issue.
It gives weird errors and fails to write to /dev/ttyACM0
make sure you’re part of the dialout group; sudo usermod -a -G dialout $USER
should do the trick.
If that doesn’t work, some places suggest you should erase the memory before writing; for me that wasn’t needed but I figured I’d mention it.
Help, I’m stuck in the firmware updater screen
Connect to the bluetooth device with your phone and disconnect. It should fail and return to the menu. There is no other way to return to the menu, and as far as I know the feature is only experimental and used for uploading watch faces (have not used it for this yet)
Help, I’m stuck in the wifi AP screen
give it a bit, it’ll time out, then you can press cancel (top left button)
I don’t get as much battery life as I expected
Try resetting it (e.g by reuploading the firmware) and NOT connecting to any wifi, not even for NTP, as there does not appear to be a way to turn wifi off afterwards. This should help a bit.
Customization
- You can find different watch faces at watchy.sqfmi.com/watchfaces
- You can find printable cases at watchy.sqfmi.com/watchcases
Suggestions and other things
You can always poke me at the contact details mentioned on the homepage :)