A lightweight TRMNL display client for the OpenFrame / O2 Joggler — an Intel Atom-based 7" touchscreen appliance with an 800×480 display.
Polls the TRMNL cloud API and writes the dashboard image directly to the Linux framebuffer. No X11, no desktop environment — minimal footprint designed to fit on the device's 1GB internal flash.
- Debian Trixie (or compatible) base OS
- A TRMNL account with a BYOD licence
- Your TRMNL API key
curl -sS https://raw.githubusercontent.com/birdslikewires/openframe-trmnl/main/install.sh | sudo bashThe installer will:
- Prompt for your TRMNL API key and write it to
/etc/trmnl.conf - Install dependencies (
python3-pil,curl,jq) if not already present - Install the client scripts to
/opt/trmnl/ - Install and enable a systemd service that starts on boot
sudo bash /opt/trmnl/install.shEdit /etc/trmnl.conf:
TRMNL_API_KEY="your_api_key_here"When setting up your BYOD device in the TRMNL dashboard, select:
Inky Impression 7.3 - 800×480
This is the closest match currently available — same resolution, full colour PNG output. An OpenFrame-specific entry may be added in future.
journalctl -u trmnl -f # live logs
systemctl restart trmnl # restart the client
systemctl stop trmnl # stop the clientThe client polls https://usetrmnl.com/api/display with your API key, receives a PNG image URL and a refresh interval, downloads the image, and writes it directly to /dev/fb0 using a small Python script (display.py). It then sleeps for the instructed interval before polling again.
Built for the Joggler community. TRMNL is developed by usetrmnl.com.