Devices M5Stack StopWatch · PaperColor · StickS3 · Waveshare ePaper

Talk to your agents. They talk back.

Press, speak, done. The answer is spoken sentence by sentence while it's still being written, the text following the voice. Offline, it keeps voice notes and sends them when the deck is back.

StopWatch clock face: Captain above 15:00 over a frosted mountain picture, with battery time left
StopWatch speaking an answer about tomorrow's meetings
PaperColor dashboard: the time, room climate, battery and voice notes
PaperColor showing an answer
StopWatch466×466 round AMOLED · touch · vibration · press to talk
PaperColor4″ six-ink e-paper · room sensor · status lights · a dashboard every 5 min

One turn, end to end

1

Press and talk

Press once, talk, press again. On the StickS3 and the PaperColor 2.5 seconds of quiet also sends it; on the StopWatch and the Waveshare board only a press or a tap ends a recording, however long you pause. A blip starts the recording and a lower one ends it. On the PaperColor a press from sleep starts recording at once, while Wi-Fi and the deck connect.

2

Flight Deck transcribes, your agent works

Audio streams to /device/ws, Soniox turns it into text, and the agent you picked takes the turn with all its tools — plus the device's readings (battery, Wi-Fi, how it's held, the room's temperature and humidity, the local time) as a [Context: …] line, never as your words.

3

Watch it think

The working screen shows what the agent is doing right now — "google_calendar · list events", "0:12 · 3 steps" — with a tick on the ring per tool step and a stop button that ends the turn after the current step.

4

Hear it as it's written

The deck forwards the model's text as it streams. Each finished sentence is shown and spoken while the rest is still being written, so the first words come early. On the watch the sentence being read is lit and the pages turn with the voice; pause, play and replay sit under the text. The voice plays through a ring, and the device asks the deck to wait when it falls behind. The deck speaks up to about 1,500 characters and shows the rest.

Firmware in firmware/device/, server at /device/ws. The deck needs a Soniox key for speech in and voice out — yours, or a team key an admin shares.

StopWatch clock face: Captain above 15:00 on a dial with the seconds in gold, Monday 2 November, about 2 h 10 min of battery left, and the battery arc at 82%
Clock face · Captain
StopWatch listening: wide-eyed Captain over voice bars, 0:04, press again to send, coral ring
Listening · press again to send
StopWatch working: Captain, the question, google_calendar list events, Looking for a free slot on Friday, 0:12 and 3 steps, a stop button, gold ring
Working · live activity, stop
StopWatch answer about the weather — the sentence being spoken is lit, the rest dimmed, a pause button underneath
The lit sentence follows the voice

StopWatch screens, rendered by the firmware's own Mac preview build.

Four devices, one firmware

A stick for the pocket, a watch for the wrist, two papers for the desk

One source tree builds them all, and every one takes signed updates from your own deck.

M5Stack StickS3 240 × 135
Captain ▮▮▮ 82%

"…move the dentist to Friday afternoon?"

0:12

3 steps

google_calendar · list events

Looking for a free slot …

side · menu
front · press to talk
StickS3The pocket original — an illustration of its working screen.
StopWatch clock face drawn over a frosted background picture of mountains at dusk
StopWatchRound AMOLED, touch, vibration — wearing the picture you sent the agent.
PaperColor dashboard in blocks of colour: a black block with 15:00, Monday 2 November and two green dots, then blue Room, green Power and yellow Notes, and a tile with the mic and Captain
PaperColor4" colour e-paper with status lights and a room sensor.
Waveshare ePaper 1.54 asleep: the clock and date above a sleeping robot, and Press Up to wake
Waveshare ePaper 1.54Quick black-and-white e-paper, with or without touch.
StickS3
StopWatch
PaperColor
Waveshare ePaper 1.54
Screen
240 × 135 LCD
466 × 466 round AMOLED, touch
4" E Ink Spectra 6, 400 × 600, six inks
200 × 200 black-and-white e-paper, optional touch
Talk
front button
yellow button, or the on-screen record button
A (B build) · C (A build)
the upper button (the gear), or a tap on the home tile or the middle of an answer on the touch board
Extras
Captain, animated
clock face, raise to wake, vibration, background picture, info page
two RGB status lights, room temperature and humidity, microSD notes
a drawn menu, a sleeping clock on a timer you pick, a green status LED
Firmware
0.20.4
0.20.4
1.0.31 (B) · 0.20.4 (A)
0.20.4
Build
pio run -e sticks3
pio run -e stopwatch
pio run -e papercolor_b
pio run -e epaper154
PaperColor

