FrameOS
Guide

Useful settings

Access keys, QR codes, asset storage, power management, nightly reboots and debug logging.

A tour of the most useful options under a frame's Settings tab.

Frame access

Each frame's HTTP server (port 8787) has three access modes - private, protected, and public - controlling who needs the access key to view or control the frame. See Controlling the frame for details.

QR control code

By default the frame overlays its control URL as a QR code on the display. You can position it, restyle it, or turn it off entirely.

Assets

Downloaded images (OpenAI, Unsplash, galleries…) are saved to /srv/assets on the frame's SD card when there's enough free space. This avoids re-downloading (and re-paying for) the same images after a reboot. Browse, upload, rename and delete them under the frame's Assets tab, reuse them with the Local image app, or point a path state field at a file or folder so the control page gets a picker.

This works the same way on ESP32 boards with a TF card slot. Images too large to decode in memory also spool here on their way to the screen - see Big images on small devices.

Power and battery

Frames that can sleep - the ESP32-S3 and the Pico W boards - get a Power section: deep sleep between refreshes, sleeping only while on battery, aligning wake-ups to wall-clock boundaries, waking periodically to pick up queued commands, and battery voltage sensing. A Raspberry Pi is always awake and always wall-powered, so it has none of this.

Nightly reboot

Frames reboot nightly by default - cheap insurance against memory leaks on a device meant to run for years. To anyone watching, it looks like a regular re-render. You can disable it or change the time. A reboot or restart can also be a schedule entry, which is how ESP32 frames do it.

Metrics

Frames sample CPU, memory, temperature and disk and ship them to the backend every 60 seconds. Change the interval under Metrics, or set it to 0 to turn the sampler off entirely. Changes apply without a restart.

Time zone

Set the frame's time zone so schedules, clocks, and calendars line up. Time sync works out of the box on both Raspberry Pi OS and the FrameOS SD images.

Debug logging

Enable debug logging to get per-app timing in the logs - useful to find out which app slows down your renders.

Builds

Under the backend's settings you can choose how FrameOS binaries get built for your frames: precompiled release binaries (the default for supported targets), local Docker cross-compilation, a remote SSH build server, or building on the device itself.

On this page