OpenDisplay Flex

Overview

OpenDisplay Flex is the full-featured protocol standard with comprehensive configuration system, YAML-based schema, and advanced capabilities. This is the standard used by OpenDisplay firmware and provides complete control over device configuration, communication, and image transfer.

The Flex standard consists of three sub-standards (the communication spec covers both BLE and LAN):

The Flex standard uses the same image transmission format as the OpenDisplay standard, ensuring compatibility across both standards.

1. Configuration

The YAML-based configuration schema that defines the BLE protocol structure. Learn about packet types, field definitions, enumerations, bitfields, and how the configuration system works. This standard defines how device capabilities and settings are structured and transmitted.

View Configuration Standard

2. Communication protocol (BLE & Wi‑Fi LAN)

BLE GATT connection flow, optional Wi‑Fi LAN transport (device as TCP server, length-prefixed frames), optional AES-CCM session encryption and 0x0050 authentication, configuration read/write, image transfer, command reference, and response codes. Commands and encryption behavior match across BLE and LAN.

View communication protocol

3. OpenDisplay Language

The format standard for describing visual layouts for e-paper displays. Complete specification including all drawing element types, color support, font options, and template examples. This standard defines how visual content is structured and interpreted.

View OpenDisplay Language

Display Data Format

Learn how image data is encoded into bytes for transmission to OpenDisplay devices. Understand the encoding format for each color scheme (monochrome, bitplanes, multi-color) with visual examples showing pixel ordering and byte packing. This format is shared with the OpenDisplay standard.

View Format

Comparison with OpenDisplay Standard

The Flex standard provides more features than OpenDisplay, but both share the same image format:

Feature OpenDisplay Flex
Configuration System Minimal (announcement only) ✓ Full YAML-based schema
Image Format ✓ OpenDisplay format ✓ OpenDisplay format
Communication Binary packets (fixed positions) ✓ Binary packets (YAML-defined); BLE GATT + optional Wi‑Fi LAN (TCP)
String Handling 16-bit integer IDs with mappings ✓ Variable-length strings
Advanced Features Limited ✓ Sensors, WiFi, power management
Use Case Products that want to show images from user's sources ✓ Full-featured implementations