A colour e-paper that lets the lights do the talking

A Spectra 6 panel takes 15–30 seconds to redraw, so the PaperColor is voice-first. Its two status lights carry the turn — red while it records, a blink per agent step, green with the voice, and which side is down when it's offline — and the paper is a dashboard you glance at. It goes all white once an hour, so the six inks stay clean.

B

The dashboard, every five minutes — clock, date, room temperature and humidity, battery with time left, voice notes waiting and room left, the Wi-Fi and agent dots, and a big tile with the mic and Captain. In blocks of colour since 0.8.5, with the links on the options screen. Awake or asleep.

A

A talks, B shows the answer, C the options — the last answer at the largest of four sizes that fits it on one page; the options page is a QR code for every setting on your phone.

SD

Notes on a microSD card, put in or taken out while it's awake — and only the files it named are ever read or removed.

PaperColor B showing an answer in large type
The answer, as large as fits
PaperColor B in note mode: a red top block and a black tile with a yellow notepad, a 3 on its corner, Hold the mic to send, 3 notes and 14 minutes free
Note-taking mode
PaperColor A showing an answer with a picture of a sunset over mountains, dithered into six inks
The A build · pictures in six inks
The StopWatch showing the background picture alone
Swipe right: the picture
StopWatch info page — 3 notes waiting, room for 14 min of notes, Wi-Fi Harbour-5G, the deck, the agent
Swipe left: the info page
StopWatch status gauge — battery ring at 82 %, 3.98 V, about 2 h 10 min left
Status as gauges
StopWatch clock face with a red arc and Note mode · hold yellow to send
Note-taking mode
StopWatch

A watch you can live with

Idle, it is a clock face with Captain above the time, alive and blinking, on a dial with the seconds going round in gold. Raise your wrist to wake it. Send the agent a picture and say "make this my watch background" — the watch_background tool crops it to the circle and every screen is drawn on it, frosted.

Swipe between the picture, the clock and an info page; touch in every picker; a small vocabulary of haptic ticks; screens that slide and fade; a working ring that breathes. And underneath, the fixes that make it usable all day: smooth playback, a panel that really sleeps, a turn that holds through a dropped link.

Waveshare ePaper 1.54

A small paper that's quick, and sleeps with a clock

A 200×200 black-and-white panel on a Waveshare ESP32-S3 board, with or without touch. A partial refresh takes 0.6 seconds, fast enough for a drawn menu and answers that page with the voice.

  • The upper button (the gear; the screens call it Up) talks, and only a press, or a tap on the touch board, ends a recording. PWR cancels one.
  • Double-click PWR, or double-tap the touch board, to go home.
  • The green LED is steady while recording, breathes while the agent works, and blinks twice when something waits.
  • Asleep, it keeps the clock on a timer you pick: every minute up to every 3 hours, or never.
  • V2 boards only. Flash it once over USB; updates come over the air after that.
Waveshare ePaper 1.54 home screen: 15:00, Mon 2 Nov, a black tile with a microphone and the gear icon over to talk, and about 2 h 10 min left
Home
Waveshare ePaper 1.54 listening: a record mark, 0:12, a level bar, Up sends and PWR cancels
Listening · PWR cancels
Waveshare ePaper 1.54 showing a spoken answer about tomorrow's meetings
An answer, spoken as it's shown
Waveshare ePaper 1.54 asleep: the clock above a sleeping robot
Asleep, with its clock

Rendered by the firmware's own Mac preview build.

Voice notes, offline

