Skip to content

AgentDeck ESP32 v1.2.1

Latest

Choose a tag to compare

@github-actions github-actions released this 04 Sep 00:56
· 2 commits to master since this release

AgentDeck ESP32 v1.2.1

A pager chime now points at the session that needs you

The T-Embed CC1101 could play its deliberate two-note attention chime for a
Claude or Codex session while keeping the idle OpenClaw card in the center.
Audio and display had separate waiting detectors: the first watched every
session, while the second preferred the conversational assistant until the
operator turned the knob. The carousel now centers the exact session that
entered a response wait and follows its ID across roster reordering. It keeps
an in-progress detail/history cursor intact and names the other waiting session
in the footer instead.

The same waiting request also no longer becomes a new alert when USB or WiFi
briefly drops the roster. A fixed-size per-session latch survives empty roster
frames and rearms only after that session is explicitly observed outside an
awaiting state. Repeated broadcasts therefore stay silent; a genuinely new
question still rings once.

Firmware for every board this repository builds. Each asset is named by the
board's canonical id — the same string the firmware reports as
device_info.board and the one agentdeck esp32-ota <target> takes, so the
file you download is the target you pass.

Board Factory image Display PlatformIO env Wi-Fi OTA Browser flash
86 Box agentdeck-86box-merged.bin 4" 480x480 ST7701 box_86 yes yes
InkDeck agentdeck-inkdeck-merged.bin 7.5" 800x480 e-ink UC8179 inkdeck yes yes
IPS 10.1" agentdeck-ips_10-merged.bin 10.1" 800x1280 JD9365 ips10 yes no
IPS 3.5" agentdeck-ips_35-merged.bin 3.5" 480x320 AXS15231B ips35 yes untested
LilyGo T5 ePaper S3 agentdeck-lilygo_epd47-merged.bin 4.7" 960x540 grayscale e-ink ED047TC2 lilygo_epd47 yes untested
RockBase NM-EPD-420 agentdeck-nm_epd_420-merged.bin 4.2" 400x300 tri-color e-ink GDEY042Z98 nm_epd_420 no untested
Round AMOLED agentdeck-round_amoled-merged.bin 1.8" 360x360 ST77916 amoled yes untested
T-Display-S3-Pro agentdeck-t_display_pro-merged.bin 2.33" 480x222 ST7796U t_display_pro yes yes
T-Embed CC1101 agentdeck-t_embed-merged.bin 1.9" 320x170 ST7789 t_embed yes untested
TTGO T-Display agentdeck-ttgo_t_display-merged.bin 1.14" 240x135 ST7789 ttgo yes yes
Ulanzi TC001 agentdeck-ulanzi_tc001-merged.bin 32x8 WS2812B matrix led8x32 yes yes
Waveshare C6-LCD-1.47 agentdeck-esp32_c6_147-merged.bin 1.47" 172x320 ST7789 esp32_c6_147 no untested

Flash over USB

Each board ships a merged factory image — one file, written at one offset,
on every chip:

esptool --port PORT write-flash 0x0 agentdeck-<board>-merged.bin

The merged image already carries the bootloader, the partition table,
boot_app0 and the application, with the flash size and mode patched into its
header. That matters: the bootloader offset is chip-specific (0x1000 on ESP32,
0x2000 on ESP32-P4, 0x0 elsewhere), and writing the application alone leaves
boot_app0 pointing at whichever slot a previous OTA selected — so the board
can come up running the OLD firmware. The loose -bootloader.bin,
-partitions.bin, -boot_app0.bin and -<board>.bin files are still
published for recovery work; prefer the merged image.

manifest.json carries the same facts in machine-readable form (offsets,
sha256, per-board reset/baud settings). SHA256SUMS.txt covers every binary.

Update over Wi-Fi

agentdeck esp32-ota <board> --firmware agentdeck-<board>.bin

The board must already be provisioned and connected to the daemon over Wi-Fi.
86box and ips_10 units flashed before 2026-07-05 may still carry a
factory/NO_OTA layout and need one USB full flash first.

Flash from a browser

5 of 12 boards are hardware-verified for browser flashing
(Chrome or Edge on desktop, via Web Serial). Boards marked untested are listed
there too, disabled, with the reason — a hidden board reads as unsupported.

Full changelog: https://github.com/puritysb/AgentDeck/blob/esp32-v1.2.1/CHANGELOG.md