AgentDeck · Surface catalog

Every surface,
made physical.

Every card is the real thing running a live session — photographed on the desk, or captured from the surface itself. Board-level specifications live in the compatibility matrix.

A desk running AgentDeck on every surface at once — monitors, InkDeck e-ink, XTeink readers, Timebox Mini, Pixoo64, TC001, Stream Deck+, Ulanzi D200H, iPad, and phone

Control decks

Two-way surfaces: they show session state and let you focus, approve, stop, and respond without returning to the terminal.

Elgato Stream Deck+ and the 15-key Stream Deck, both showing one AgentDeck session per key

Elgato Stream Deck family

SDK v2

Session-per-button control — the exact key the plugin renders. Bundled profiles for the 15-key, Mini, XL, Stream Deck+, and + XL. Published on the Elgato Marketplace.

Profiles15-key · Mini · Plus
LayoutSession per button
InstallElgato Marketplace
Ulanzi D200H Deck Dock with lit AgentDeck session keys

Ulanzi D200H

14 keys

Deck Dock with LCD keys, driven by the Ulanzi Studio plugin.

Canvas960×540
DriverStudio plugin

Apps & terminal

Each app is a separately designed UI — macOS and iOS/iPadOS are similar but distinct, while Android tablet and Android e-ink are entirely different layouts. The dependency-free TUI keeps the same sessions visible inside a terminal.

AgentDeck macOS dashboard screenshot

macOS

Native

SwiftUI desktop dashboard with the in-process daemon hub — the App Store app.

RoleDashboard + hub
DaemonIn process
iPad running the AgentDeck companion app

iOS / iPadOS

Native

Same-LAN SwiftUI companion — monitoring on iPhone, terrarium second screen on iPad.

TransportPaired WebSocket
InputTouch + voice
Android tablet running the AgentDeck Compose dashboard

Android Tablet

Native

Compose color dashboard — 60fps terrarium + HUD overlay.

CanvasColor LCD
DiscoverymDNS · Wi-Fi WS
NeedsComputer daemon
AgentDeck Android e-ink reader photography

Android E-ink

Native

Reader-tuned Compose layouts for Crema, Onyx, Kobo, and Bigme — B&W and Kaleido 3 color.

RefreshGC16 · DU · A2
ColorB&W + Kaleido 3
NeedsComputer daemon
AgentDeck TUI dashboard in a terminal

TUI Dashboard

Terminal

agentdeck dashboard — the same sessions in truecolor ANSI, over SSH if you like.

RenderTruecolor ANSI
LayoutAdaptive

ESP32 displays

Purpose-built firmware on native pixel grids, photographed running a live session. Pixel-exact firmware frames for these boards live in the Live Preview.

ESP32 IPS 3.5-inch panel running AgentDeck

IPS 3.5"

ESP32-S3

Landscape LVGL terrarium + HUD on a 480×320 IPS panel (JC3248W535).

Canvas480×320 IPS
TransportSerial · Wi-Fi
ESP32 86 Box wall panel running AgentDeck

86 Box 4"

ESP32-S3

4-inch 480×480 wall-box with GT911 touch (ESP32-S3-4848S040).

Canvas480×480 IPS
InputGT911 touch
ESP32 round AMOLED panel running AgentDeck

Round AMOLED 1.8"

ESP32-S3

1.8-inch 360×360 round AMOLED — compact terrarium (JC3636W518).

Canvas360×360
ShapeRound AMOLED
LilyGO T-Display-S3-Pro running the AgentDeck usage page

T-Display-S3-Pro

ESP32-S3

2.33-inch 480×222 touch strip — focus, usage, and session pages on a battery-powered desk strip. A POGO camera shield is a purchase option and adds show-and-tell capture (LilyGO).

Canvas480×222 touch
InputTouch · 4 buttons
LilyGO T-Embed CC1101 Companion Knob showing an AgentDeck session card

T-Embed CC1101

ESP32-S3

1.9-inch 320×170 strip behind a rotary encoder — the only board you steer with rather than just read: turn to pick a session, press to open, hold to talk. Unplugged it becomes a battery pager (LilyGO).

