OpenDisplay: the open e-paper standard

4 min read Original article ↗

Your data.
Your screen.
Designed for e-paper.

OpenDisplay is an open standard and open firmware that lets any sender put pictures on any screen. Local, low-power, no cloud in the middle.

Get started Read the spec

What makes it different

An open standard, not a closed platform.

Most e-paper projects today reinvent the wheel every time, and lock you into using their screen with their app or cloud. OpenDisplay is the open standard that separates the two sides cleanly, so nobody has to rebuild every part.

Sender ↔ receiver, by design

Senders generate the image; receivers display it. Two clean halves, one shared protocol, and either side can be swapped for a different implementation.

Read the protocol →

The sender does the work

Server-side rendering, including dithering and color conversion, keeps receivers cheap, simple, and low-power on battery.

How rendering works →

Open spec, open firmware

The protocol, reference firmware, and browser tools are open source. Implement either side your way — no partner program required.

Read the spec →

What it's actually for

Screens in places a cable can't go.

Wireless means a screen can sit on a closet shelf, a bathroom cabinet, or a hallway hook — doing one job well, without running a cable. A handful we use ourselves.

WED · OUT

14°

rain in 12m · radar 2km

Closet & front door

Weather on the way out

Forecast while you dress, rain radar as you leave. Two tags, same morning routine, no phone required.

Side table

Picture frame, in six colors

A 7.3″ Spectra 6 panel on a wireless frame. The sender dithers your photos to the palette; the screen just paints what arrives.

THU · POLLEN

Med

grasses · oak

Bathroom shelf

Pollen before you commute

Glance during the morning routine and you know whether hayfever is about to ruin the day.

Meds cabinet

Did I take it today?

Tag with morning + evening buttons, so the source of truth lives where the meds live.

NEXT · 09:30

Standup

in 12 min

Kitchen wall

Next-meeting reminder

For people working from home, placed wherever you tend to lose track of time.

TODAY · ENERGY

4.3 kWh

peak 12:00 · −8% wow

Hallway

Energy used today

Glance on your way past and you know whether to hold off on the dishwasher until prices drop.

Get started

Buy a screen, or build one in an afternoon.

Pick a supported screen from our hardware guide, or wire a dev board and panel yourself. Either way: flash OpenDisplay firmware in the browser, send a test image, then connect your sender.

What hardware to buy Open the Toolbox

Build your own

Web Bluetooth + Web Serial · Firefox, Chrome, Edge

For app developers

Implement once, reach every screen

Home Assistant is the reference sender today. The Python SDK is for everyone else: photo apps, custom dashboards, anything that wants to put a picture on a screen. A picture is a picture; what's in it is up to you.

The sender does the heavy work, including dithering for whatever panel the receiver advertises, so screens can stay cheap, simple, and battery-powered.

Read the SDK docs

send_to_tag.py

from opendisplay import OpenDisplayDevice

from PIL import Image

async with OpenDisplayDevice(device_name="OD123456") as device:

await device.upload_image(Image.open("photo.jpg"))

Collaboration partner · Open Home Foundation

What we stand for

OpenDisplay is built around the values the Open Home Foundation stands for. They aren't decorative. They're the constraints that shape every decision about the protocol, the firmware, and the tools.

01 · Privacy

Your screens never call home.

Senders run locally. Receivers talk to senders over Bluetooth. No cloud sits in the middle reading what's on your wall, and no account is required to use the protocol.

no telemetry · no account · BLE local

02 · Choice

Any sender, any receiver.

The standard is open and free to implement. Swap the screen, swap the data source, swap the firmware. Hardware vendors and DIY makers ship into the same ecosystem on equal terms.

open spec · GPL-v3 · vendor-agnostic

03 · Sustain

Years on a charge.

Server-side rendering keeps receivers low-power. From a coin cell to a frame LiPo, that can mean years on a charge, even on Spectra 6 when updates are sparse.

low standby · partial refresh · re-use