Funkuino is now a Mac app: double-click, point it at a folder for your library
and at your ESPuino, and you have the whole workflow in one window — library
overview per card, device sync, RFID assignment and printable card sheets.
Nothing to install first. The app carries its own Python runtime and a
purpose-built ffmpeg, so a fresh Mac needs neither Homebrew nor a terminal.
Two limitations, up front:
- The interface is German only. Code and documentation are English; every
label a user sees is German. Translations welcome. - Apple Silicon only, macOS 14 or newer. The embedded Python is
single-architecture; an Intel build has to be produced on an Intel Mac
(make releaseinmac/).
What's in it
- Library view per RFID card, with the pipeline at a glance: downloaded ·
cover · on the device · printed · card assigned. The status boxes are the
actions. - rsync-style mirroring to the ESPuino, crash-safe: an interrupted upload is
never trusted, and manifests are kept per device (mirror the same library to
two boxes). - Printable A4 sheets of 6×6 cm cards with cut marks, and a picker for
hand-arranging a sheet. A print history means "print what's new" is one
click, with stackable undo. - Live RFID assignment: put an unknown card on the box, click the row it should
play. - Optional Claude agent for the intake — paste a URL, it classifies, downloads,
checks naming and covers, and asks you when a judgment call is needed. This
one needs your own Claude Code installation
and a subscription token; the Agent tab explains both. Everything else works
without it. - Your own extensions: a script in your library folder becomes a
funkuino
command, and aCLAUDE.mdthere teaches the agent your conventions.
Verifying the download
The app and the disk image are signed with a Developer ID and notarised by
Apple, so Gatekeeper lets them through without a detour.
SHA256 53af04443de4bfd4a8fc02049e813a2ed4bcdad0b0cf0d5ce64864428bfe69ac
Updating means downloading a new disk image for now — the app does not
update itself yet.
Funkuino is built around ESPuino by
biologist79 and contributors, and includes the fix for the PN5180 "resting card
briefly lost during playback" problem (upstream PR #444).