Say what you see. We’ll take it from there.
A light, a message, a silence — start from whatever your Canary is doing. Every path here ends in a fix you do yourself, a rehearsal on an emulated Canary, or a handoff with everything already attached. Nothing you type here leaves the page.
Start with the symptom
Type what you’d say out loud — “it won’t turn on”, “blinking in threes”, “the port is busy” — or just browse. The best match opens itself.
Two doors are always open: let the device answer for itself below, or hand it to us with the details attached — a pre-filled note takes about a minute.
💡 The blink decoder
A Canary that can’t speak still tells you what’s wrong: the number of blinks in each group is the message. Count one group, pick it here.
🐤 Or let the device answer
The fastest diagnosis skips the questionnaire: a Canary carries its own story — health, crash evidence, update history — and this page can read it out loud, right here. Everything runs in your browser; nothing is uploaded, even when it fails.
🔌 Read my Canary — live
Plug it in over USB-C (a data cable), tap the button, pick the port. This reads the device’s self-manifest — board, firmware, self-reported health, the tamper flag — then listens while you tap RESET, so a crash or a brownout names itself. WebSerial is local hardware, not a network connection.
Plug it in
Connect over USB and read your Canary live — its console, its manifest, its trust card.
Your Canary →Run the Doctor
The 10-probe self-test with a health score, feature demos, and the Bluetooth bring-up ladder.
Canary Doctor →Before you plug in
See exactly what should happen on your computer or phone — every OS, no hardware needed.
Plug-in emulator →Bare or misbehaving board
The BOOT ritual, what the flasher checks before writing a byte, and the clean-install path.
Unflashed boards →A failed self-test probe, decoded
These fixes come from the firmware’s own spec — the same words the device and the Doctor use. Tap the probe that failed.
For makers: the same answers, over the wire
GET /api/selftest— the 10 probes, one JSON verdict; reachable even on the setup network.GET /api/fleet— coarse presence + health for the fleet; deliberately address-free.- The serial console on Your Canary — live boot log, one-key commands, the signed self-manifest.
- In safe mode, the crash evidence (reset reason + boot-stage breadcrumb) is already saved — the dashboard shows why, no serial cable needed.
🎛️ Practice on a fake one first
The Lab runs the real firmware, compiled for your browser — not a video of it. Its Fix-it flows walk the common repairs step by step on an emulated Canary, and the bench lets you cause the scary stuff on purpose: pull the power mid-boot, brown it out, hold BOOT into download mode — then recover it. Do the fix once where nothing is at stake, and the real one feels easy. And remember the flasher’s standing promise while you practice for real: it backs up before it writes, and a USB flash can always bring a Canary back.
📦 If something is genuinely broken
The warranty is fix, not return — and no fix ever asks you to mail anything back. Proving the fault first is what keeps that promise cheap enough to keep.
The details — returns for unopened kits, what the warranty covers, and what it honestly doesn’t — live in the Terms of Sale.
Start a claim, assembled for you
Fill in what you know; the composed email appears below and opens in your own mail app — nothing is sent from this page, you press send yourself.
🤝 Still stuck? That’s what the handoff is for
No chatbot maze, no ticket black hole. One button opens a pre-filled note with the page and the problem already attached — you add a sentence, and it lands in the open where a maintainer reads every single one. Fixes usually come back as a better page, so the next person never hits your snag at all.
Nothing is sent from this page — both buttons just compose the note in your own tab or mail app, so you see exactly what leaves your hands. We’re an independent workshop: email gets a human, usually within a few days.
Honesty note: the symptom catalog restates the firmware’s own diagnostics — the flasher’s error classifier, the boot-log signatures, the LED grammar, the self-test spec in onboarding-spec.json — and CI pins it there, so this page can’t drift from what the device actually does. All of it is open source on GitHub.
