Cypher Cardputer is a littlehakr-branded M5Stack Cardputer firmware build for learning, field labs, and authorized wireless/security testing.
Use this project only on devices, accounts, and networks you own or have explicit permission to test. You are responsible for following your local laws and the rules of any environment where you use it.
Cypher Cardputer is a focused Arduino firmware repo built around one active sketch:
cypher-cardputer/cypher-cardputer.ino
This repo is based on Evil-M5Project work and has been trimmed for the M5Stack Cardputer, rebranded for Cypher/littlehakr use, and normalized around /cypher/... SD-card paths.
- M5Stack Cardputer
- USB-C cable that supports data
- microSD card formatted for the Cardputer
- macOS, Linux, or Windows machine with Arduino CLI
The build target used by this repo is:
m5stack:esp32:m5stack_cardputer:FlashSize=8M,PartitionScheme=huge_app
- Wi-Fi scanning and network discovery tools
- Captive portal and local web admin workflows
- SD-card file browsing, upload, and runtime config storage
- BadUSB script launcher for authorized local testing
- BLE scanning views
- NTLM, CCTV, wardriving, and utility workflows carried over from the Cardputer firmware base
- Cypher-branded boot screen and
/cypherSD-card folder layout
Two BLE raw GAP transmit modes, BLE NameFlood and FindMyEvil TX, are intentionally compiled as unavailable screens on the current ESP32-S3 M5Stack core because that core does not expose the legacy raw GAP API used by the original implementation. BLE scanning views remain available.
Install Arduino CLI first:
brew install arduino-cliThen install the board package and required libraries:
make setupThat target installs the M5Stack ESP32 board package plus the libraries used by the active sketch, including M5Unified, M5Cardputer, ArduinoJson, TinyGPSPlus, ESP Async WebServer, and related dependencies.
Compile the active Cardputer sketch:
make buildIf you prefer the raw Arduino CLI command:
arduino-cli compile \
--fqbn m5stack:esp32:m5stack_cardputer:FlashSize=8M,PartitionScheme=huge_app \
--build-property "compiler.c.elf.extra_flags=-Wl,--allow-multiple-definition" \
cypher-cardputer/List connected boards:
arduino-cli board listFlash with the port shown by Arduino CLI:
make flash PORT=/dev/cu.usbmodem3101Replace /dev/cu.usbmodem3101 with your actual Cardputer port.
Open the serial monitor at 115200 baud:
make monitor PORT=/dev/cu.usbmodem3101On first boot, the firmware creates the /cypher folder tree it needs. Useful paths include:
/cypher/config/config.txt
/cypher/sites/
/cypher/credentials.txt
/cypher/BadUsbScript/
/cypher/ble/
/cypher/handshakes/
/cypher/wardriving/
/cypher/sniffer/
/cypher/CCTV/
/cypher/NTLM/
Copy captive portal HTML files into /cypher/sites/ and BadUSB scripts into /cypher/BadUsbScript/.
The included SD-Card-File/ folder is a starter bundle of runtime files and examples. Copy the contents you want onto the root of your microSD card, then let the firmware use the /cypher paths at runtime.
cypher-cardputer/
cypher-cardputer.ino Active Arduino sketch
SD-Card-File/ Optional runtime files for the microSD card
utilities/ Helper scripts and companion tools
Makefile Arduino CLI shortcuts
arduino-cli.yaml M5Stack board manager config
Old upstream GitHub screenshots and presentation images have been removed so the repo is cleaner to share with the littlehakr audience.
The expected validation command is:
make buildA successful build should compile the active sketch for the M5Stack Cardputer huge-app partition without changing source files.
Cypher Cardputer is made by littlehakr and builds on the Evil-M5Project / Evil-Cardputer firmware lineage by 7h30th3r0n3. Keep the original license and attribution when sharing forks or modified versions.