Canvas320×170 + 8-LED ring
InputRotary encoder
TTGO T-Display photography

TTGO T-Display

ESP32

Pocket 135×240 status strip — mini terrarium + metrics (LilyGO).

Canvas135×240 TFT
Input2 buttons
Waveshare ESP32-C6 LCD 1.47-inch board running AgentDeck

Waveshare LCD 1.47"

ESP32-C6

172×320 strip on an ESP32-C6 — the smallest always-on surface, powered over USB-C.

Canvas172×320 TFT
TransportSerial · Wi-Fi
ESP32 IPS 10.1-inch panel running the AgentDeck dashboard

IPS 10.1"

ESP32-P4 + C6

10.1-inch 800×1280 "pixel office" dashboard (JC8012P4A1C).

Panel800×1280 MIPI-DSI
Memory16MB flash · 32MB PSRAM
InkDeck e-ink photography

InkDeck

ESP32-S3

7.5-inch 800×480 1-bit e-ink dashboard — custom firmware on the Seeed TRMNL OG DIY Kit, USB serial + Wi-Fi, updates via WiFi OTA.

Canvas800×480 e-ink
TransportSerial · Wi-Fi
XTeink X3 / X4 e-ink readers running AgentDeck

XTeink X3 / X4

Community fork

CrossPoint Reader fork on ESP32-C3 e-ink readers — decision cards + timeline, registered with both daemons over Wi-Fi. Distributed by the fork project (SD-card flash); its renderer lives outside this repository, so the Live Preview has no canonical frame for it.

X3528×792 portrait
X4800×480 landscape

Pixel displays

Small commercial displays turn session state and usage windows into ambient, glanceable signals — photographed showing exactly what the daemon pushed.

Divoom Pixoo64 Wi-Fi LED photography

Divoom Pixoo64

HTTP

64×64 Wi-Fi LED frame — ambient terrarium + usage rows.

Grid64×64 RGB
RoleTerrarium + usage
iDotMatrix 32 by 32 LED display running AgentDeck

iDotMatrix

BLE

32×32 BLE pixel display — the same terrarium renderer at native size.

Grid32×32 RGB
RoleCompact terrarium
Divoom Timebox Mini showing an AgentDeck micro glyph

Timebox Mini

BLE

11×11 BLE micro glyph — one dominant creature on a status field.

Grid11×11 RGB
RoleMicro glyph
Ulanzi TC001 8 by 32 matrix photography

Ulanzi TC001

ESP32

8×32 LED matrix running AgentDeck firmware — usage + agent pages.

Grid32×8 RGB
RoleUsage + agents

ESP32 board spec sheet

Every ESP32 board on hand, at a glance — generated from the compatibility matrix, so these values cannot drift from the source of truth.

JC8012P4A1C

Shipping

ips_10 · ips10

PeripheralsFront MIPI-CSI 1080p camera (sensor unconfirmed) · ESP32-C6 Wi-Fi coprocessor · ES8311 audio codec (0x18) + speaker (playback verified) · 2× mic (vendor spec, unused)

SoCESP32-P4NRW32 + C6
Memory16 MB · 32 MB
Display10.1″ IPS LCD · 800×1280
ControllerJD9365 MIPI-DSI
InputGSL3680 touch
Host linkCH340 USB serial
OTA slot6 MB

ESP32-S3-4848S040

Shipping

86box · box_86

SoCESP32-S3
Memory16 MB · 8 MB
Display4.0″ IPS LCD · 480×480
ControllerST7701 RGB
InputGT911 touch
Host linkCH340 USB serial
OTA slot7.75 MB

JC3248W535

Shipping

ips_35 · ips35

PeripheralsFAT data partition

SoCESP32-S3
Memory16 MB · 8 MB
Display3.5″ IPS LCD · 480×320
ControllerAXS15231B QSPI
InputAXS15231B touch (0x3B)
Host linkNative USB JTAG
OTA slot3.5 MB

LilyGO T-Display-S3-Pro V1.1 · GC0308

Shipping

t_display_pro · t_display_pro

