Skip to content
neednotapply edited this page Jul 21, 2026 · 3 revisions

Apps

The current SD-apps release contains 29 built-in applications: emulators, badge utilities, game ports, and visual demos. Install the release's SD-apps.zip to the SD card to get the apps and their required bundled data together. This page is the complete catalog; see Installing additional apps to add apps separately.

Select an app with the D-pad and press A to launch it; press B to go back. In native ports and emulators, press FN for the shared menu, including audio, display, LED, and return-to-menu controls.

Emulators

Open these through Games or select a compatible ROM in the File Browser. Keep ROMs in the matching folder on the SD card.

The Attribution column credits upstream projects, hardware, standards, or file formats that an app uses or is based on. An em dash means there is no separate upstream attribution for that app.

App What it is How to use it Attribution
Game Boy & Game Boy Color An emulator for original Game Boy and Game Boy Color games. Put legally obtained Game Boy ROMs in /ROMS/GB and Game Boy Color ROMs in /ROMS/GBC; select one in the File Browser. uGB badge firmware and Game Boy emulator by Dmitry Grinberg.
NES An emulator for Nintendo Entertainment System games. Put legally obtained NES ROMs in /ROMS/NES, then select a ROM in the File Browser. InfoNES Project, with pNesX and NesterJ lineage.
Arduboy An emulator for Arduboy games. Put .hex or .arduboy games in /ROMS/AB, then select one in the File Browser. Arduboy emulation is not fully cycle-accurate and does not provide audio. Ardens emulator by Peter Brown; Arduboy hardware and game ecosystem.

Badge tools and remotes

These apps are reached from the main menu's Infrared, USB, Media, or tool menus as appropriate.

App What it is How to use it Attribution
Universal Remote An infrared remote that sends saved device codes. Put Flipper-style .ir files in /IR, choose one, then select and transmit a command. Flipper .ir file format.
Image Viewer A local image browser and viewer. Copy supported images to /IMAGES, open the viewer, and select an image.
Music Player A lightweight music player for tracker-style text and ringtone formats. Put ABC, MIDI, or RTTTL files in /MUSIC, then choose one to play. ABC notation, MIDI, and RTTTL formats.
BadUSB A USB HID script runner. Put authorized .badusb or text scripts in /BADUSB, connect USB to a device you own or are authorized to test, and select the script. BadUSB-style HID scripting.
Autoclicker A configurable button/keypress automation utility. Launch it from the USB tools menu and configure the action and rate on screen before enabling it.
USB Gamepad Exposes the badge controls as a USB game controller. Connect the badge over USB, launch the app, and use the badge controls in the host game or tester. USB HID gamepad standard.
Laser Tag An OpenLASIR-compatible laser-tag monitor, transmitter, history viewer, and export tool. Select a team identity to transmit; use monitor/history screens to inspect received OpenLASIR and NEC packets. It does not submit scores. OpenLASIR.
RaspyJack Remote A wired badge interface for a local RaspyJack system. Run the RaspyJack badge bridge on the attached Raspberry Pi, launch the app, then use D-pad, A, B, Start, and Select as the remote controls. Hold FN to leave. RaspyJack and Raspberry Pi hardware.
Pwnagotchi Remote A USB-only remote interface for a local Pwnagotchi installation on a Raspberry Pi. Run the DC32 Pwnagotchi bridge on the connected Pi 4 or Pi 5, launch the app, and use the badge UI to control the local service. It does not open a network listener. Jayofelony Pwnagotchi and Raspberry Pi 4/5 hardware.

Games and ports

Launch these from Games -> Ports unless a game is opened through the File Browser. Most bundled ports are ready to play after installing SD-apps.zip; entries that need user-supplied game data say so below.

