Update remaining docs for the second panel/board (missed in the previous commit)
docs/hardware.md and firmware/README.md were updated already; this catches the root README, docs/architecture.md, docs/widgets.md, and server/README.md -- all still described the project as single-panel/ single-chip (800x480, ESP32-C6 only) even after image_pipeline.py stopped hardcoding that.
This commit is contained in:
@@ -1,9 +1,12 @@
|
||||
# ESPresso Frame
|
||||
|
||||
A DIY e-ink photo frame: an ESP32-C6 pulls photos from your
|
||||
[Immich](https://immich.app) library and displays them on a 7.3" full-color
|
||||
A DIY e-ink photo frame: an ESP32 board pulls photos from your
|
||||
[Immich](https://immich.app) library and displays them on a full-color
|
||||
e-paper panel, waking on a timer to refresh and spending the rest of its
|
||||
time in deep sleep.
|
||||
time in deep sleep. The original build is a 7.3" panel on an ESP32-C6;
|
||||
a larger 13.3" panel on Seeed's EE02 (ESP32-S3) is supported
|
||||
server-side, but its firmware driver isn't working yet -- see
|
||||
[`docs/hardware.md`](docs/hardware.md).
|
||||
|
||||
- **No cables to a computer, no SD card shuffling.** Provisioning is a
|
||||
captive portal with a QR code drawn on the panel itself -- scan, join,
|
||||
@@ -12,7 +15,9 @@ time in deep sleep.
|
||||
all the work (pulling from Immich, cropping, dithering, packing into
|
||||
the panel's exact pixel format) and hands the device a stream it can
|
||||
write straight to SPI. The ESP32-C6 has no PSRAM and not much SRAM to
|
||||
spare -- keeping it a dumb display client is what makes that workable.
|
||||
spare -- keeping it a dumb display client is what makes that workable
|
||||
(the same design carries over to the ESP32-S3 board even though it
|
||||
does have PSRAM, for consistency).
|
||||
- **Crops toward faces, not just the center**, using face bounding boxes
|
||||
Immich already computed for its own People feature -- no bundled face
|
||||
detector.
|
||||
@@ -21,8 +26,13 @@ time in deep sleep.
|
||||
|
||||
## Hardware
|
||||
|
||||
- ESP32-C6 dev board (8MB flash)
|
||||
- [Waveshare 7.3" E Ink Spectra 6 (E6)](https://www.waveshare.com/7.3inch-e-paper-hat-e.htm) panel -- 800x480, 6-color, SPI
|
||||
- ESP32-C6 dev board (8MB flash), or Seeed's XIAO ESP32-C6 (production
|
||||
board) -- both drive the panel below.
|
||||
- [Waveshare 7.3" E Ink Spectra 6 (E6)](https://www.waveshare.com/7.3inch-e-paper-hat-e.htm) panel -- 800x480, 6-color, SPI.
|
||||
- Experimental, not yet working: [Waveshare 13.3" E Ink Spectra 6](https://www.waveshare.com/13.3inch-e-paper-hat-plus-e.htm)
|
||||
(1600x1200) on [Seeed's EE02](https://www.seeedstudio.com/XIAO-ePaper-DIY-Kit-EE02-for-13-3-Spectratm-6-E-Ink.html)
|
||||
(ESP32-S3) -- server-side support exists, but the firmware driver's
|
||||
panel init sequence isn't ported from vendor code yet.
|
||||
|
||||
See [`docs/hardware.md`](docs/hardware.md) for wiring,
|
||||
[`docs/architecture.md`](docs/architecture.md) for how the two halves talk
|
||||
@@ -34,14 +44,14 @@ placeable photos/calendar/whiteboard widget system.
|
||||
1. **[`server/`](server/)** -- run the FastAPI server first (Docker
|
||||
Compose, points at your Immich instance). See
|
||||
[`server/README.md`](server/README.md).
|
||||
2. **[`firmware/`](firmware/)** -- build and flash the ESP32-C6, then
|
||||
2. **[`firmware/`](firmware/)** -- build and flash the board, then
|
||||
scan the QR codes it draws on first boot to provision it. See
|
||||
[`firmware/README.md`](firmware/README.md).
|
||||
|
||||
## Repo layout
|
||||
|
||||
```
|
||||
firmware/ ESP-IDF project for the ESP32-C6
|
||||
firmware/ ESP-IDF project (ESP32-C6 devkit/xiao boards, ESP32-S3 ee02)
|
||||
server/ FastAPI server: Immich -> crop/dither/pack -> the frame
|
||||
docs/ Wiring and architecture notes
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user