explaingit

sparkadium/watchyalmanac

Analysis updated 2026-05-18

14C++Audience · generalComplexity · 3/5Setup · hard

TLDR

Offline firmware that turns a Watchy smartwatch into a dictionary, world gazetteer, go puzzle book, and star chart with weeks of battery life.

Mindmap

mindmap
  root((repo))
    What it does
      Offline dictionary
      Country gazetteer
      Go puzzle collection
      Star chart and clock
    Tech stack
      C++
      ESP32
      Arduino IDE
      Python data scripts
    Use cases
      Look up word definitions offline
      Browse world countries
      Practice go problems
      View stars for your location
    Audience
      Watchy owners
      Hobbyist makers
    Data sources
      Wordset dictionary
      CIA World Factbook
      Yale Bright Star Catalogue

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Flash a Watchy V2 to get an offline dictionary with nearly seventy thousand words.

USE CASE 2

Browse a gazetteer of 261 countries built from the CIA World Factbook.

USE CASE 3

Practice thousands of go board game problems and track progress on the watch.

USE CASE 4

See a star chart, moon phase, and sunrise and sunset times for your own location.

What is it built with?

C++ESP32Arduino IDEPython

How does it compare?

sparkadium/watchyalmanac6x-u/enrinanimeactuallyaridan/linux-control
Stars141414
LanguageC++C++C++
Setup difficultyhardhardmoderate
Complexity3/54/53/5
Audiencegeneraldeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires the Arduino IDE, a specific partition scheme, the GxEPD2 library, and flashing generated data files separately from the firmware.

The firmware itself has no stated license here, but the data it uses comes from named public sources under licenses like CC BY-SA 4.0, public domain, and BSD-3.

In plain English

WatchyAlmanac, called WatchyDict in its own files, is offline firmware for the Watchy V2, a small ESP32 based watch with a 200x200 black and white e-ink screen and 4MB of flash storage. It has no wifi, does not need a phone, and the author says it runs for weeks on a single battery charge. Once flashed, the watch can work as a dictionary with almost seventy thousand words and full definitions searchable through a letter grid, as a gazetteer listing 261 countries pulled from the CIA World Factbook using that same search screen, and as a collection of over eleven thousand go board game problems with your progress saved on the device. It also draws a star chart for your own location, including constellation lines, moon phase, and sunrise and sunset times, and it can display up to ten small black and white photos you convert yourself. On top of all that it still works as a regular watch face, sleeping deeply between minutes and waking on a hardware alarm interrupt. Building it means using the Arduino IDE with the ESP32 Dev Module board and 4MB flash size, plus a partition file included in the project and a display library called GxEPD2. The dictionary, gazetteer, star, and go puzzle data are not written by hand. Each one is generated by a Python script from a named public source, such as the Wordset dictionary, the CIA factbook, the Yale Bright Star Catalogue, and a Lichess puzzle collection, and those scripts are included so anyone can rebuild the data themselves. Setting your own location, time zone, and daylight saving rules is done through a small text file placed alongside the generated data before flashing. The README also documents specific power saving steps taken in the firmware, like putting the e-ink display to sleep before deep sleep and clearing old wake timers, since skipping these would drain the battery in days instead of weeks.

Copy-paste prompts

Prompt 1
Explain how to flash Arduino firmware to an ESP32 based watch like the Watchy V2.
Prompt 2
Help me write a location text file with latitude, longitude, and daylight saving settings for this firmware.
Prompt 3
What does it mean for a device to deep sleep between minutes and wake on an alarm interrupt?
Prompt 4
Walk me through regenerating dictionary or star chart data files from the Python scripts in this project.

Frequently asked questions

What is watchyalmanac?

Offline firmware that turns a Watchy smartwatch into a dictionary, world gazetteer, go puzzle book, and star chart with weeks of battery life.

What language is watchyalmanac written in?

Mainly C++. The stack also includes C++, ESP32, Arduino IDE.

What license does watchyalmanac use?

The firmware itself has no stated license here, but the data it uses comes from named public sources under licenses like CC BY-SA 4.0, public domain, and BSD-3.

How hard is watchyalmanac to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is watchyalmanac for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.