No description
  • TypeScript 91.4%
  • C++ 7.7%
  • CSS 0.4%
  • Dockerfile 0.3%
Find a file
2026-05-05 20:29:07 +00:00
.devcontainer Phase 2 — Full web app, admin UI, generators, and 31 bug fixes (#1) 2026-05-04 22:16:42 +01:00
.github/workflows Phase 2 — Full web app, admin UI, generators, and 31 bug fixes (#1) 2026-05-04 22:16:42 +01:00
docs added additional generators 2026-05-05 20:08:33 +00:00
src fixed shared plugin settings issue 2026-05-05 20:29:07 +00:00
test Phase 2 — Full web app, admin UI, generators, and 31 bug fixes (#1) 2026-05-04 22:16:42 +01:00
.dockerignore Phase 2 — Full web app, admin UI, generators, and 31 bug fixes (#1) 2026-05-04 22:16:42 +01:00
.env.example Phase 2 — Full web app, admin UI, generators, and 31 bug fixes (#1) 2026-05-04 22:16:42 +01:00
.gitignore added postcss.config.js to the dockerfile 2026-05-04 21:31:19 +00:00
.nvmrc Phase 2 — Full web app, admin UI, generators, and 31 bug fixes (#1) 2026-05-04 22:16:42 +01:00
.prettierignore Phase 2 — Full web app, admin UI, generators, and 31 bug fixes (#1) 2026-05-04 22:16:42 +01:00
.prettierrc Phase 2 — Full web app, admin UI, generators, and 31 bug fixes (#1) 2026-05-04 22:16:42 +01:00
components.json Phase 2 — Full web app, admin UI, generators, and 31 bug fixes (#1) 2026-05-04 22:16:42 +01:00
docker-compose.yml Phase 2 — Full web app, admin UI, generators, and 31 bug fixes (#1) 2026-05-04 22:16:42 +01:00
docker-entrypoint.sh Fix server entry point path to match tsconfig output structure 2026-05-04 21:38:56 +00:00
Dockerfile added fonts into docker 2026-05-04 22:10:57 +00:00
drizzle.config.ts Phase 2 — Full web app, admin UI, generators, and 31 bug fixes (#1) 2026-05-04 22:16:42 +01:00
eslint.config.js Phase 2 — Full web app, admin UI, generators, and 31 bug fixes (#1) 2026-05-04 22:16:42 +01:00
package-lock.json Phase 2 — Full web app, admin UI, generators, and 31 bug fixes (#1) 2026-05-04 22:16:42 +01:00
package.json added additional generators 2026-05-05 20:08:33 +00:00
platformio.ini Phase 2 — Full web app, admin UI, generators, and 31 bug fixes (#1) 2026-05-04 22:16:42 +01:00
pnpm-lock.yaml added additional generators 2026-05-05 20:08:33 +00:00
postcss.config.js Phase 2 — Full web app, admin UI, generators, and 31 bug fixes (#1) 2026-05-04 22:16:42 +01:00
README.md Initial project scaffolding for home-display firmware 2026-05-01 08:57:17 +01:00
secrets.ini.example Initial project scaffolding for home-display firmware 2026-05-01 08:57:17 +01:00
tsconfig.client.json Phase 2 — Full web app, admin UI, generators, and 31 bug fixes (#1) 2026-05-04 22:16:42 +01:00
tsconfig.json Phase 2 — Full web app, admin UI, generators, and 31 bug fixes (#1) 2026-05-04 22:16:42 +01:00
tsconfig.server.json Phase 2 — Full web app, admin UI, generators, and 31 bug fixes (#1) 2026-05-04 22:16:42 +01:00
tsconfig.shared.json Phase 2 — Full web app, admin UI, generators, and 31 bug fixes (#1) 2026-05-04 22:16:42 +01:00
vite.config.ts Phase 2 — Full web app, admin UI, generators, and 31 bug fixes (#1) 2026-05-04 22:16:42 +01:00
vitest.config.ts Phase 2 — Full web app, admin UI, generators, and 31 bug fixes (#1) 2026-05-04 22:16:42 +01:00

new-home-display

ESP32 firmware that drives a 13.3" 4-color e-paper panel and exposes an HTTP push API. Clients render their own framebuffer in 2-bit-per-pixel native format and POST it; the firmware streams it to the panel.

curl -X POST \
  -H "Authorization: Bearer $EPD_TOKEN" \
  --data-binary @frame.bin \
  http://display.local/fb

Repository layout

docs/                   Design and hardware reference
sample-code/            Vendor-supplied driver sample (reference only)
src/
  main.cpp              Entry point — wires modules together
  config/               Build flags, pin map, timing constants
  display/              Bare-metal SSD2677 driver + IPanel adapter
  app/                  FrameQueue, IPanel/IFrameSource, RefreshMachine
  net/                  WiFi association, mDNS, reconnect handling
  http/                 AsyncWebServer routes, bearer-token auth
test/                   Host-side Unity tests for state machine logic
platformio.ini          Production + native test environments

Build and flash

Edit the placeholder build_flags in platformio.ini (WiFi creds, bearer token, hostname, IPs), then:

pio run -t upload          # production firmware to ESP32-L
pio test -e native         # state-machine logic tests on host

Documentation