Skip to content

Repository files navigation

shareframe-title-hero

Shareframe (Application)

shareframe-board is the C++ application firmware that runs on the Shareframe e-paper picture frames (Raspberry Pi Zero W). It is a set of small processes that maintain a persistent WebSocket to the Shareframe web server, receive the photos shared to the frame, and render them on the e-paper panel as a slideshow. It also serves a local web dashboard for setup and management, and handles Wi-Fi configuration and over-the-air updates.

Related repos

  • shareframe — web application platform: server backend and React web frontend
  • shareframe-hardware — custom embedded Buildroot Linux OS that builds the SD card image for the board

Highlights

  • Multi-process firmware. Independent services
  • Photo delivery over a persistent WebSocket, shown as an e-paper slideshow
  • Local React web dashboard (served on the board) for setup, Wi-Fi, and frame management
  • A/B over-the-air updates via the OS RAUC + tryboot backend
  • Shared SQLite database and image store on the writable /data partition

Architecture

shareframe-board-architecture drawio

Figure 1: Outline of the on-device application architecture of shareframe-board

Processes:

  • shareframe-websocket: Holds the persistent WebSocket to the server. Ingests and persists shared photos, then publishes image events to the display.
  • shareframe-display: Drives the Waveshare e-paper panel over SPI and runs the slideshow. Subscribes to image events and serves display commands over IPC.
  • shareframe-dashboard: Local web server serving the React dashboard and a REST API. Handles Wi-Fi and system actions and proxies display/update commands.
  • shareframe-update: Polls the server for new releases and installs OTA bundles via the OS update backend.
  • shareframe-heartbeat: Periodically reports the frame's liveness and status to the server and health-probes the other services.

Local board dashboard

local embedded board dashboard

Figure 2: Quick overview of the local picture frame management dashboard. It provides controls and give information about the health and state of the picture frame

About

C++ application firmware for the Shareframe e-paper photo frame hosted on a Raspberry Pi Zero W. Services over IPC, a WebSocket photo feed, an e-paper slideshow, and a local React dashboard.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Used by

Contributors

Languages