mcpField
C
cardputer-buddy

cardputer-buddy

github.com/anthropicsDevelopment45.1k3.0k installsUpdated 1d ago
Repository

About cardputer-buddy

cardputer-buddy is a MicroPython app bundle and development skill for Cardputer, with a launcher menu and several example apps. It also includes tools to push files over USB serial, inspect logs, and run REPL scripts.

Key features

  1. 01Scan apps and show a boot menu
  2. 02Includes Claude Buddy, Hello, and Snake apps
  3. 03Push selected files over USB serial
  4. 04Watch device logs and run REPL scripts

Use cases

  1. 01Add and run apps on a Cardputer
  2. 02Push app updates without reflashing
  3. 03Debug device code and inspect serial output

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/anthropics/claude-plugins-official --skill cardputer-buddy

After installing, type/cardputer-buddyin Claude Code to confirm it loaded.

Details

From the project README

Cardputer Buddy app bundle

The buddy/ directory in the local build-with-claude clone is the MicroPython payload that m5-onboard installs onto /flash/. Work inside that clone.

Device layout

/flash/
├── main.py              launcher menu (replaces UIFlow's boot flow)
├── buddy_*.py           shared libs (BLE, UI, state, protocol, chars)
├── burst_frames.py      sprite frames
└── apps/
    ├── claude_buddy.py  BLE client → Claude Desktop's Hardware Buddy
    ├── hello_cardputer.py
    └── snake.py

main.py scans /flash/apps/ at boot and lists every .py as a menu entry. Drop a file into buddy/device/apps/, push it, and it appears on next boot.

Adding an app

Crib from buddy/device/apps/hello_cardputer.py — smallest example of keyboard polling, font, and exit conventions. Then push without re-flashing:

python3 onboard/scripts/install_apps.py --port <PORT> --src buddy

<PORT> is whatever detect.py reported last run (e.g. /dev/cu.usbmodem1101, /dev/ttyACM0, COM3).

Dev loop tooling (buddy/scripts/)

# Push a subset of files over USB-serial
python3 buddy/scripts/push.py --port <PORT> --files apps/snake.py

# Watch device logs
python3 buddy/scripts/tail_serial.py --port <PORT>

# One-shot REPL exec
python3 buddy/scripts/repl_run.py --port <PORT> --script "import os; print(os.listdir('/flash'))"

Comments

Markdown supported