The operating system for smart frames
Turn a Raspberry Pi or ESP32, and any display - e-ink, HDMI or LCD - into a calendar, dashboard or art frame that runs itself. Everything renders on the device. Run it standalone, control it with a self-hosted backend, or manage it from FrameOS Cloud - the frame works the same either way.
Free & open source since 2023 (AGPL-3.0) · Works offline · Cloud optional · Yours forever








How do you want to get started?
All three render on the device, and a frame can move between them without reflashing.
Choose a path to see the next step.
Pick your hardware
Raspberry Pi or ESP32?
A Raspberry Pi is the classic option. Any model from the Zero W to the Pi 5 will do. Supports 120+ e-ink panels and other outputs like HDMI. You can manage the frame through their own admin page and HTTP API. Boot from a prebuilt SD image or install on any Linux with a shell script.
An ESP32-S3 lets you build battery-powered frames that deep-sleep between refreshes. It's still the full FrameOS experience. Everything is rendered on device, including 50MB JPEGs. Works with custom setups, and Waveshare, PhotoPainter, TRMNL and reTerminal boards. Boards without PSRAM (e.g. ESP32-C3) run as thin clients.
Batteries included
Deploy a scene in your first five minutes
SD card images, calendars, agendas, message boards, weather, AI art, and much more. Installable with one click, editable down to the source. Combine them, schedule them, make them yours.
The editor
A visual editor backed by real code
Build a scene by wiring nodes together, then open any of them to see the code underneath. Apps are written in Nim (built in) or TypeScript. Preview changes in the browser, or on the frame directly. Check out the scene store for more examples!




Case Maker
Design a printable case around your exact frame
The FrameOS Case Maker generates parametric, 3D-printable enclosures for supported panels and Raspberry Pi layouts. Pick a template, tune the depth and bezel, add wall mounts, kickstands, USB-C cutouts and screw posts, then download the STL.
It is built for the same hardware database as the docs, so common Waveshare and Pimoroni builds start from sane dimensions instead of a blank CAD file.

Watch a full build (Raspberry Pi)
From bare panel to finished frame
Recorded over a year ago, before FrameOS Cloud and ESP32 support existed.
Build your first frame this weekend
A standalone Pi, a self-hosted backend, or a FrameOS Cloud account - the guide walks through all three, and the frame you end up with is the same.







