I built a $100 ePaper photo frame that never touches the cloud
At a glance:
- $100 Seeed Studio reTerminal E1002 powers the DIY photo frame
- Local photo library managed with Immich and Home Assistant, no cloud dependency
- 2,000 mAh battery delivers weeks of runtime with four daily updates
Why a cloud‑free frame matters
Digital photo frames have become mainstream, but most mainstream options—Google Nest Hub, Amazon Echo Show, Aura, Nixplay—rely on proprietary cloud services to store and serve images. That model ties the user to a vendor’s ecosystem, creates privacy concerns, and leaves the device vulnerable if the service is discontinued. By keeping every step of the pipeline on a home network, the project eliminates those risks while delivering a display that looks more like a printed photograph than an LCD screen.
Hardware: Seeed Studio reTerminal E1002
The heart of the build is the Seeed Studio reTerminal E1002, priced at $100 at the time of writing. It is an ESP32‑S3‑based board with 8 MiB PSRAM and 32 MiB flash, a built‑in SHT40 temperature‑humidity sensor, three tactile buttons, a microSD slot, and a metal chassis with a rear mounting hole. Key specifications:
- Display: 7.3‑inch ePaper panel using E Ink Spectra 6 (six pigments: black, white, red, green, blue, yellow) – up to 4,096 colors
- Connectivity: 2.4 GHz 802.11 b/g/n Wi‑Fi, Bluetooth 5.0
- Battery: 2000 mAh Li‑ion, supports deep‑sleep for weeks of operation
- Refresh: Full‑screen update ~15 seconds (no partial refresh)
The Spectra 6 technology gives the frame a matte, print‑like appearance that is easy on the eyes and consumes virtually no power once an image is rendered.
Software pipeline: Immich, Home Assistant and ESPHome
The image library runs on Immich, a self‑hosted alternative to Google Photos. Immich automatically backs up photos from a phone, organizes them into albums, and exposes a robust API. Home Assistant orchestrates the workflow:
- A Python script (via Pyscript) queries Immich for a random photo from a chosen album.
- The image is resized to 800 × 480 and dithered to match the Spectra 6 palette using calibrated colour values.
- The processed PNG is saved to Home Assistant’s local web directory.
- ESPHome on the reTerminal fetches the PNG, renders it, reports battery and sensor data, then returns to deep sleep.
The ESPHome YAML that handles the download looks like this:
online_image:
- url: "${ha_url}${image_path}"
id: frame_image
format: png
buffer_size: 65536
type: RGB565
resize: 800x480
on_download_finished:
then:
- logger.log: "Image downloaded, updating display..."
- component.update: epaper_display
- delay: 45s # Wait for the color e-paper refresh to finish
- logger.log: "Display refresh complete, entering deep sleep..."
- deep_sleep.enter: deep_sleep_1
on_error:
then:
- logger.log: "Image download failed"
- delay: 30s
- deep_sleep.enter: deep_sleep_1
Power management and battery life
Because ePaper holds an image without power, the frame only draws energy during Wi‑Fi connection, image download, and the 15‑second refresh. The reTerminal’s built‑in 2,000 mAh battery, combined with a four‑updates‑per‑day schedule, yields several weeks of unplugged operation. Deep‑sleep mode shuts down the ESP32‑S3 between cycles, and the three physical buttons let the user force an immediate refresh or wake the device manually.
Building the frame and open‑source ethos
All components are off‑the‑shelf and the software stack is fully open source: ESPHome firmware, Home Assistant automations, the Pyscript fetcher, and the Immich server. The author has published the complete YAML and Python scripts on GitHub, enabling anyone to replicate or extend the design. If Seeed Studio were to disappear tomorrow, the hardware would still function with any ESP32‑S3 board that can drive a Spectra 6 ePaper panel.
What this means for DIY enthusiasts
Commercial photo frames often cost several hundred dollars, lock users into proprietary clouds, and provide no hardware hackability. This $100, locally‑hosted solution demonstrates that a high‑quality, print‑like display is achievable with modest expense and full control over data. It also showcases how modern home‑automation platforms can coordinate hardware, image processing, and power management without ever reaching out to the internet.
FAQ
What hardware does the photo frame use and how much does it cost?
How does the system avoid using any cloud services?
What is the expected battery life and refresh rate of the frame?
More in the feed
Prepared by the editorial stack from public data and external sources.
Original article





