Watchy is an exciting Open Source E-Paper Watch, based on Arduino and the ESP32 micro controller. WatchySim is a simulation framework for its watch faces.
Watchy is based on Arduino, and so relies on using the Arduino IDE to compile and upload new Watchy sketches to define your watch face. This requires that you have the hardware available and connected, and is also slowed down somewhat by the speed of the Arduino upload process.
WatchySim gives you a Watchy-like SDK to develop your watch faces, but lets you test them in a standard Windows GDI-based application.
WatchySim builds under Visual Studio Community Edition. This is a free version of Visual Studio that anybody can download and use.
WatchySim comes with most of the example Watchy watch faces by default. You can explore these examples to see how to add another. In general:
1) Add a new header file (for example, Watchy_PowerShell.h
). This file defines your class that extends the Watchy class. Unlike the actual Watchy SDK, in this class - include "Watchy.h"
, rather than <Watchy.h>
. This now references our simulated version of the Watchy SDK. You will have to change this include to <Watchy.h>
when you move this watch face to Arduino. In this file, most Watchy watch faces include a secondary header (for example "powershell.h"
) that includes their bitmaps.
2) Add a new C++ file (for eample, Watchy_PowerShell.cpp
) to implement the logic for your watch face. In this implementation, you will have access to many of the methods exposed by Watchy: display.drawBitmap()
, display.fillScreen()
, and more.
3) Update the beginning of WatchySim.cpp
to include your new watch face's header file and create an instance of your custom watch face class. Follow the examples there, and comment out the ones that are currently defined.
Watchy.h
and Watchy.cpp
. Please contribute back a PR if you do, so the whole community can benefit.The contents of this repository is under an MIT License.