Skip to main content
No frame at all: the firmware is open, the panel is a catalog part, and the protocol works the same whether we soldered the board or you did.

The parts

  • An ESP32-S3 board wired to the panel as the firmware’s pin map expects. The firmware targets the FlightPortrait frame’s own driver board; any ESP32-S3 with the same connections runs it.
  • A 13.3 inch E Ink Spectra 6 panel, 1200 by 1600. This is the only panel the panel format targets; smaller Spectra 6 sizes need their own driver work.
  • A battery if you want it on a wall, USB power if you do not.

The path

  1. Clone flightportrait/frame, build with ESP-IDF: idf.py set-target esp32s3 && idf.py build.
  2. Before involving any network, prove the glass: arduino-sd-demo/ blits a rendered panel image straight from microSD, so a bad panel cable never masquerades as a server problem.
  3. Flash the firmware, then pair it like any frame. The pairing flow accepts your own server URL, so a self-built frame usually goes straight to a self-run server: Bring your own server.
  4. first-flash/ in the repo is the box-opening sequence we use on our own hardware, with test images and a one-page failure tree. It works the same on yours.

What to show on it

Anything that renders to 960,000 bytes in six inks. The reference server ships with the tooling to serve a static image; from there it is your renderer against the same panel format we use, specified byte by byte in PROTOCOL.md. The free flight data is one thing to draw from. Our own poster drawings are licensed, not open; a key for builders is coming (where that stands). Built one? Share your build.