PeripheralsGC0308 camera · SY6970 PMU (0x6A) · LTR-553ALS (0x23) · microSD · 470 mAh

SoCESP32-S3R8
Memory16 MB · 8 MB
Display2.33″ IPS LCD · 480×222
ControllerST7796U SPI
InputCST226SE touch (0x5A) · 4 physical buttons (BOOT + split rocker are app-readable; RST is hard reset)
Host linkNative USB JTAG
OTA slot6 MB

LilyGO T-Display-S3-Pro V1.1 · no camera

Shipping

t_display_pro · t_display_pro

PeripheralsSY6970 PMU (0x6A) · LTR-553ALS (0x23) · microSD · 470 mAh · camera POGO header

SoCESP32-S3R8
Memory16 MB · 8 MB
Display2.33″ IPS LCD · 480×222
ControllerST7796U SPI
InputCST226SE touch (0x5A) · 4 physical buttons (BOOT + split rocker are app-readable; RST is hard reset)
Host linkNative USB JTAG
OTA slot6 MB

LilyGO T-Embed CC1101

Shipping

t_embed · t_embed

PeripheralsCC1101 sub-GHz · PN532 NFC (0x24) · IR TX/RX · 8× WS2812 · mic + speaker · BQ25896 (0x6B) · BQ27220 (0x55) · microSD · 1300 mAh

SoCESP32-S3-WROOM-1
Memory16 MB · 8 MB
Display1.9″ IPS LCD · 320×170
ControllerST7789 SPI
InputRotary encoder · button
Host linkNative USB JTAG
OTA slot6 MB

JC3636W518

Shipping

round_amoled · amoled

SoCESP32-S3
Memory8 MB · 8 MB
Display1.8″ round AMOLED · 360×360
ControllerST77916 QSPI
InputCST816S touch
Host linkNative USB JTAG
OTA slot3 MB

Seeed TRMNL 7.5 DIY Kit

Shipping

inkdeck · inkdeck

PeripheralsUSB-powered only

SoCXIAO ESP32-S3 Plus
Memory8 MB · 8 MB
Display7.5″ e-ink 1-bit · 800×480
ControllerUC8179
Input
Host linkNative USB CDC
OTA slot3.19 MB

XTeink X4

Community fork

xteink_x4 · external fork

PeripheralsmicroSD · 650 mAh

SoCESP32-C3
Memory16 MB · none
Display4.26″ e-ink · 480×800 portrait
ControllerSSD1677
InputPage buttons
Host linkWi-Fi only
OTA slotWi-Fi OTA · SD update.bin

XTeink X3

Community fork

xteink_x3 · external fork

PeripheralsI2C IMU (runtime model detect) · NFC · microSD · battery

SoCESP32-C3
Memory16 MB · none
Display3.7″ e-ink · 528×792 portrait
Controller
InputPage buttons
Host linkWi-Fi only
OTA slotWi-Fi OTA · SD update.bin

Waveshare ESP32-C6-LCD-1.47

Shipping

esp32_c6_147 · esp32_c6_147

SoCESP32-C6
Memory4 MB · none
Display1.47″ IPS LCD · 172×320
ControllerST7789
Input
Host linkNative USB CDC
OTA slotSingle app

LilyGO T-Display

Shipping

ttgo_t_display · ttgo

SoCESP32 classic
Memory16 MB · none
Display1.14″ IPS LCD · 135×240
ControllerST7789 SPI
Input2 buttons
Host linkCH340 USB serial
OTA slot6 MB

Ulanzi TC001

Shipping

ulanzi_tc001 · led8x32

PeripheralsBuzzer on GPIO 15 (silenced at boot)

SoCESP32 classic
Memory8 MB · none
DisplayWS2812B LED matrix · 32×8
ControllerWS2812B
Input3 buttons
Host linkCH340 USB serial
OTA slot3 MB

13 boards — 11 running AgentDeck firmware, 2 on the community CrossPoint fork, 0 on hand for evaluation. Ordered by overall capability: SoC class, then memory, then panel, then peripheral breadth. Evaluation boards are not counted as surfaces and carry no compatibility claim.