No Wi-Fi, or the deck is down? Talking keeps a voice note — about 13 minutes in the watch's flash, far more on the paper's microSD. When the deck is back the device asks (the PaperColor B doesn't need to), then sends them as one turn the agent reads in order, with when each was said.

Note-taking mode

Hold the talk button and every recording is kept as a note — written as it's recorded, no length limit, online too. Hold it again and they all go to the agent at once: a meeting, a walk, a list of ideas.

Signed updates over the air

Publish a build to Flight Deck and every device gets the offer — Menu → Software update, or by itself on USB. ECDSA P-256 signed, SHA-256 checked, and a build that can't reach the deck within 90 s rolls back on its own.

The agent knows where you are

Every question carries the battery, Wi-Fi, motion, the room's temperature and humidity and the local time. Battery time left — or until full — is learned across deep sleep and shown on the device.

"Volume up." "Beep off."

Spoken sound commands, in English or Croatian, never reach the agent: the deck catches them, the device changes and says the result at the new volume.

Made for weak Wi-Fi

A turn holds through a dropped link and the answer arrives after the reconnect. With no saved network in reach, a device is an offline note-taker within seconds. "New topic, how warm is it?" goes straight to the answer.

Captain on screen

Icon mode replaces text with Captain, the robot from the app icon, which blinks, listens, thinks and speaks with its grille, with the spoken sentence as a subtitle on the watch. Its face and lamp show the agent's state.

Pictures and sound, both ways

Agent-made images fill the round screen or are dithered into the paper's six inks; agent-made audio plays after the speech; replay the whole answer from memory, offline.

Setup from a hotspot

Scan the QR on screen, open 192.168.4.1, enter up to five Wi-Fi networks, your deck address and an access token. Later, every setting is on your phone behind a one-time QR.

Pick the agent from the deviceSpoken-reply language per deviceVolume 25–100% · boost +6/+10 dBTalk sounds and chimes, or nonePause · play · replay · stopText size small / medium / largePower off after 1 min … 2 h, or neverBattery time leftMale / female voice"via M5Stack StickS3 (desk)" in your chatWorks over wss:// through your deck domain

Every screen on the watch

Clock face · battery time left
Clock face · battery time left
Tap to talk
Tap to talk
Spoken sentence lit
Spoken sentence lit
Paused · tap to play
Paused · tap to play
Replay when it's done
Replay when it's done
Captain, with subtitles
Captain, with subtitles
Working, on your picture
Working, on your picture
An answer, on your picture
An answer, on your picture
Recording a note
Recording a note
Send the saved notes?
Send the saved notes?
Status · Wi-Fi gauge
Status · Wi-Fi gauge
Status · firmware, update
Status · firmware, update
Volume · 25/50/75/100%
Volume · 25/50/75/100%
Two-level menu
Two-level menu
Any agent you own
Any agent you own
Captain · speaking
Captain · speaking
Captain · thinking
Captain · thinking
Captain · listening
Captain · listening
A picture the agent made
A picture the agent made
Tap: the whole picture
Tap: the whole picture
Č, ć, š, ž, đ — any language
Č, ć, š, ž, đ — any language
First-time setup · scan the QR
First-time setup · scan the QR
Low battery in red
Low battery in red

And on the paper

B · the dashboard
B · the dashboard
B · a short answer
B · a short answer
B · a long one, paged
B · a long one, paged
B · options on your phone
B · options on your phone
B · what's down, in red
B · what's down, in red
B · first-time setup
B · first-time setup
A · home and room
A · home and room
A · an answer
A · an answer
A · a pinned answer
A · a pinned answer
A · turned sideways
A · turned sideways
The device bridge

Audio up, sentences, speech and pictures down

The device holds one WebSocket to Flight Deck. It streams PCM while you talk (or uploads its kept notes); the bridge transcribes with Soniox, runs the turn on your agent, and streams back the answer a sentence at a time with its speech — only the answer, never the agent's own background calls — plus pictures and the agent's activity in between.

Stick · Watch · Paper Flight Deck /device/ws Soniox STT your agent Soniox TTS PCM · notes sentence · audio · jpeg activity frames while it works
build & flash

$ uv tool install platformio

$ cd firmware/device

$ pio run -e stopwatch -t upload # or: sticks3, papercolor_b

# later, over the air — a key once, then build, sign, publish

$ python tools/publish.py keygen

$ python tools/publish.py stopwatch \

--deck https://deck.example.com --token cc_pat_… \

--notes "what changed"

# no device yet? render every screen on the Mac

$ pio run -e preview && python preview/render.py

$ pio run -e preview_paper_b && python preview/render.py paper_b

Setup, buttons and gotchas in the device docs.

Keep reading

Try it on real work.

Join the waitlist for Cohort 001, our first early-access group, and you'll get an email when you're in. Or run Captain on your own machine today.