M5Stack Cardputer Zero · Volume 12
M5Stack Cardputer Zero Volume 12 — Cheatsheet
Quick-facts panel, what to verify on receipt, hypothesized vs confirmed delta tracking, pre-engagement checklist, troubleshooting flow
Contents
1. About this volume
Vol 12 is the laminate-ready field card for Cardputer Zero. Because Zero is research-baseline (unconfirmed product as of 2026-05-13), this cheatsheet has a critical Zero-specific section: the what to verify on receipt checklist (§ 3). When the actual product lands, work through that checklist before treating any other content as authoritative.
2. Hypothesized quick-facts panel
┌──────────────────────────────────────────────────────────────────┐
│ M5Stack Cardputer Zero (hypothesized as of 2026-05-13) │
├──────────────────────────────────────────────────────────────────┤
│ Status Aspirational; product unconfirmed │
│ Family role Budget / education / fleet-ops tier of Cardputer │
│ MCU (presumed) ESP32-S3 family (FN8 or PICO-1-N8R2 likely) │
│ Flash 8 MB (presumed) │
│ PSRAM None (presumed) │
│ Wi-Fi 2.4 GHz only (ESP32-S3 silicon) │
│ BLE 5.0 (no Classic BT) │
│ Display 1.14" 240×135 IPS ST7789V2 (presumed) │
│ Keyboard 56-key membrane QWERTY (presumed) │
│ Battery 500-1000 mAh LiPo (presumed) │
│ USB USB-C (5V; no PD likely) │
│ microSD Yes (FAT32, Class 10+) │
│ Grove HY2.0-4P (3.3V + 2 GPIO) │
│ EXT bus NO (presumed) — no Cap LoRa-1262 compatibility │
│ Audio in NO (presumed) — no MEMS mic, no codec, no jack │
│ Audio out Speaker only (PWM-driven presumed) │
│ IR LED MAYBE (presumed reduced) │
│ IMU NO (presumed) │
│ Form factor Credit-card handheld; ~35-45 g │
│ Price $30-40 USD (presumed) │
└──────────────────────────────────────────────────────────────────┘
ALL VALUES MARKED "PRESUMED" REQUIRE VERIFICATION ON RECEIPT.
SEE § 3 FOR THE FULL VERIFICATION CHECKLIST.
3. WHAT TO VERIFY ON RECEIPT — the critical Zero checklist
When Cardputer Zero (or whatever the actual product turns out to be) lands in your hands:
3.1 Identification + provenance
- Product name matches advertised SKU
- SKU matches what you ordered
- Vendor packaging matches M5Stack’s standard presentation
- Documentation included — quick-start card, etc.
- Photograph unit + serial number for records
3.2 Visual inspection
- No physical damage to case
- No swelling visible
- All connectors clean
- Keyboard membrane intact
- Display free of cracks
- Antenna PCB trace (if visible) intact
3.3 Power-on test
- First boot succeeds (display shows vendor firmware)
- Display renders normally
- Keyboard responds to keypresses
- USB-C charges (verify charging LED if present)
- Speaker produces sound
3.4 Hardware verification
For each presumed hardware feature, verify on receipt:
- MCU: read via
esptool.py --port X chip_id— confirm ESP32-S3 + variant - Flash size:
esptool.py --port X flash_id - PSRAM: build a sketch that probes; report at runtime
- IR LED: attempt to send IR signal; confirm with phone camera (IR is visible to most cameras)
- IMU: Wire-scan I²C at 0x68; presence indicates IMU
- Audio codec: Wire-scan I²C at 0x18 (ES8311 default)
- Microphone: try recording test (firmware path)
- 3.5 mm jack: visible inspection; plug headphones, test audio output
- EXT bus: visual inspection — look for 14-pin connector on the side/back
- Grove port: visual + plug test
- microSD: insert card, verify mounted; test write
- Battery: charge to full, run typical load, measure actual runtime
3.5 Spec sheet retrieval
- Locate Cardputer Zero’s product page on
shop.m5stack.com - Locate the docs page on
docs.m5stack.com - Download datasheets / schematics if available
- Compare your unit’s actual specs to the docs
- Flag any discrepancies for vendor support
3.6 Update this deep dive
Once specs are confirmed:
- Edit each volume’s hypothesis tables to confirmed values
- Replace
FIGURE SLOTmarkers with actual photos (via Photo Helper) - Update
CLAUDE.mdProgress Log - Run
bash build/rebuild_complete.sh - Run validators + commit
4. Hypothesis vs confirmed-fact tracker template
| Item | Hypothesis (Vol N § X) | Confirmed value | Confirmation source |
|---|---|---|---|
| Product exists | TBD | _________ | Vendor page |
| SKU | K132-Zero | _________ | Vendor invoice |
| MCU | ESP32-S3FN8 | _________ | chip_id output |
| Flash | 8 MB | _________ | flash_id output |
| PSRAM | None | _________ | Runtime probe |
| Display | 240×135 IPS | _________ | Visual + datasheet |
| Keyboard | 56-key | _________ | Visual count |
| Battery | 700 mAh | _________ | Datasheet + measured |
| USB-C | Yes | _________ | Visual |
| microSD | Yes | _________ | Visual |
| Grove HY2.0-4P | Yes | _________ | Visual |
| EXT bus | No | _________ | Visual |
| IR LED | TBD | _________ | Test + visual |
| IMU | No | _________ | I²C scan |
| Audio codec | No | _________ | I²C scan |
| MEMS mic | No | _________ | Visual + test |
| 3.5 mm jack | No | _________ | Visual |
| Speaker | Yes | _________ | Test |
| Magnetic base | TBD | _________ | Visual |
| Price | $30-40 | _________ | Vendor listing |
Copy this template into your engagement record / unit’s narrative .md on receipt.
5. Firmware quick-flash reference
# === Identify port ===
ls /dev/cu.usb* # macOS
ls /dev/ttyUSB* /dev/ttyACM* # Linux
# Or check Device Manager → COM ports on Windows
# === Backup factory firmware ===
esptool.py --port /dev/cu.usbserial-X \
--chip esp32s3 \
read_flash 0 0x800000 \
factory_backup_$(date +%Y%m%d).bin
# === Erase + flash ===
esptool.py --port /dev/cu.usbserial-X erase_flash
esptool.py --port /dev/cu.usbserial-X \
--chip esp32s3 \
--baud 921600 \
write_flash -z 0x0 firmware.bin
# === Verify ===
esptool.py --port /dev/cu.usbserial-X \
--chip esp32s3 \
read_mac
6. Programming environment quick-start
# === Arduino + PlatformIO ===
# Install PlatformIO (one-time)
pip install -U platformio
# Build + flash with Zero env
cd your-project/
pio run --environment m5stack-cardputer-zero --target upload
# Serial monitor
pio device monitor --baud 115200
# === MicroPython ===
# Flash MicroPython firmware first (one-time)
esptool.py --port /dev/cu.usbserial-X erase_flash
esptool.py --port /dev/cu.usbserial-X --chip esp32s3 --baud 921600 \
write_flash -z 0x0 micropython-esp32s3.bin
# Then use Thonny or rshell as MicroPython IDE
7. Battery life realism table
Assuming 700 mAh nominal:
| Mode | Current (mA) | Runtime |
|---|---|---|
| Sleep | 5 | ~140 hours (~6 days) |
| Display off, idle | 30 | ~24 hours |
| Menu navigation | 70 | ~8 hours |
| Wi-Fi scan | 150 | ~4 hours |
| Wi-Fi active TX/RX | 250 | ~2.5 hours |
| Heaviest load (Wi-Fi + display + SD) | 300 | ~2 hours |
For 500 mAh: × 0.71. For 1000 mAh: × 1.43.
Practical rule: half a Cardputer ADV’s runtime.
8. Region rules quick reference
| Region | 2.4 GHz Wi-Fi | TX power | Notes |
|---|---|---|---|
| US | FCC §15.247 | +30 dBm max | Spread spectrum required |
| EU | EN 300 328 | +20 dBm max | Strict duty cycle |
| JP | ARIB STD-T66 | +20 dBm max | Various |
| Other regions | Various | Various | Verify locally |
ESP32-S3 typically TX at +20 dBm — within all major region limits.
For pentest TX (deauth, evil portal): authorization required, period.
9. Troubleshooting flow
Won't boot?
├─ Battery dead? Charge for 30 min, retry.
├─ Stuck firmware? Erase + reflash (Vol 8).
├─ Bad SD? Try without SD inserted.
└─ Hardware fault? Vendor RMA.
USB-C won't enumerate?
├─ Charge-only cable? Use data cable.
├─ Driver issue (Windows)? Reinstall ESP32 USB drivers.
├─ Wrong port? Try different USB port.
└─ Silicon damage? Vendor RMA.
Wi-Fi scan empty?
├─ Wi-Fi enabled in firmware? Check.
├─ Antenna damaged? Visual inspect.
├─ Region setting wrong? Check.
└─ Silicon fault? Vendor RMA.
Battery dies fast?
├─ Heavy display brightness? Dim to 30-50%.
├─ Sustained Wi-Fi TX? Lower duty.
├─ Cold ambient? Cell capacity drops.
└─ Cell degraded? Replace.
Custom firmware bricked?
├─ Erase + reflash via esptool.py (Vol 8 § 7)
├─ Boot button + USB if needed
└─ Vendor RMA if silicon damage.
10. Pre-engagement checklist (printable)
HARDWARE
[ ] Unit charged to ≥80%
[ ] USB-C battery pack ready (engagement >3h)
[ ] USB-C cable
[ ] microSD formatted FAT32, adequate space
[ ] Antenna inspected
FIRMWARE
[ ] Firmware version locked + tested
[ ] Region setting matches venue
[ ] Recovery plan documented
ENGAGEMENT
[ ] Written authorization (TX-related)
[ ] Bystander privacy plan
[ ] Sanitization plan post-engagement
[ ] Documentation policy
FINAL
[ ] All above checked — proceed
11. Key references in one block
Vendor
M5Stack shop shop.m5stack.com
M5Stack docs docs.m5stack.com
M5Stack community community.m5stack.com
Community
Cardputer Wiki cardputer.wiki
r/CardPuter reddit.com/r/CardPuter
Awesome M5Stack Cardputer github.com/terremoth/awesome-m5stack-cardputer
Firmware
M5Launcher bmorcelli.github.io/Launcher
Bruce github.com/pr3y/Bruce
NEMO github.com/n0xa/m5stack-nemo
MicroHydra github.com/echo-lalia/MicroHydra
UiFlow flow.m5stack.com
ESPHome esphome.io
Libraries
M5Cardputer github.com/m5stack/M5Cardputer
M5Unified github.com/m5stack/M5Unified
Arduino-ESP32 github.com/espressif/arduino-esp32
Sibling Hack Tools references
Cardputer ADV deep dive ../../../M5Stack Cardputer ADV/03-outputs/Cardputer_ADV_Complete.html
Cardputer ADV CLAUDE.md ../../../M5Stack Cardputer ADV/CLAUDE.md
M5Stick S3 deep dive ../../../M5Stick S3/03-outputs/M5StickS3_Complete.html
ESP32 Marauder firmware ../../../ESP32 Marauder Firmware/03-outputs/ESP32_Marauder_Firmware_Complete.html
Hack Tools comparison ../../../_shared/comparison.md
Capability matrix ../../../_shared/capability_matrix.html
Regulatory
US FCC fcc.gov
US 47 CFR fcc.gov/general/title-47-code-federal-regulations
EU ETSI etsi.org
Tools
esptool.py github.com/espressif/esptool
PlatformIO platformio.org
This is the final volume of the M5Stack Cardputer Zero research-baseline series. Re-build all 12 volumes with confirmed-fact updates when actual hardware specs become available — until then, every hardware claim is hypothesis subject to verification per § 3.