M5Stack Cardputer ADV · Volume 1
M5Stack Cardputer ADV Volume 1 — Series Overview, Decision Tree, and Where the Cardputer ADV Sits
What the K132-Adv is, why \"ADV\" matters, capability matrix, the firmware-first stance, and depth indices into Vols 2–12
Contents
1. About this volume
This is the overview volume of a twelve-volume engineer-grade deep dive into the M5Stack Cardputer ADV — the 2025/2026 refresh of M5Stack’s credit-card-sized ESP32-S3-based handheld with a 56-key QWERTY keyboard. The target reader is a working hardware/embedded engineer who already knows ESP32 fundamentals, Arduino-style C++, a bit of LoRa/Wi-Fi/BLE radio, and who wants to use the Cardputer ADV as a serious bench tool for off-grid mesh, hardware research, BadUSB, and IR-protocol work — not as a “cool gadget” demonstration.
This volume’s job is to anchor the series and tell the reader which of Vols 2–12 covers each subsystem. Vols 2–3 cover the hardware and pinout; Vol 4 the module ecosystem; Vol 5 the LoRa companion Cap and GNSS; Vol 6 the firmware ecosystem (the longest single volume); Vols 7–8 programming and flashing; Vols 9–10 use-case recipes and custom firmware development; Vol 11 operational posture; Vol 12 the laminate-ready cheatsheet.
This volume does not teach the hardware (Vol 2), the firmware-stack choice (Vol 6), the build toolchain (Vol 7), or the per-use-case recipes (Vol 9). It teaches what the box is, why “ADV” matters, what it can and cannot do, and where in the rest of the series to go for each topic.
Conversion note: this twelve-volume series replaces an earlier single-file deep dive (cardputer_adv_deep_dive.html, 16 sections, shipped 2026-05-09, archived 2026-05-13) that had grown to the practical edge of the single-file pattern’s usefulness. The volume-series pattern matches every other Hack Tools deep-dive deliverable (HackRF, BP6, Flipper Zero, Ruckus Game Over, PicoCalc, uConsole, GL-BE3600, AWOK Dual Touch V3, ESP32 Marauder Firmware). All content from the single-file is reorganized and preserved across the 12 volumes; nothing was dropped.
2. What the Cardputer ADV is

