Tesserae · device firmware

PicPak Web Flasher

FIRMWARE v0.9.15

Installs the open picpak-tesserae-client firmware onto a PicPak 4.2″ e-paper photo frame (ESP32-C3), turning it into a Tesserae client. It all happens right from this page, over a USB cable, with no tools to install.

1

Back up the stock firmware first

Without a backup there is no way back, ever. Installing this firmware erases the factory firmware, which cannot be downloaded again from anywhere. Part of it is unique to your exact frame, so nobody else’s copy can restore yours. If you might ever want the frame back the way it came out of the box, treat the backup as a must: stop here and follow the backup guide first. It’s a one time terminal job that takes several hours for two verified reads, and this page cannot do it for you.

Your frame, your call. The flasher won’t stop you. Already backed up, or updating a frame that already runs this firmware? Carry on.

2

Plug in & connect

Connect the frame with a USB-C data cable, directly (no hub). If the frame is asleep, press and release its button to wake it so the USB port shows up. Then:

Pick the frame in the browser popup. It appears as a USB JTAG/serial debug unit (or usbmodem…). The flasher checks it’s really an ESP32-C3 before anything is written. Monitor log just listens to the frame’s serial output in the console below (nothing is flashed). The frame deep sleeps between wakes, so expect silence until a timer wake or a button press, and the monitor reattaches by itself when the frame returns.

3

Install the firmware

serial console
log will appear here when you connect
?

Using your frame

In Automatic mode, use the frame’s single button after waking it. Gestures do not interrupt a photo being painted or a network request:

Quick tap
A plain press and release. Wakes now and checks the server for a new photo. Release promptly; a button still held when the frame checks it can request the next page.
Brief hold (release before the 5 s LED cue)
Flip to the next page of your Deck in Tesserae (manual deck navigation). Hold for roughly a second, then release before the steady LED. There is no fixed half-second threshold; Tesserae decides the action for the assigned Deck or lineup.
Hold ~5 s (5 to 10 s)
Hold until the LED lights steady, then release before 10 seconds to request a refresh. The server and delivery timing determine when the refreshed image arrives. In Automatic mode this also overrides the low-battery lock.
Hold ~10 s (10 to 20 s)
Open a Bluetooth maintenance session with the Tesserae Companion app on iPhone. The frame shows a QR code and six digit passkey for a five minute session: read diagnostics, repair WiFi, restart, or change the refresh speed (5 s / 10 s / Native). No reachable server needed. The LED starts pulsing at ~10 s; release then. A quick press afterwards closes the session.
Hold ~20 s
Reopen the setup screen to change your WiFi or connection settings. The LED gives a rapid burst at the setup threshold.

Deck flip and force refresh work over Local REST, Cloud and Relay. MQTT does not dispatch these button actions. A still screen is normal, not frozen: the frame deep sleeps between updates and the e-paper holds the last image, so it changes only on its wake interval (or when you press the button). Battery low? It shows a “Battery low” screen with a battery icon and pauses normal updates. Connect a charger and briefly press the button to check recovery, or wait for the daily battery check. Plugging in a charger does not itself wake the frame.

After confirmed removal from Local REST, Cloud or Relay, the “Unpaired” screen tells you to hold the button for 20 seconds to reopen setup. Relay stays selected. MQTT has no server-removal signal.

In Manual Bluetooth mode, a quick press starts a photo session with Tesserae Companion. To update the firmware later, come back here and pick Update and keep my settings.