App What it is How to use it Attribution
Pong A local multiplayer paddle game with classic, teams, and rainbow modes. Launch it, choose a mode, then follow the on-screen player and control prompts.
Tetris A native three-mode falling-block game. Launch it, choose a single-player mode, and use the on-screen movement, rotation, and drop controls. NullpoMino.
Arkanoid A five-round brick-breaker port. Launch it and use the paddle controls shown on screen to keep the ball in play and clear each round. wkeeling/arkanoid.
Flappy Bird A compact obstacle-avoidance flying game. Launch it, then use the action button to flap, start, and retry as prompted. VadimBoev/FlappyBird.
T-Rex Runner A native badge version of the browser endless runner. Launch it and use the on-screen jump/duck controls to avoid obstacles. wayou/t-rex-runner.
DOOM A compact first-person shooter port using the included shareware game data. Launch it from Ports; the bundled doom1.whx is staged automatically. Raw WAD files are not loaded by this app. kilograham/rp2040-doom.
Chip's Challenge A tile puzzle port. Install the game pack, launch it, and solve each level with the D-pad. Build /APPS/chips.pak with python tools/build_chips_pack.py from legally obtained CHIPS.DAT and, optionally, CHIPS.EXE; original data is not redistributed. Tile World-derived implementation.
Scorched Earth An artillery game port. Launch it and use the game screens to choose shots, power, and angle. The required pack is included in the SD-apps release. xscorch-derived implementation.
Pipe Dream A pipe-routing puzzle game. Launch it and place or rotate pieces to make a continuous path before the flow reaches an open end. escalonely/PipeDreamer.
Sokoban A crate-pushing puzzle game with bundled levels. Launch it and use the D-pad to move; plan pushes so crates are not trapped. XSokoban-derived levels and artwork.
Jazz Jackrabbit A platform game port with the included shareware data pack. Launch it from Ports and use the on-screen movement/action controls. It shares the badge's large-game staging area with DOOM and the emulators. OpenJazz.
Sensible Soccer A top-down football game port with national teams and local saves. Launch it, choose a match, and use the on-screen controls. It saves to /SAVE/PORTS/SOCCER; the bundled pack includes 24 national teams. YSoccer 19, GPL-2.0.

Demos

Launch these visual apps from Media -> Demos. They are self-contained demonstrations rather than games; use the shared FN menu to adjust common settings or return.

App What it is How to use it Attribution
Starfield An animated starfield visualizer. Launch it and let the animation run; use FN for shared controls.
Spiro A generative spirograph-style animation. Launch it and use FN for shared controls.
Cube A rotating 3D cube demonstration. Launch it and use FN for shared controls.
DVD Bounce A bouncing-logo screensaver-style animation. Launch it and use FN for shared controls.
Scrolling Pattern A full-screen moving-pattern display. Launch it and use FN for shared controls.

Installing additional apps

  1. Obtain a trusted SDK-v1 .DC32 artifact.
  2. Copy it directly into /APPS, along with any companion data documented by the app.
  3. Safely eject the card, return to the badge, and launch the app from its category menu or the File Browser.

Firmware discovers up to 32 valid apps and places each one from its embedded category.

App category Menu
games Games -> Apps
ports Games -> Ports
demos Media -> Demos
media Media
infrared Tools -> Infrared
usb Tools -> USB

Apps are sorted by their embedded display name. A malformed header, unknown category, duplicate name, unsupported SDK ABI, or a full 32-app list is reported in the browser/launch diagnostic and the app is skipped.

Current firmware supports DCAPP SDK ABI 1. SDK-v1 apps work across ordinary firmware updates and do not need a matching firmware build timestamp or build-contract hash. Older ABI-8 apps are deliberately rejected because they contain direct firmware addresses; rebuild them once with SDK v1.

See SDK v1 App Compatibility for the complete developer-facing compatibility contract.

Troubleshooting

  • An app does not appear: Confirm the file is directly in /APPS, has a .DC32 extension, and is an SDK-v1 artifact with a recognized category.
  • Unsupported SDK ABI: Install firmware that supports the app's ABI or rebuild the app with SDK v1.
  • Integrity/CRC error: Copy the app again from a verified release archive.
  • A port needs extra data: Copy its accompanying files from SD-apps.zip; Chip's Challenge specifically requires a user-built legal-data pack.

Clone this wiki locally