CrossMono

Checking for a release…

CrossMono is reading-first, open-source firmware for the M5Stack PaperMono and PaperMono-Lite e-paper devices. It is built on CrossPoint Reader and the FreeInk SDK.

One firmware serves both models. CrossMono detects the model when it starts, and About shows it.

The PaperMono-Lite has not been tested yet, because we do not have one. If you have a Lite, save a backup of the flash first, and please tell us how it went in an issue.

Install over USB

You need Chrome, Edge or Brave on a computer and a USB-C cable that carries data. Other browsers based on Chromium, and Firefox 151 or newer, may also work, but they have not been tested with CrossMono. Safari, phones and tablets cannot install. On Linux, your user may need to be in the dialout group.

What a USB install erases

A USB install erases the device's internal memory. You lose:

  • the Bluetooth pairings: pair your remote again;
  • the keys of protected books. LCP loans brought over from CrossPoint cannot be unlocked again on CrossMono.

Your books, settings and Wi-Fi networks are on the SD card, and they stay. Later updates over Wi-Fi erase nothing.

SD card: MBR only

CrossMono reads only SD cards with an MBR partition table. It cannot read a card formatted with GPT. Most cards come with MBR. If CrossMono shows no card, copy your books off it and reformat it with MBR: for example with the SD Association's SD Card Formatter, or in Disk Utility on a Mac (View → Show All Devices, select the card, Erase, Scheme: Master Boot Record).

Steps

  1. Wake the PaperMono and keep it awake: a sleeping device does not show up on USB. Connect it to the computer with the USB-C cable. If it is in USB drive mode, leave that mode first.
  2. Click the install button and choose the device in the browser's list. It is usually called “USB JTAG/serial debug unit”.
  3. Click Install CrossMono, then Install. The browser erases the device and writes CrossMono. This takes a few minutes. Keep the cable connected.
  4. When the browser shows “Installation complete!”, the device restarts into CrossMono.

If the device is not in the list, check that it is awake, then try another cable or another USB port.

Install with esptool

Without a supported browser, use Espressif's esptool. Download crossmono-<version>-papermono-full.bin from the release page, then run:

esptool --chip esp32s3 write-flash 0x0 crossmono-<version>-papermono-full.bin

esptool 4 spells the command write_flash. This erases the same data as the browser install. The release page also has SHA256SUMS to check the download.

Updates

After the first install, CrossMono updates itself over Wi-Fi: Settings → System → Check for Updates. These updates erase nothing. They do not offer test builds; install those from this page.