Figure 1.1 — M5Stack Cardputer ADV. Photo via web image search.
2.1 The K132-Adv SKU
The M5Stack Cardputer ADV (SKU K132-Adv) is a credit-card-sized ESP32-S3-based handheld with:
- MCU: ESP32-S3FN8 (Espressif), dual-core Xtensa LX7 @ 240 MHz, 8 MB SPI flash, 512 KB SRAM (no PSRAM), Wi-Fi 4 (2.4 GHz only), BLE 5, USB-OTG full-speed (12 Mbps), hardware AES/SHA/RSA accelerators, secure boot v2.
- Display: 1.14” 240×135 IPS LCD, ST7789V2 controller, RGB565, ~30 fps refresh at SPI 40 MHz, 260 PPI. ~40×16 visible chars at the default 6×8 font.
- Keyboard: 56 keys, soft-membrane scan matrix driven by the TCA8418RTWR I²C scanner (4 rows × 14 cols). 160 gf actuation. Modifiers: Fn, Ctrl, Alt, Shift, OK.
- Audio: ES8311 codec (I²C config + I²S audio, 24-bit, 96 kHz max sample rate) + NS4150B 1 W class-D amp + MEMS microphone (~65 dB SNR) + 3.5 mm headphone jack (TRRS, auto-mutes the on-board speaker on insertion).
- IMU: BMI270 (Bosch) 6-axis (accel + gyro), I²C. Built-in step-counting and gesture-recognition engines.
- IR: 940 nm LED on GPIO 44, range ~3–5 m for consumer IR.
- microSD: standard microSD slot on the side. exFAT and FAT32 both supported by Arduino-ESP32’s
SD.hdriver. - Battery: 1750 mAh single-cell LiPo. SY8089 buck converter from battery to 3.3 V. Side switch must be ON to charge (USB-C electrically disconnects the charge controller when switch is OFF — confirmed quirk by design).
- Connectivity exposed: USB-C (OTG capable), one Grove HY2.0-4P top-edge port, one 14-pin 2.54 mm “EXT” expansion bus on the underside (for stacking Cap modules).
- Mechanical: 84 × 54 × 19.6 mm, 81 g. Magnetic LEGO-Technic-compatible base. Lanyard hole on top edge. Neodymium magnets on the back for fridge / metal surface mounting.
The most consequential expansion is the EXT 14-pin bus, which carries SPI + I²C + UART + power + a reset/IRQ/CS bundle. M5Stack designed it specifically to host their Cap modules — small daughterboards that snap onto the underside. The flagship Cap as of 2026-05-13 is the Cap LoRa-1262 (Vol 5) which combines a Semtech SX1262 sub-GHz LoRa radio with an AT6668 multi-constellation GNSS receiver — the combination that makes Meshtastic a viable use case.
2.2 Why “ADV” matters — not interchangeable with the original Cardputer
The Cardputer line has two SKUs that look alike but are not binary-compatible:
| Model | SKU | MCU | Pinout | EXT bus | Default firmware partition |
|---|---|---|---|---|---|
| Original Cardputer | K132 (no suffix) | ESP32-S3-PICO (similar but different module) | Pre-2025 layout | None — Grove only | Original M5 factory |
| Cardputer ADV | K132-Adv | Stamp-S3A (ESP32-S3FN8 module) | 2025 ADV layout | 14-pin EXT | M5Launcher-friendly partition map |
The differences that matter:
- GPIO pin assignments are different. A binary built for the original Cardputer doesn’t work on the ADV — wrong display pins, wrong keyboard-scanner pins, wrong audio I²S pins.
- Partition table differs. The ADV’s 8 MB flash, running M5Launcher’s default scheme, carries
app0(M5Launcher itself, subtypetest) + a singleapp1/ota_0slot +vfsFAT +spiffsfilesystems — the device reports the last three asOTA / FAT / SPIFFS. The original Cardputer’s partition map is different. Full table + the dynamic partitioner: Vol 6 § 3.2. - EXT bus is ADV-exclusive. The Cap LoRa-1262 only mates with the ADV — there’s nowhere to plug it on the original.
When picking a PlatformIO build environment, board package, or pre-built firmware: it must explicitly say m5stack-cardputer-adv or Cardputer-Adv. Do not use m5stack-cardputer — that’s the original and will produce a non-functional flash. This applies to the M5Launcher web flasher, the M5Burner desktop app, Bruce, NEMO, ESP32 Marauder, Meshtastic — every firmware that ships both variants will have separate binaries.
This is the most-common first-time mistake with Cardputer ADV setup. Surfaced here in Vol 1 because reading it once is faster than recovering a non-functional flash.
2.3 Where the Cardputer ADV sits in the lineup
In tjscientist’s lab (per the Hack Tools project), the Cardputer ADV — when acquired — would fill a slot that no current owned tool covers cleanly: a self-contained QWERTY-keyboard handheld with native ESP32-S3 Wi-Fi+BLE, an SD card, an IR transmitter, the option to add LoRa+GNSS via the Cap, and an active firmware-development ecosystem that includes multiple actively-maintained pentest firmwares.
Pairings against the existing lineup:
- Cardputer ADV + Flipper Zero (
AWOKflip) — Flipper handles RF (sub-GHz with internal CC1101) / RFID / NFC / iButton / BadUSB; Cardputer ADV would add a usable keyboard + dedicated LoRa + standalone (Flipper requires a host or onboard menu navigation). Overlap on IR + BadUSB. Cardputer ADV wins on the keyboard form factor; Flipper wins on RF breadth and the established module ecosystem. - Cardputer ADV + HackRF One (
porta) — non-overlapping. HackRF for arbitrary 1 MHz–6 GHz RF; Cardputer ADV for protocol-layer Wi-Fi/BLE/LoRa work. - Cardputer ADV + AWOK Dual Touch V3 (running Marauder mainline) — overlap on Wi-Fi/BLE pentest. AWOK V3 is the daily-driver Marauder host today; Cardputer ADV would add the keyboard input device (much better than the AWOK V3’s resistive touchscreen for typing-heavy use cases). Future decision: complementary or duplicative.
- Cardputer ADV + Bus Pirate 6 — non-overlapping. BP6 is wired-protocol bring-up; Cardputer ADV is wireless + IR + embedded-control.
- Cardputer ADV + Clockwork PicoCalc — overlap on the “QWERTY-keyboard handheld” form factor. PicoCalc is RP2040/RP2350-based with a much larger 320×320 IPS screen + a real chiclet keyboard; Cardputer ADV is smaller, screen is much smaller, but adds Wi-Fi/BLE/LoRa natively and the active ESP32 pentest-firmware ecosystem. Different niches — PicoCalc is a calculator-class compute platform; Cardputer ADV is a wireless-research platform. tjscientist owns the PicoCalc.
3. Hardware fast-facts panel
Single-page summary of the hardware (full schematic-grade walkthrough in Vol 2):
┌───────────────────────────────────────────────────────────────┐
│ M5Stack Cardputer ADV — K132-Adv │
├───────────────────────────────────────────────────────────────┤
│ MCU ESP32-S3FN8 · LX7 dual @ 240 MHz · 8 MB flash │
│ 512 KB SRAM (no PSRAM) · Wi-Fi 4 2.4 GHz · BLE 5 │
│ Display 1.14" 240×135 IPS · ST7789V2 · SPI 40 MHz · 30 fps │
│ Keyboard 56 keys · TCA8418RTWR scanner · 160 gf · I²C │
│ Audio ES8311 codec · NS4150B 1 W amp · MEMS mic · 3.5 mm │
│ IMU BMI270 6-axis (accel + gyro) · I²C │
│ IR 940 nm on GPIO44 · 3–5 m range │
│ Storage microSD slot · ESP32 SD.h (FAT32 / exFAT) │
│ Battery 1750 mAh LiPo · SY8089 buck · charge needs SW ON │
│ Expansion 1× Grove HY2.0-4P (top edge) │
│ 1× 14-pin EXT bus 2.54 mm (underside) ← Cap modules │
│ 1× USB-C OTG (side) │
│ Power ~120 mA idle · ~155 mA BLE · 0.23 µA deep sleep │
│ Size 84 × 54 × 19.6 mm · 81 g · LEGO-Technic mag base │
└───────────────────────────────────────────────────────────────┘
Cap LoRa-1262 (M5Stack SKU U214, the flagship companion):
┌───────────────────────────────────────────────────────────────┐
│ Cap LoRa-1262 — U214 │
├───────────────────────────────────────────────────────────────┤
│ LoRa SX1262 · 868–923 MHz · +22 dBm TX · −147 dBm RX │
│ CSS + FSK/GFSK/MSK/GMSK/OOK · RP-SMA antenna │
│ GNSS ATGM336H-6N (AT6668) · 50-channel · multi-const │
│ GPS+GLONASS+Galileo+BeiDou+QZSS+SBAS │
│ CEP50 <1.5 m · TTFF 23 s cold / 1 s hot · 10 Hz max │
│ Mating 14-pin EXT bus (underside of Cardputer ADV) │
│ Size 84 × 24 × 15.2 mm · 22.1 g │
│ Antenna 3 dBi rubber-duck included, RP-SMA female │
└───────────────────────────────────────────────────────────────┘
Full schematic walks in Vol 2 (Cardputer ADV main board) and Vol 5 (Cap LoRa-1262 + GNSS).
4. Capability matrix — what it can and cannot do
4.1 Out-of-the-box capabilities
| Domain | Capability | Notes |
|---|---|---|
| Wi-Fi | Station / AP / monitor mode / packet injection | 2.4 GHz only |
| Wi-Fi | BLE 5 central + peripheral + Mesh | shared antenna with Wi-Fi (coexistence-arbitrated) |
| USB | HID host inspection (BadUSB Hunter — see Vol 9) | inspect-and-warn pattern |
| USB | HID device (BadUSB injection) | DuckyScript via M5Launcher / BadCard / Bruce |
| USB | CDC serial console + mass-storage gadget | standard ESP32-S3 USB stack |
| LoRa (with Cap) | 868–923 MHz +22 dBm + FSK/GFSK/OOK | SX1262 supports broad set; antenna tuned 868-923 |
| GNSS (with Cap) | Multi-constellation positioning, <1.5 m CEP50 | passive receive only |
| IR | Transmit | 940 nm on GPIO44, ~3-5 m |
| Audio | Playback to 96 kHz / recording from MEMS mic | ES8311 + class-D amp + 3.5 mm jack |
| Display | 240×135 RGB565 graphics | M5GFX library is the canonical driver |
| Storage | microSD up to 2 TB exFAT | FAT32 the safer default |
| Networking | Captive portal / Evil Portal / web server | Bruce / Marauder ship the canonical implementations |
| Emulation | NES (cardputer-nofrendo), Doom (m5cardputer_doom), Game Boy / GBC (Walnut-CGB) | playable; details in Vol 9 |
| Off-grid | Meshtastic (LoRa mesh + GPS), LoRa-APRS for licensed hams | with Cap LoRa-1262 |
| Programming | MicroPython / Arduino / ESP-IDF / UiFlow 2 | Vol 7 covers all five paths |
4.2 What it cannot do (even with the LoRa Cap)
| Limitation | Reason | Workaround |
|---|---|---|
| No 5 GHz Wi-Fi | ESP32-S3 silicon is 2.4 GHz only | M5MonsterC5 add-on (ESP32-C5 coprocessor, Vol 4) |
| No Wi-Fi 6 / 6E | Same silicon limit | Same — and even then S3-side stack is Wi-Fi 4 |
| No 802.15.4 (Thread / Zigbee) | S3 lacks 15.4 radio | Use a dedicated Zigbee dongle |
| No NFC / RFID built-in | No NFC controller on board | Add Unit RFID2 (WS1850S) via Grove, or PN532 via Grove I²C |
| No camera | No camera bus exposed | None — pick different hardware (M5Stack Core or Atom S3R for camera) |
| No cellular | No cellular modem | Add NB-IoT / 4G LTE / Cat-M unit via Grove |
| No Ethernet | No PHY on board | Add ATOM PoE or W5500 unit via Grove |
| No SDR | SX1262 only does LoRa + FSK + GFSK + OOK | Add RTL-SDR via USB-OTG (Vol 4) — receive-only and laggy |
| No 433 MHz LoRa native | Cap antenna tuned 868-923 | Re-antenna the Cap, OR add CC1101 unit via Grove for 433 MHz sub-GHz |
| No high-precision RTK GNSS | AT6668 is consumer-grade single-frequency | Add Atomic GPS Kit (NEO-M8N) via Grove for marginally better; RTK requires dedicated module |
| No Flipper-style full sub-GHz library | No CC1101 on board | CC1101 unit via Grove or wired to EXT |
| No Bjorn (Raspberry Pi project) | Bjorn requires Linux + Pi-specific peripherals | Different hardware — not Cardputer territory |
The pattern: the Cardputer ADV is an ESP32-S3 wireless-research platform with great ergonomics. Anything outside ESP32-S3’s silicon capabilities requires either an add-on module (Cap or Grove) or a different tool entirely.
5. The firmware-first stance (M5Launcher as the base)
The Cardputer ADV’s killer app is M5Launcher (github.com/bmorcelli/Launcher) — a half-bootloader, half-app-store, half-pocket-OS that lives in the device’s factory partition. It’s the canonical first install and the recovery lifeline.
What M5Launcher does:
- Boots into a menu showing every installed firmware + every app on the SD card. Pick one; M5Launcher chain-loads it.
- OTA-flashes any other firmware (Bruce, NEMO, Marauder, Meshtastic, MicroHydra, retro emulators, etc.) into the single
app1/ota_0slot in ~30 seconds — wirelessly from the M5Burner repo, from a Web-UI, or from an SD-card.bin. - Hosts the recovery story: hold Esc at power-on to force-boot back into M5Launcher (which lives in
app0, outside the OTA mechanism) even if the firmware in the OTA slot is broken or crash-looping. This makes firmware experimentation safe — you can flash anything to the OTA slot without bricking. - Ships built-in tooling: BadUSB DuckyScript runner (from
/BadUSB/on SD), a file manager, a Web-UI, and a full partition/filesystem manager (the dynamic partitioner — Vol 6 § 3.2.2).
The discipline this enforces:
- Flash M5Launcher to
app0once, then never overwrite it. Always flash custom firmware to the OTA slot (app1/ota_0). - Back up the original factory firmware first with
esptool.py read_flash 0 0x800000 stock_backup.binand stash on a NAS — gives you a known-good state to restore to if M5Launcher itself misbehaves. - The web flasher at
bmorcelli.github.io/Launcheris the lazy correct install path. Two minutes from “device plugged in” to “M5Launcher running” via Chrome/Edge Web Serial API.
Full M5Launcher coverage is in Vol 6 (firmware ecosystem) and Vol 8 (flashing + recovery). Mentioned here in Vol 1 because the firmware-first stance shapes every subsequent decision in this series — the Cardputer ADV is expected to run M5Launcher as its base, with everything else flashed on top.
6. Decision tree — when to reach for the Cardputer ADV
Need a Wi-Fi/BLE handheld?
│
┌────────────────────┴────────────────────┐
│ │
No → use a different tool Yes ↓
(HackRF for arbitrary RF;
Bus Pirate for wired; Need a keyboard for typing?
Flipper for RFID/NFC;
PicoCalc for compute) │
┌────────────────┴────────────────┐
│ │
Yes ↓ No → AWOK V3
(touchscreen)
is the answer
Need LoRa + GNSS in one
handheld (Meshtastic etc)?
│
┌───────┴───────┐
│ │
Yes ↓ No ↓
│ │
│ Cardputer ADV
│ bare (no Cap)
│ is enough — save
│ ~$25 by skipping
│ the Cap.
↓
Cardputer ADV + Cap LoRa-1262
bundle (~$115)
│
↓
Read Vol 5 for the Cap details +
Vol 6 for Meshtastic firmware
configuration.
For tjscientist’s specific buying decision: the Cardputer ADV + Cap LoRa-1262 bundle is the cleanest path to having an off-grid Meshtastic handheld that doesn’t sacrifice a real keyboard. The AWOK V3 covers Wi-Fi pentest already; the Cardputer ADV’s strongest unique value-add is the Meshtastic + GPS use case.
7. Hardware at a glance (forward-ref Vol 2)
Vol 2 walks the schematic-grade hardware at a per-subsystem level. The 30-second summary:
- Module: Stamp-S3A (encloses ESP32-S3FN8 in a small footprint module).
- Display SPI bus shared with microSD (chip-select-discipline matters — full pinout in Vol 3).
- TCA8418 keyboard scanner runs on the shared I²C bus (G8/G9 SDA/SCL) along with the audio codec, IMU, and any I²C-class Grove peripherals.
- Power tree: battery → buck SY8089 → 3.3 V rail. Charge IC needs the side switch ON to be connected to USB-C (yes, a design quirk).
- No PSRAM — 512 KB SRAM is all you’ve got. After Wi-Fi stack init ~360 KB usable for app heap.
Full block diagram + per-subsystem detail in Vol 2 §§ 2-9.
8. Firmware at a glance (forward-ref Vol 6)
Vol 6 covers the firmware ecosystem in detail. Quick orientation:
- M5Launcher (bmorcelli) — base layer, lives in
app0, the canonical first install. - Bruce (BruceDevices) — most actively-developed offensive/pentest firmware. Wi-Fi + BLE + sub-GHz (with CC1101) + RFID (with RFID2 Unit) + IR + BadUSB + LoRa chat all unified.
- NEMO (n0xa) — lighter pentest firmware; “high-tech pranks and digital self-defense” positioning.
- ESP32 Marauder (Cardputer port) — Marauder mainline ported to Cardputer ADV via the
cardputer_marauderPlatformIO env. Pure-Marauder option. See../../../ESP32 Marauder Firmware/03-outputs/ESP32_Marauder_Firmware_Complete.htmlfor the platform-neutral Marauder coverage. - Evil-M5 / Evil Cardputer — predatory firmware for fleet operations.
- MicroHydra — MicroPython-based “OS-like” app switcher.
- Meshtastic — official Cardputer ADV support; LoRa mesh + GPS broadcast + BLE app pairing.
- ESPHome — Home Assistant satellite device.
- Retro emulators: cardputer-nofrendo (NES), m5cardputer_doom (Doom), Walnut-CGB (Game Boy / GBC).
When-to-use-which decision logic in Vol 6 §§ 3-12.
9. Comparison to sibling tools
| Sibling tool | Overlap with Cardputer ADV | Cardputer ADV wins when | Sibling wins when |
|---|---|---|---|
| Flipper Zero | IR, BadUSB | Need usable keyboard; LoRa/GPS via Cap | Sub-GHz library breadth; RFID/NFC depth; module ecosystem maturity |
| HackRF One | None (different RF tier) | Need protocol-layer handheld | Wide-band RF (1 MHz - 6 GHz), spectrum work |
| AWOK Dual Touch V3 | Wi-Fi/BLE pentest | Keyboard input; LoRa/GPS | Two independent ESP32s; resistive touch; existing Marauder daily driver |
| Bus Pirate 6 | None (wired vs wireless) | Wireless work | Wired protocol bring-up |
| Clockwork PicoCalc | ”QWERTY handheld” form factor | Wireless/LoRa/GPS work | Compute and calculator-class workloads; larger screen; better keyboard |
| M5Stick S3 (planned) | ESP32-S3 ecosystem | Keyboard input | Wearable form factor; voice subsystem (mic + speaker for audio recording) |
| Wired Hatters Banshee (aspirational) | ESP32 pentest | (Cardputer ADV is simpler / lower budget) | Flagship dual-MCU (C5+S3); 5 GHz native; multi-modal |
| Ruckus Game Over | Wi-Fi/BLE pentest | Keyboard input | Sub-GHz CC1101 + NRF24 daughter slots; vendor fork integration |
The recurring theme: the Cardputer ADV is the right answer when the keyboard makes the difference. Marauder-class scans, Meshtastic chat, BadUSB authoring on-device, MicroHydra REPL work, ESPHome dashboards — all benefit from typing on a real keyboard vs touchscreen or button-combo nav.
10. Status — tjscientist’s posture (aspirational)
As of 2026-05-13, the Cardputer ADV is aspirational in tjscientist’s lineup — no hardware on hand yet. The deep-dive content is therefore research-baseline depth rather than the bench-tested-by-tjscientist depth that owned tools (HackRF, BP6, AWOK V3) get.
Decision gates before acquisition:
- Meshtastic relevance — does the off-grid mesh + GPS use case justify the $115 bundle (Cardputer ADV + Cap LoRa-1262)? Vol 9 § 2 walks the Meshtastic recipes in detail; the on-the-fence decision depends on tjscientist’s actual deployment context.
- AWOK V3 vs Cardputer ADV as Marauder host — the AWOK V3 is already the daily-driver Marauder host. Cardputer ADV’s keyboard advantage matters for typing-heavy use cases (Evil Portal HTML editing, MicroHydra REPL) but not for the scan/attack workflows the AWOK V3 already handles cleanly.
- Cardputer (original) vs Cardputer ADV — if tjscientist ever buys, only buy the ADV. The original is materially less capable (no EXT bus, no LoRa Cap option) and the price delta is small.
This series is built to be decision-ready — once acquisition happens, the deep dive carries directly into bench fluency without a re-research session. Vols 7-10 (programming + flashing + recipes + custom firmware) are the most acquisition-dependent volumes; Vols 1-6 + 11 apply regardless of when purchase happens.
11. Depth indices into Vols 2–12
Read this list when you have a specific task in mind and want to jump to the right volume.
Hardware
- What chip is the keyboard scanner? → Vol 2 § 4 (TCA8418RTWR).
- What’s the audio chain? → Vol 2 § 5 (ES8311 + NS4150B + MEMS mic + 3.5 mm).
- Power consumption per mode? → Vol 2 § 9 + Vol 11 § 5.
- Brownout posture under TX? → Vol 2 § 9 + Vol 11 § 5.
Pinout & expansion
- What’s on the Grove port? → Vol 3 § 3.
- What’s on the 14-pin EXT bus? → Vol 3 § 4.
- Secondary I²C bus on Grove vs default I²C → Vol 3 § 3.3.
- USB-OTG capabilities → Vol 3 § 5.
Module ecosystem
- What Cap modules exist? → Vol 4 § 2.
- What Grove Units are most useful? → Vol 4 § 4.
- Why don’t HAT modules work? → Vol 4 § 5.
- 5 GHz Wi-Fi expansion path → Vol 4 § 6 (M5MonsterC5).
Cap LoRa-1262
- SX1262 specs and bring-up → Vol 5 §§ 2-3.
- LoRa CSS theory + link budget → Vol 5 § 4.
- Region rules summary → Vol 5 § 5 + Vol 11 § 3.
- GNSS (AT6668) — TTFF, constellations, NMEA → Vol 5 § 6.
Firmware ecosystem
- Which firmware should I flash first? → Vol 6 § 2 (decision tree).
- M5Launcher catalog + partition scheme → Vol 6 § 3 + Vol 8 § 4.
- Bruce feature inventory → Vol 6 § 4.
- Meshtastic on the Cardputer ADV → Vol 6 § 10.
- MicroHydra (MicroPython app switcher) → Vol 6 § 9.
Programming
- Arduino IDE setup + sketch skeleton → Vol 7 § 2.
- PlatformIO setup +
platformio.initemplate → Vol 7 § 3. - MicroPython REPL via
mpremote→ Vol 7 § 4. - UiFlow 2 block coding → Vol 7 § 5.
- ESP-IDF for low-level work → Vol 7 § 6.
Flashing
- Web flasher path → Vol 8 § 2.
- M5Burner desktop → Vol 8 § 3.
- esptool.py CLI → Vol 8 § 4.
- Factory firmware backup → Vol 8 § 5.
- Recovery when stuck in crash-loop → Vol 8 § 6.
Use cases
- Evil Portal credential capture → Vol 9 § 2.
- EAPOL handshake capture → hashcat → Vol 9 § 3.
- Meshtastic range tuning → Vol 9 § 4.
- Wardriving with WiGLE export → Vol 9 § 5.
- CC1101 sub-GHz add-on wiring → Vol 9 § 6.
- BadUSB authoring on-device → Vol 9 § 7.
- Retro gaming setup → Vol 9 § 8.
Custom firmware
- Add a payload module to Bruce → Vol 10 § 2.
- Add a MicroHydra app → Vol 10 § 3.
- Modify M5Launcher itself → Vol 10 § 4.
- Worked example — channel-survey CSV dumper → Vol 10 § 5.
Operational posture
- EU LoRa 868 MHz duty cycle rules → Vol 11 § 3.
- US LoRa 902-928 MHz rules → Vol 11 § 3.
- BadUSB legal posture → Vol 11 § 6.
- When NOT to use the Cardputer ADV → Vol 11 § 8.
Cheatsheet
- Laminate-ready one-page field card → Vol 12 (the entire volume).
12. Resources
Vendor
- Cardputer ADV product page: https://shop.m5stack.com/products/cardputer-kit-w-m5stamps3
- Cardputer ADV docs: https://docs.m5stack.com/en/core/Cardputer
- Cap LoRa-1262 product page: https://shop.m5stack.com/products/cap-lora1262-with-m5stack-cardputer-adv-edition
- M5Stack Mesh Kit (Cardputer ADV + Cap LoRa-1262 bundle): vendor page
Firmware
- M5Launcher (bmorcelli/Launcher): https://github.com/bmorcelli/Launcher
- M5Launcher web flasher: https://bmorcelli.github.io/Launcher/
- Bruce: https://github.com/BruceDevices/firmware · https://bruce.computer/
- NEMO: https://github.com/n0xa/m5stick-nemo
- ESP32 Marauder: https://github.com/justcallmekoko/ESP32Marauder
- Meshtastic firmware: https://meshtastic.org/
- MicroHydra: https://github.com/echo-lalia/MicroHydra
- Evil-M5 / Evil Cardputer: https://github.com/7h30th3r0n3/Evil-M5
Libraries
- M5Cardputer Arduino library: https://github.com/m5stack/M5Cardputer
- M5Unified library: https://github.com/m5stack/M5Unified
- M5GFX library: https://github.com/m5stack/M5GFX
- RadioLib (for SX1262 work): https://github.com/jgromes/RadioLib
Datasheets
- ESP32-S3 datasheet: https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf
- Semtech SX1262 datasheet: https://www.semtech.com/products/wireless-rf/lora-connect/sx1262
- ATGM336H-6N (AT6668) GNSS module: CASIC datasheet
- ES8311 audio codec: https://www.everest-semi.com/
- BMI270 IMU: https://www.bosch-sensortec.com/products/motion-sensors/imus/bmi270/
- ST7789V2 display controller: Sitronix
- TCA8418 keyboard scanner: https://www.ti.com/product/TCA8418
Community
- Cardputer Wiki: https://cardputer.wiki/
- r/CardPuter (Reddit)
- Cardputer Discord: linked from the wiki
- M5Stack community forum: https://community.m5stack.com/
- ru84r8 firmware list (GitHub)
- Awesome M5Stack Cardputer (terremoth): https://github.com/terremoth/awesome-m5stack-cardputer
Cross-references to sibling tools
- ESP32 Marauder Firmware deep dive:
- AWOK Dual Touch V3 deep dive:
- Flipper Zero deep dive:
- Hack Tools comparison:
../../../_shared/comparison.md - Capability matrix:
../../../_shared/capability_matrix.html - Legal / ethics:
../../../_shared/legal_ethics.md
This is Volume 1 of a twelve-volume series. Next: Vol 2 walks the schematic-grade hardware — the Stamp-S3A module + ST7789V2 display + TCA8418 keyboard scanner + ES8311 audio codec + BMI270 IMU + IR + power subsystem.