A developer describes adapting the Muse Gadget SDK to the Xteink X3, a small e-paper reader, to connect the device to an AI setup. Earlier experiments with Crosspoint and flowe-os were disappointing, but the Muse Gadget SDK produced a working prototype within a few hours. The prototype connects to home Wi-Fi and provides tabs for priorities, workouts, notes, and other flowe-os functions, with small buttons used to navigate, check, or cancel items. The main obstacle was the X3’s ESP32-C3, which has 321 KB of RAM and no external memory chip, while the SDK’s supported boards with displays had 8 MB of additional RAM. The SDK’s e-paper code alone expects 384 KB for one image; the first build left only 59 KB free, with an 11 KB largest free block, and the Muse session failed to allocate memory several times before succeeding. The developer changed the memory layout so code normally reserved for fast execution could share the general pool, removing about 90 KB of Wi-Fi and Bluetooth code from that constrained region. Rendering also had to fit into a single 52 KB buffer, matching the X3’s 792-by-528, one-bit-per-pixel display. Images are dithered as they arrive to avoid a second copy. By keeping the display controller awake, the device can use its retained previous frame and complete page turns in about 650 milliseconds without flash storage. The author says future work may include offline books or AI-generated summaries, and credits the FreeInk SDK for the screen-driver sequences and voltage tables. Code and setup instructions are available in the project repository, with the memory changes potentially useful on other ESP32-C3 boards.
