Skip to content

Hackagotchi v1.0 πŸ› οΈπŸΎ β€” the debug probe with a soul

Latest

Choose a tag to compare

@prat96 prat96 released this 21 Jun 23:32
· 28 commits to main since this release
Immutable release. Only release title and notes can be modified.

Hackagotchi probe firmware β€” v1.0 πŸ› οΈπŸΎ

First public release. A debug probe that's also a black-box flight recorder and a
Tamagotchi-style dashboard
for dev boards that go dark β€” a fork of Raspberry Pi
debugprobe (v2.2.3) that does all three on one RP2040 without ever stalling a flash
(0 DAP transfer stalls under load, proven on hardware).

What's in it

  • πŸ”Œ SWD debug probe (CMSIS-DAP) β€” halt / erase / reflash an RP2040 target with probe-rs or OpenOCD
  • πŸ“Ό UART black-box recorder to microSD β€” session logs, heartbeats, and a freeze-frame of the target's last words on a wedge
  • 🐾 Reactive OLED dashboard β€” a cat mascot + 6 live screens, with buzzer + NeoPixel event feedback
  • 🧰 JSON control over USB (CDC1) β€” hex sniffer, macro sender, runtime baud, SD explorer, hands-free reflash
  • πŸ›‘οΈ Reliability core β€” crash box, software watchdog, lossless UART bridge; runs from flash XIP (+139 KB SRAM)

Flash it (no toolchain needed)

  1. Download hackagotchi_probe.uf2 below.
  2. BOOTSEL the XIAO: hold B, tap R, release B β†’ an RPI-RP2 drive mounts.
  3. picotool load -x hackagotchi_probe.uf2 (or drag the .uf2 onto the drive).
  4. Confirm β€” send {"q":"status"} to the control serial port β†’ {"fw":"Hackagotchi","ver":"1.0.0",…}.

Assets

hackagotchi_probe.uf2 Β· hackagotchi_probe.elf (to symbolicate crash dumps) Β· THIRD-PARTY-NOTICES.md Β· LICENSE

Notes

  • The firmware reports its own version live ({"q":"status"} β†’ ver).
  • Verified on this image: build + static-analysis gate + full HIL suite β€” see docs/release-readiness.md.
  • License: project GPL-3.0-or-later; the firmware/c/ subtree MIT. All dependencies permissive (MIT / BSD-3 / Apache-2.0).
  • ⚠️ Under an artificial continuous-max-SD soak, retryable (0-stall) DAP errors can appear β€” ~0 in real use (the target is halted during a real flash). Run soaks on an idle host.

πŸ““ Full changelog: CHANGELOG.md Β· πŸ”§ build from source: docs/c-firmware-build.md