Everything you'd want from a photo frame: accurate colours, full privacy, a clean web app, and the ability to run as many frames as you like from one cheap server. Open source firmware and image server for six-colour e-ink photo frames — three models supported today, from a $99 7.3" panel to a 13.3" wall piece, all driven from one photo library.
Write the appliance image to a Raspberry Pi, join the WiFi network it creates, fill in a form — and you have a private photo frame server. No cloud, no terminal, no subscription.
| Frame | Size | Price | Status |
|---|---|---|---|
| Hokku / Huessen 13.3" | 13.3" | from ~$279 | ✅ Fully supported — the original, most thoroughly tested |
| Bigme F7 | 7.3" | ~$99 | ✅ Supported — proven end-to-end on real hardware |
| Seeed reTerminal E1004 | 13.3" | ~$288 | ⚠️ Experimental — confirmed working on real hardware once |
All three use E Ink Spectra 6, so one photo library feeds every frame — and you can mix sizes and orientations against it. See Hardware for where to buy and what to check.
Photos, your way
Looks good on e-paper
Smart about frames
Easy to run
hokku.local via mDNS, so you can bookmark http://hokku.local:8080/ and never chase a changing IP address again.
Three tabs: Images (your photo library — upload, preview, manage), Screens (live status of each frame — battery, WiFi, last seen, next update, per-frame orientation), and Config (refresh schedule and conversion settings). Everything updates live without a page reload. For a full walkthrough of every feature see the user manual.
Server side — any Linux, macOS, Windows, or Raspberry Pi on the same local network as the frame. A Raspberry Pi Zero 2 W is the recommended choice: cheap, silent, always-on, and more than fast enough. Around 512 MB of RAM; a few GB of disk for photos.
Frame side — any supported frame, a data-capable USB cable for the one-time first flash, and a 2.4 GHz WiFi network. After that first flash, firmware updates are wireless.
The easy way — the appliance image. Write it to an SD card, put it in a Raspberry Pi Zero 2 W, power it on. The Pi raises a WiFi network called Hokku Setup; join it from your phone, fill in the form that opens, and it reboots onto your own network with the server running. No keyboard, no monitor, no terminal.
Hokku loves Pi! If you need to pick one up, the hardware guide has a tested parts list that arrives next-day in the US.
Running it somewhere else — a laptop, a NAS, an existing Pi you'd rather not reimage — or prefer terminal tabs, mysterious pip errors, and the satisfaction of doing things the hard way? We've got you covered: Manual installation guide.
(Describes the Hokku / Huessen 13.3" frame — other models differ; see their screen documentation.)
The button on the back of the frame (right-hand side in landscape, lower side in portrait) forces an immediate refresh — pulls the next image from the server right now, ignoring the schedule. Works whether the frame is deep-asleep on battery, plugged into USB, or anywhere in between.
Two tiny LEDs on the bottom of the frame:
I bought the 13.3" frame in October 2025 from Wayfair for about $280 — the cheapest Spectra 6 e-ink display I could find at the time. The stock firmware didn't reliably update the image and was generally a pain to work with, so it was time to replace it. There's no public documentation on the hardware, so I had to do everything the hard way. Decided to make it an experiment in vibe coding something complex; the repo contains ~zero lines of human-written code.
Claude Sonnet and Opus were used throughout. Unfortunately, one cannot simply tell AI to build this firmware and hope it works — it takes a lot of pushing, prodding and domain knowledge for it to finally do what I needed it to do. AI proved excellent at analysing the original firmware, but needed a lot of hand-holding when writing the hardware interface. My conclusion is that AI, at the time of building this, is a savant fruitfly with ADHD: absolutely blow-me-away amazing at some things, has no idea what it did a minute ago, plain stupid at times, and way too eager to just do things if you don't hold it in check. Can't recommend a vibe-coding career in embedded software just quite yet :)
@TaichungLester did the Seeed reTerminal E1004 panel bring-up in PR #16 — the driver work that port is built on.
813 commits
2 commits
Python
67.2%
C
18.4%
HTML
10.1%
Shell
2.9%
Everything you'd want from a photo frame: accurate colours, full privacy, a clean web app, and the ability to run as many frames as you like from one cheap server. Open source firmware and image server for six-colour e-ink photo frames — three models supported today, from a $99 7.3" panel to a 13.3" wall piece, all driven from one photo library.
Write the appliance image to a Raspberry Pi, join the WiFi network it creates, fill in a form — and you have a private photo frame server. No cloud, no terminal, no subscription.
| Frame | Size | Price | Status |
|---|---|---|---|
| Hokku / Huessen 13.3" | 13.3" | from ~$279 | ✅ Fully supported — the original, most thoroughly tested |
| Bigme F7 | 7.3" | ~$99 | ✅ Supported — proven end-to-end on real hardware |
| Seeed reTerminal E1004 | 13.3" | ~$288 | ⚠️ Experimental — confirmed working on real hardware once |
All three use E Ink Spectra 6, so one photo library feeds every frame — and you can mix sizes and orientations against it. See Hardware for where to buy and what to check.
Photos, your way
Looks good on e-paper
Smart about frames
Easy to run
hokku.local via mDNS, so you can bookmark http://hokku.local:8080/ and never chase a changing IP address again.
Three tabs: Images (your photo library — upload, preview, manage), Screens (live status of each frame — battery, WiFi, last seen, next update, per-frame orientation), and Config (refresh schedule and conversion settings). Everything updates live without a page reload. For a full walkthrough of every feature see the user manual.
Server side — any Linux, macOS, Windows, or Raspberry Pi on the same local network as the frame. A Raspberry Pi Zero 2 W is the recommended choice: cheap, silent, always-on, and more than fast enough. Around 512 MB of RAM; a few GB of disk for photos.
Frame side — any supported frame, a data-capable USB cable for the one-time first flash, and a 2.4 GHz WiFi network. After that first flash, firmware updates are wireless.
The easy way — the appliance image. Write it to an SD card, put it in a Raspberry Pi Zero 2 W, power it on. The Pi raises a WiFi network called Hokku Setup; join it from your phone, fill in the form that opens, and it reboots onto your own network with the server running. No keyboard, no monitor, no terminal.
Hokku loves Pi! If you need to pick one up, the hardware guide has a tested parts list that arrives next-day in the US.
Running it somewhere else — a laptop, a NAS, an existing Pi you'd rather not reimage — or prefer terminal tabs, mysterious pip errors, and the satisfaction of doing things the hard way? We've got you covered: Manual installation guide.
(Describes the Hokku / Huessen 13.3" frame — other models differ; see their screen documentation.)
The button on the back of the frame (right-hand side in landscape, lower side in portrait) forces an immediate refresh — pulls the next image from the server right now, ignoring the schedule. Works whether the frame is deep-asleep on battery, plugged into USB, or anywhere in between.
Two tiny LEDs on the bottom of the frame:
I bought the 13.3" frame in October 2025 from Wayfair for about $280 — the cheapest Spectra 6 e-ink display I could find at the time. The stock firmware didn't reliably update the image and was generally a pain to work with, so it was time to replace it. There's no public documentation on the hardware, so I had to do everything the hard way. Decided to make it an experiment in vibe coding something complex; the repo contains ~zero lines of human-written code.
Claude Sonnet and Opus were used throughout. Unfortunately, one cannot simply tell AI to build this firmware and hope it works — it takes a lot of pushing, prodding and domain knowledge for it to finally do what I needed it to do. AI proved excellent at analysing the original firmware, but needed a lot of hand-holding when writing the hardware interface. My conclusion is that AI, at the time of building this, is a savant fruitfly with ADHD: absolutely blow-me-away amazing at some things, has no idea what it did a minute ago, plain stupid at times, and way too eager to just do things if you don't hold it in check. Can't recommend a vibe-coding career in embedded software just quite yet :)
@TaichungLester did the Seeed reTerminal E1004 panel bring-up in PR #16 — the driver work that port is built on.
813 commits
2 commits
Python
67.2%
C
18.4%
HTML
10.1%
Shell
2.9%