M5Stack Cardputer Zero · Volume 6
M5Stack Cardputer Zero Volume 6 — Firmware Ecosystem
M5Launcher, pentest fork compatibility, MicroHydra/UiFlow/Bruce/Marauder ports, education-friendly firmwares, what Zero inherits from the Cardputer family
Contents
1. About this volume
Vol 6 covers the firmware ecosystem available to Cardputer Zero. Most of the firmwares inherit from the Cardputer family pattern — same ESP32-S3 silicon, same library family (M5Cardputer, M5Unified), similar PlatformIO env structure. The catch: each firmware needs a Zero-specific PlatformIO env entry to flash cleanly; without that, you’re either rebuilding from source with custom env, or accepting that some firmware features won’t work right (pin mismatches, missing peripherals).
Cross-reference: ../../../M5Stack Cardputer ADV/03-outputs/Cardputer_ADV_Complete.html Vol 7 covers the firmware ecosystem in full depth for the ADV. This volume captures the Zero-specific compatibility deltas.
2. M5Launcher — the bootloader-app-store hybrid
2.1 What M5Launcher is
M5Launcher (github.com/bmorcelli/Launcher) is a half-bootloader, half-app-store firmware that’s the canonical entry point for the Cardputer family. It:
- Boots first
- Displays an app grid of available firmware
- Lets you switch firmware on-the-fly without re-flashing from scratch
- Web-flashes new firmware directly via USB without esptool.py
- Supports OTA updates over Wi-Fi
For tjscientist’s use: this is the firmware you flash first; everything else lives in the M5Launcher app catalog.
2.2 Web flasher URL
https://bmorcelli.github.io/Launcher/
2.3 Zero compatibility (status pending)
| Aspect | Status | Notes |
|---|---|---|
| Zero target in dropdown | TBD | Will be added once Zero appears in the wild |
| ESP32-S3 compatibility | High | M5Launcher supports ESP32-S3 broadly |
| Pin mapping | TBD | Zero’s exact pinout determines specific build |
| Resource budget | High | M5Launcher fits in ESP32-S3 family easily |
Until M5Launcher adds a Zero target: you’d need to build M5Launcher from source with a Zero-specific PlatformIO env. This is the standard path for any new Cardputer-family device.
3. Pentest fork compatibility table
The Cardputer family supports multiple pentest firmware forks. Zero compatibility status:
| Firmware | Cardputer family | Zero (presumed) | Confidence |
|---|---|---|---|
| Bruce | Yes (mature) | Likely | Medium — depends on Zero env support |
| NEMO | Yes | Likely | Medium |
| Marauder (Cardputer port) | Yes | Likely | Medium |
| Evil-M5Project | Yes | Likely (S3-targeted) | Medium |
| Ghost ESP | Maybe (ESP32-S3 generic) | Maybe | Low |
| Bad Pinguino | No | No | (Different platform) |
| M5Burner pre-built | Yes (broad) | Likely | Medium |
3.1 Bruce on Zero
Bruce (github.com/pr3y/Bruce) is the highest-quality pentest firmware for the Cardputer family:
- Wi-Fi scanning + deauth
- BLE scanning + advertising
- IR universal-remote
- Sub-GHz via CC1101 (if attached via Grove or hat)
- BadUSB HID emulation
- Lots more
Zero compatibility: Bruce should work on Zero hardware-wise (ESP32-S3 + keyboard + display), but the IR-spam features won’t work without IR hardware (presumed cut on Zero). Wi-Fi + BLE + BadUSB all work.
3.2 Marauder on Zero
Marauder (the JustCallMeKoko / mainline) has Cardputer-family ports. On Zero:
- Wi-Fi attacks (deauth, beacon spam, probe req capture): work
- BLE scanning + spam: work
- Sub-GHz: requires Grove CC1101 attachment
- Captive portal (Evil Portal): work via on-device SoftAP
Cross-ref the ESP32 Marauder Firmware deep dive () for canonical Marauder coverage.
3.3 NEMO on Zero
NEMO (github.com/n0xa/m5stack-nemo) is a Pwnagotchi-like passive Wi-Fi data collector for M5Stack devices. On Zero:
- Wi-Fi handshake capture: works
- BLE scan logging: works
- SD storage for captures: works (if SD present)
- Display indicator UI: works
NEMO is a good fit for Zero’s “fleet ops + passive collection” niche.
3.4 Evil-M5Project on Zero
Evil-M5Project (github.com/7h30th3r0n3/Evil-M5Core2 series; has Cardputer ports) — adversarial Wi-Fi research:
- Karma-style probe-response: works
- Mass BLE spam: works
- Captive portal: works
Designed for the Cardputer family. Zero port likely follows directly.
4. MicroHydra / UiFlow / Bruce / Marauder ports
4.1 MicroHydra
MicroHydra (github.com/echo-lalia/MicroHydra) — micropython-based handheld OS with apps, file manager, retro games. On Zero:
- Standard MicroPython runtime
- Apps load from SD
- Display + keyboard fully supported
- Audio (basic) supported
Likely a clean port. Good for tjscientist’s retro / utility use cases.
4.2 UiFlow
UiFlow (M5Stack’s visual block-programming environment) — Scratch-style graphical IDE for ESP32 devices. On Zero:
- ESP32-S3 supported
- Block library tracks ADV features
- “Cardputer Zero” target TBD in UiFlow
Best for non-programmers / education use cases.
4.3 ESPHome
ESPHome (esphome.io) — YAML-driven home-automation firmware. On Zero:
- ESP32-S3 fully supported by ESPHome
- Standard YAML config + compile
- No Zero-specific UI; uses display via generic ESP32-S3 LCD driver
- Useful for Zero-as-IoT-node deployments
For tjscientist’s lineup: ESPHome is a good Zero option if the use case is home-automation IoT integration.
4.4 Mesh / LoRa firmwares — likely NOT compatible
Without EXT bus, Zero cannot run Meshtastic in any productive sense (Vol 4 § 4.2). The Meshtastic firmware expects direct LoRa silicon access.
5. Education-friendly firmwares
Several firmwares are particularly suited for Zero’s hypothesized education tier:
5.1 UiFlow (visual programming)
Already covered. Best entry point for non-programmers.
5.2 MicroPython native
REPL over USB-CDC, file manager via Thonny IDE, classroom-friendly. Standard MicroPython for ESP32-S3.
5.3 CardputerEdu / “educational” forks
If the M5Stack education team ships a Cardputer Zero specifically targeted to schools, they may also ship a curated firmware: simplified UI, predefined sketches, in-classroom curriculum integration.
Status: speculative. If/when Zero ships, watch for an “education edition” firmware variant.
5.4 BASIC / retro-language environments
Several MicroHydra apps implement BASIC interpreters, simple LOGO, or Forth. For introductory programming with students: these are accessible entry points on Zero.
6. The firmware-port maturity question
The biggest uncertainty for Zero firmware compatibility is timing:
- At launch: Zero will likely NOT appear in M5Launcher / Bruce / Marauder / NEMO PlatformIO env files
- First 3-6 months: community ports trickle in as users acquire units and contribute env entries
- 6-12 months: most major firmwares have Zero targets
- Long-term: parity with the broader Cardputer family
For tjscientist deciding now: if Zero is just-launched, expect to build from source with a custom env initially. Web-flasher convenience comes later.
7. Resources
- Cardputer ADV Vol 7 (firmware ecosystem canonical):
../../../M5Stack Cardputer ADV/03-outputs/Cardputer_ADV_Complete.html - ESP32 Marauder Firmware deep dive:
- M5Launcher: https://github.com/bmorcelli/Launcher
- Bruce: https://github.com/pr3y/Bruce
- NEMO: https://github.com/n0xa/m5stack-nemo
- MicroHydra: https://github.com/echo-lalia/MicroHydra
- UiFlow: https://flow.m5stack.com/
- ESPHome: https://esphome.io
- Awesome M5Stack Cardputer: https://github.com/terremoth/awesome-m5stack-cardputer
End of Vol 6. Next: Vol 7 covers programming environments — Arduino / PlatformIO / MicroPython / UiFlow / ESP-IDF, with the Zero-specific board target considerations.