Getting Started with Watchy
I've recently received my Watchy, an open source E-Ink watch, and have just started to crack the surface of what can be done with the device. This post outlines how to get going with Watchy from the perspective of someone who has done very little with Arduino and hardware programming.
Tested on Debian Sid, steps should be similar across distributions. Recently moved to Fedora and will be testing shortly.
Setup
On Debian install the following:
sudo apt install arduino python3-pyserial
To access the serial connection necessary for uploading to your device
you'll need to add yourself to the dialout
group.
sudo adduser $USER dialout
You will need to log out and back in for the change to take full
effect. You can check whether you are in the dialout
group with:
groups $USER
Arduino Setup
With Arduino IDE open there is some hardware setup and libraries that still need to be setup. The following steps are outlined in the Watchy README.md.
- Add ESP32 Boards
- File >> Preferences
- In Additional Boards Manager URLs paste in https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- Import the Watchy Library
- Tools >> Manage Libraries
- Search Watchy click install
- Hardware Settings
- Set Board to "ESP32 Dev Module" Tools >> Board >> ESP32 Arduino >> ESP32 Dev Module
- Set Partition Scheme to "Minimal SPIFFS" Tools >> Partition Scheme >> Minimal SPIFFS
Getting Started
With the setup complete you should be all set to get started working
on a watch face. The Watchy library provides a number of example faces
from which you can use as a basis for your own. Open an example watch
face File >> Watchy >> WatchFaces. So far I've found 7_SEG
to be a
good starter for learning, but you should feel free to try out all
options.
A basic change you can make to see if things are working is to swap
the 7_SEG
color scheme by changing line 3 of Watchy_7_SEG.cpp
to
false.
#define DARKMODE false
Then verify your project with the Check ✓ icon. If it succeeds plug
in your Watchy to your computer via USB and click Upload. You'll
likely need to confirm your device (something like /dev/ttyUSB0
on
Linux), then after a few seconds you should see your watchface invert
colors.
Issues
I had an issue while building the watchface in Arduino where python
could not be found because Debian testing does not currently have a
python
symlink. I had python3 installed so I added one as follows:
ln -s /bin/python3 ~/bin/python
~/bin= the default location for user scripts in Debian's bash
.profile
. It will automatically add this directory to the path if it
exists so no additional configuration is needed. However, if you had
to create this directory you may need to log out and back in for it to
take full effect.
For other distros you may need to add ~/bin
to your .profile
or
.bash_profile
# set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi
Updates
Watchy is a neat little toy and it's crazy you can pack this much stuff in for $50 USD. Although, I would have preferred something more expensive if that meant it was a more polished product. As someone who is not that interested with tinkering with electronics I found the overall package too clunky to actually use and wear.
The final nail in the coffin was when, within my first couple weeks of use, I accidentally snapped one of the plastic buttons (K2-1114SA-A4SW-06). I just don't have enough enthusiasm about the device to go through the hassle of repairing that.
Comments
Email comments and corrections to comment@taingram.org.
Submissions may be posted publicly unless requested otherwise in your email.