Skip to content

About

Fast-booting, offline-first menu board signage for 64-bit Raspberry Pi

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

23 Commits

Folders and files

Chalkboard

Fast-booting, offline-first menu board signage for 64-bit Raspberry Pi. Template-driven LVGL screens that sync peer-to-peer and control the TV via HDMI-CEC.

Status: design phase. The specification is a draft (v0.1.0); no code has been written yet.

Why Chalkboard

  • Boots in ≤ 5 s — content is on screen before Wi-Fi is even up.
  • Offline-first — every screen keeps showing the right menu, including dayparts and schedules, with no network at all.
  • No server, no cloud — screens form a leaderless cluster; every screen holds the full configuration and serves the web app.
  • Self-healing — a failed or replaced screen restores its configuration from its peers. Power can be cut at any moment.
  • Templates, not slides — pages are generated from categories, items and prices, and paginate automatically when the menu grows.
  • TV control — power schedules, input switching and a watchdog that undoes "someone pressed the remote", all over HDMI-CEC.

How it works

Each TV is driven by a Raspberry Pi — anything from a Zero 2 W to a Pi 5, and boards with two HDMI ports can drive two TVs. Every Pi runs the same read-only Buildroot image with two processes:

Process Language Role
chalkboard-render C + LVGL Draws the current menu from a local snapshot. Starts first and never touches the network.
chalkboard-agent Rust Discovery, peer-to-peer sync, web app and API, HDMI-CEC, time, provisioning and updates.

Screens find each other on the LAN and replicate every change. If the venue Wi-Fi goes down, they keep rendering on their own, and one screen raises a fallback hotspot so the cluster can still sync and be edited from a phone.

Manage everything at https://chalkboard.local from any phone or computer on the network.

Hardware

Any 64-bit Raspberry Pi, mixed freely in one cluster:

Support Boards
Tier 1 — tested every release Pi Zero 2 W, Pi 4B, Pi 5
Tier 2 — smoke-tested Pi 3B, 3B+, 3A+, Pi 400, Pi 500, CM4, CM5
Tier 3 — community CM3, CM3+, CM4S

Per screen you also need:

  • An HDMI cable or adapter that carries CEC
  • The official power supply for your board (not the TV's USB port)
  • A high-endurance microSD card ≥ 8 GB, or eMMC / USB SSD / NVMe where the board supports it
  • Optional: an RTC battery (Pi 5) or DS3231 module, Ethernet, an active cooler for Pi 4/5

Documentation

This project adheres to Semantic Versioning.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

Fast-booting, offline-first menu board signage for 64-bit Raspberry Pi

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages