The Watchy library depends on other open source libraries to drive all of its hardware, some of which have been wrapped in
Watchy.h to provide a framework for building watch faces and apps.
GxEPD2 is an Arduino Display Library for SPI E-Paper Displays. It abstracts the SPI communication required to drive Watchy's E-Paper display, the GDEH0154D67. This library depends on the Adafruit GFX library, which provides the graphic primitives methods for drawing images, shapes, text, etc.
Adafruit GFX provides methods such as
display.drawRect() for drawing shapes,
display.drawBitmap() for drawing images, and
display.println("Hello World!") for printing text.
Visit for more details.
See Create Your Own Watch Face to learn how to use custom fonts and converting graphics to byte arrays.
DS3232RTC is an Arduino library for the DS3231 Real-Time Clock. You can set and read the current time/date and configure alarm interrupts. The DS3231 RTC on Watchy is connected over I2C, so it requires the Wire Arduino library. The Watchy library configues Alarm2 to trigger an interrupt every minute, waking the ESP32 from deep sleep to update the watch face.
BMA423 Sensor API is a C library for the BMA423, an ultra-small, triaxial, low-g acceleration sensor. The Watchy library provides a simple C++ Arduino API on top to simplify sensor readings such as direction sensing and step counting. The current Watchy library will be updated shortly to utilize the latest implementation from Bosch.
WiFiManager sets up an access point captive portal, allowing you to connect and enter your WiFi credentials. These credentials are then saved in ESP32's flash, thus only requiring you to enter them once. Alternatively, you can also hard code your credentials in the