← Back to all projects

M5STACK CARDPUTER LEARNING PROJECTS

Learning M5Stack Cardputer: Project Recommendations

Core Concept Analysis

The M5Stack Cardputer is a credit card-sized ESP32-S3 computer that packs an incredible amount of functionality into a portable form factor. To truly master this device, you need to understand these fundamental building blocks:

Concept Layer What You’ll Learn
ESP32-S3 Architecture Dual-core Xtensa LX7, 8MB PSRAM, flash memory management
Wireless Protocols WiFi (station/AP/monitor mode), Bluetooth 5.0/BLE, promiscuous mode
Display Programming SPI-based TFT control, graphics libraries, UI design on constrained devices
Input Handling Matrix keyboard scanning, debouncing, key mapping
Audio Processing I2S microphone, speaker output, FFT analysis, audio codecs
IR Communication NEC protocol, learning remotes, carrier frequency modulation
USB/HID USB device emulation, HID protocols, BadUSB concepts
Security Concepts 802.11 frames, deauthentication, packet capture, ethical hacking

Project 1: WiFi Packet Sniffer & Network Analyzer

  • File: M5STACK_CARDPUTER_LEARNING_PROJECTS.md
  • Main Programming Language: C/C++ (Arduino or ESP-IDF)
  • Alternative Programming Languages: MicroPython, Rust (esp-rs)
  • Coolness Level: Level 4: Hardcore Tech Flex
  • Business Potential: 1. The “Resume Gold” (Educational/Personal Brand)
  • Difficulty: Level 3: Advanced
  • Knowledge Area: Network Security / Wireless Protocols
  • Software or Tool: Wireshark, WiFi Sniffer
  • Main Book: “TCP/IP Illustrated, Volume 1” by W. Richard Stevens

What you’ll build: A portable WiFi packet capture device that sniffs 802.11 frames in promiscuous mode, displays network traffic statistics on the built-in screen, and exports captured packets to SD card in PCAP format for analysis in Wireshark.

Why it teaches [Wireless Security & Embedded Networking]: The ESP32-S3 can enter promiscuous mode—a capability that lets you receive ALL WiFi packets on a channel, not just those addressed to you. Building this forces you to understand the 802.11 frame structure, channel hopping, packet parsing, and the difference between management, control, and data frames.

Core challenges you’ll face:

  • Configuring ESP32 promiscuous mode and callback handlers (maps to WiFi driver internals)
  • Parsing 802.11 frame headers and extracting useful data (maps to protocol parsing)
  • Managing memory for high-speed packet capture without drops (maps to embedded memory constraints)
  • Writing PCAP format to SD card in real-time (maps to file I/O on embedded)
  • Creating a usable UI on the 1.14” display (maps to constrained UI design)

Key Concepts:

  • 802.11 Frame Structure: “TCP/IP Illustrated, Volume 1” Chapter 2 - W. Richard Stevens
  • ESP32 Promiscuous Mode: ESP-IDF Documentation - WiFi Driver API
  • PCAP File Format: Wireshark Developer Documentation
  • Embedded Memory Management: “Making Embedded Systems, 2nd Edition” Chapter 6 - Elecia White
  • Network Security Basics: “Foundations of Information Security” Chapter 8 - Jason Andress

Difficulty: Advanced Time estimate: 2-3 weeks Prerequisites: Basic C, understanding of WiFi concepts, familiarity with Wireshark

Real world outcome:

  • Boot your Cardputer and see live packet counts on screen
  • Watch as nearby devices broadcast probe requests revealing their saved network names
  • Export a .pcap file to SD card, pop it into your computer, and analyze in Wireshark
  • Identify all WiFi networks and connected clients in your area
$ # What you'll see on screen:
$ Channel: 6  |  Packets: 1,247  |  Networks: 12
$
$ Top SSIDs (by traffic):
$ 1. HomeNetwork     - 423 pkts
$ 2. CoffeeShop_5G   - 312 pkts
$ 3. [Hidden]        - 156 pkts

Learning milestones:

  1. Promiscuous mode works - You see raw packets in serial monitor → You understand ESP32 WiFi driver
  2. SSID extraction works - Network names appear on display → You understand 802.11 beacon parsing
  3. PCAP export works - Wireshark opens your capture → You understand file formats and embedded I/O
  4. Channel hopping works - You capture across all channels → You understand the WiFi spectrum

Project 2: Universal IR Remote with Learning Capability

  • File: M5STACK_CARDPUTER_LEARNING_PROJECTS.md
  • Main Programming Language: C++ (Arduino)
  • Alternative Programming Languages: MicroPython, CircuitPython
  • Coolness Level: Level 3: Genuinely Clever
  • Business Potential: 2. The “Micro-SaaS / Pro Tool” (Solo-Preneur Potential)
  • Difficulty: Level 2: Intermediate
  • Knowledge Area: Hardware Protocols / Signal Processing
  • Software or Tool: IR Remote, Protocol Analyzer
  • Main Book: “Making Embedded Systems, 2nd Edition” by Elecia White

What you’ll build: A programmable IR remote that can learn codes from existing remotes, store them organized by device, and replay them. Navigate devices and commands using the keyboard, with a visual confirmation on display when signals are sent.

Why it teaches [IR Protocols & Signal Timing]: IR communication uses precisely timed pulses at specific carrier frequencies (typically 38kHz). Different manufacturers use different protocols (NEC, Sony, RC5, RC6). Building this teaches you how to capture raw timing data, identify protocols, decode commands, and retransmit accurately.

Core challenges you’ll face:

  • Capturing raw IR timing from the VS1838B receiver (maps to interrupt-driven input)
  • Identifying and decoding multiple IR protocols (maps to protocol reverse engineering)
  • Storing learned codes persistently in flash/NVS (maps to embedded storage)
  • Generating precise 38kHz carrier frequency for transmission (maps to timer/PWM control)
  • Building a menu-based UI for device/command organization (maps to embedded UI patterns)

Key Concepts:

  • NEC IR Protocol: “Infrared Sensor Tutorial” - DroneBot Workshop (detailed timing diagrams)
  • Hardware Timers & PWM: “Making Embedded Systems, 2nd Edition” Chapter 5 - Elecia White
  • Interrupt Handling: “Bare Metal C” Chapter 7 - Steve Oualline
  • Non-Volatile Storage: ESP-IDF NVS Documentation
  • State Machine Design: “Language Implementation Patterns” Chapter 2 - Terence Parr

Difficulty: Intermediate Time estimate: 1-2 weeks Prerequisites: Basic Arduino programming, understanding of timing concepts

Real world outcome:

  • Point any IR remote at your Cardputer and capture its codes
  • Navigate through your learned remotes on the display: TV → Power, Volume+, Volume-, etc.
  • Control your TV, air conditioner, and sound bar from one pocket device
  • See visual feedback on screen confirming each IR blast
$ # UI on Cardputer screen:
$ === Universal Remote ===
$
$ [1] Living Room TV
$ [2] Bedroom AC
$ [3] Sound Bar
$ [4] + Learn New Device
$
$ Press number to select...

Learning milestones:

  1. Raw capture works - See timing values in serial → You understand IR signal structure
  2. Protocol decode works - “NEC: Address=0x04, Command=0x08” appears → You understand protocol parsing
  3. Store/recall works - Codes persist across reboots → You understand NVS/flash storage
  4. Transmission works - Your TV responds to Cardputer → You understand carrier generation

Project 3: Real-Time Audio Spectrum Analyzer

  • File: M5STACK_CARDPUTER_LEARNING_PROJECTS.md
  • Main Programming Language: C/C++ (ESP-IDF or Arduino)
  • Alternative Programming Languages: MicroPython (with limitations)
  • Coolness Level: Level 4: Hardcore Tech Flex
  • Business Potential: 1. The “Resume Gold” (Educational/Personal Brand)
  • Difficulty: Level 3: Advanced
  • Knowledge Area: Digital Signal Processing / Audio
  • Software or Tool: FFT Analyzer, Audio Visualizer
  • Main Book: “The Scientist and Engineer’s Guide to DSP” by Steven W. Smith (free online)

What you’ll build: A portable audio spectrum analyzer that captures sound through the built-in MEMS microphone, performs real-time FFT analysis, and displays frequency bands as animated bars on the TFT screen. Includes peak hold, different visualization modes, and configurable frequency ranges.

Why it teaches [DSP & Real-Time Embedded]: This project pushes the ESP32-S3’s dual-core architecture to its limits. You’ll learn I2S audio capture, DMA transfers, windowing functions, FFT algorithms, and real-time display updates—all running concurrently without dropping frames or audio samples.

Core challenges you’ll face:

  • Configuring I2S for the SPM1423 MEMS microphone with DMA (maps to I2S protocol & DMA)
  • Implementing or using an FFT library optimized for ESP32 (maps to DSP algorithms)
  • Applying windowing functions (Hamming, Hann) for accurate frequency analysis (maps to signal processing theory)
  • Mapping FFT bins to musical frequency bands (maps to frequency domain understanding)
  • Maintaining 30+ FPS display updates while processing audio (maps to dual-core FreeRTOS)

Key Concepts:

  • FFT Fundamentals: “The Scientist and Engineer’s Guide to DSP” Chapters 8-12 - Steven W. Smith
  • I2S Audio Protocol: ESP-IDF I2S Driver Documentation
  • Windowing Functions: “Digital Signal Processing” Chapter 9 - Steven W. Smith
  • Dual-Core FreeRTOS: “Mastering the FreeRTOS Real Time Kernel” - SMP section
  • Real-Time Graphics: “Computer Graphics from Scratch” Chapter 1-2 - Gabriel Gambetta

Difficulty: Advanced Time estimate: 2-3 weeks Prerequisites: Comfortable with FreeRTOS, basic understanding of audio/frequency concepts

Real world outcome:

  • Play music near your Cardputer and watch the spectrum dance in real-time
  • See bass frequencies (20-200Hz) on the left, treble (2-20kHz) on the right
  • Toggle between bar graph, waterfall, and oscilloscope views
  • Identify musical notes by their frequency peaks
$ # Display shows real-time bars:
$  █
$  █ █   █                   █
$  █ █ █ █ █       █   █ █ █ █
$  █ █ █ █ █ █ █ █ █ █ █ █ █ █ █
$  ─────────────────────────────
$  63 125 250 500 1k 2k 4k 8k 16k Hz

Learning milestones:

  1. Audio capture works - See waveform in serial plotter → You understand I2S and MEMS mics
  2. FFT produces results - Frequency peaks appear at expected values → You understand DFT/FFT
  3. Display updates smoothly - 30+ FPS with audio processing → You’ve mastered dual-core concurrency
  4. Accurate frequency mapping - Play 440Hz tone, see peak at A4 → You understand audio science

Project 4: BadUSB / USB HID Attack Demonstration Tool

  • File: M5STACK_CARDPUTER_LEARNING_PROJECTS.md
  • Main Programming Language: C++ (Arduino with TinyUSB)
  • Alternative Programming Languages: CircuitPython
  • Coolness Level: Level 5: Pure Magic (Super Cool)
  • Business Potential: 1. The “Resume Gold” (Educational/Personal Brand)
  • Difficulty: Level 3: Advanced
  • Knowledge Area: USB Protocols / Security Research
  • Software or Tool: BadUSB, Rubber Ducky
  • Main Book: “Practical Malware Analysis” by Michael Sikorski (for security mindset)

What you’ll build: A USB HID device that emulates a keyboard when plugged into a computer, capable of executing pre-programmed keystroke sequences (payloads). Includes a payload editor on the Cardputer’s screen, multiple payload storage, and execution delay configuration.

Why it teaches [USB Protocols & Security]: The ESP32-S3 has native USB support (unlike ESP32). Building a BadUSB teaches you the USB HID protocol stack, descriptor configuration, keystroke injection timing, and the security implications of trusting USB devices. This is the same technology used in commercial penetration testing tools like the USB Rubber Ducky.

Core challenges you’ll face:

  • Configuring ESP32-S3 as a USB HID device using TinyUSB (maps to USB device stack)
  • Understanding USB descriptors and HID report formats (maps to USB protocol internals)
  • Converting keystroke sequences to HID scan codes (maps to keyboard protocol)
  • Handling different keyboard layouts (US, UK, etc.) (maps to internationalization)
  • Creating a payload editor with the 56-key keyboard (maps to embedded text editing)

IMPORTANT - ETHICAL USE ONLY: This project is for authorized security testing and education. Only use on systems you own or have explicit permission to test.

Key Concepts:

  • USB HID Protocol: “USB Complete” by Jan Axelson - HID chapters
  • TinyUSB Stack: TinyUSB Documentation and Examples
  • HID Report Descriptors: USB.org HID Specification
  • Penetration Testing Ethics: “Penetration Testing” Chapter 1 - Georgia Weidman
  • Keystroke Injection: Hak5 USB Rubber Ducky Documentation

Difficulty: Advanced Time estimate: 2 weeks Prerequisites: Understanding of USB basics, ethical hacking awareness

Real world outcome:

  • Plug Cardputer into your test computer via USB
  • Select a payload from your collection on the screen
  • Watch as it “types” commands automatically, opening terminals, running scripts
  • Create custom payloads using the built-in editor
$ # Payload selection screen:
$ === BadUSB Payloads ===
$
$ [1] Rick Roll (opens YouTube)
$ [2] System Info Dump
$ [3] WiFi Password Grabber*
$ [4] Reverse Shell Demo*
$ [5] + Create New Payload
$
$ *Requires authorization

Learning milestones:

  1. USB enumeration works - Computer recognizes as keyboard → You understand USB descriptors
  2. Single keystroke works - Pressing button types ‘A’ → You understand HID reports
  3. Payload execution works - Notepad opens and text appears → You understand injection timing
  4. Payload editor works - Create/save payloads on device → You’ve built a complete tool

Project 5: Wardriving WiFi Mapper

  • File: M5STACK_CARDPUTER_LEARNING_PROJECTS.md
  • Main Programming Language: C++ (Arduino)
  • Alternative Programming Languages: MicroPython
  • Coolness Level: Level 4: Hardcore Tech Flex
  • Business Potential: 1. The “Resume Gold” (Educational/Personal Brand)
  • Difficulty: Level 3: Advanced
  • Knowledge Area: Wireless Security / Geolocation
  • Software or Tool: Wardriving, Wigle
  • Main Book: “The Practice of Network Security Monitoring” by Richard Bejtlich

What you’ll build: A mobile WiFi mapping device that scans for networks while you walk/drive, logs SSIDs with GPS coordinates (using an external GPS module), signal strength, and security type. Exports data in Wigle-compatible CSV format for uploading to the global wardriving database.

Why it teaches [WiFi Scanning & GPS Integration]: This project combines wireless reconnaissance with geospatial data. You’ll learn active vs passive scanning, RSSI interpretation, GPS NMEA parsing, efficient logging strategies, and how to process data for visualization on maps.

Core challenges you’ll face:

  • Continuous WiFi scanning with channel hopping (maps to WiFi driver control)
  • Parsing GPS NMEA sentences from serial (maps to protocol parsing)
  • Correlating WiFi observations with location timestamps (maps to data synchronization)
  • Efficient SD card logging without buffer overflows (maps to embedded I/O patterns)
  • Display showing live stats during capture (maps to real-time UI updates)

Key Concepts:

  • WiFi Scanning APIs: ESP-IDF WiFi Scan Documentation
  • NMEA GPS Protocol: “GPS Essentials” - understanding $GPGGA, $GPRMC sentences
  • SD Card File I/O: “Making Embedded Systems, 2nd Edition” Chapter 8 - Elecia White
  • Wigle Format: Wigle.net CSV specification documentation
  • RSSI Interpretation: “Computer Networks” Chapter 2 - Tanenbaum

Difficulty: Advanced Time estimate: 2-3 weeks Prerequisites: Basic WiFi scanning experience, understanding of GPS concepts

Real world outcome:

  • Walk around your neighborhood with Cardputer + GPS module
  • Watch live network count and GPS fix status on display
  • Export CSV file and upload to Wigle.net
  • See your mapped networks on a real map with colored dots for security types
$ # Live display during wardriving:
$ ═══════════════════════════════
$  WARDRIVER v1.0
$ ═══════════════════════════════
$  GPS: 3D Fix (8 sats)
$  Lat: 37.7749  Lon: -122.4194
$ ───────────────────────────────
$  Networks: 247 unique
$  WPA3: 12 | WPA2: 189 | Open: 46
$ ───────────────────────────────
$  Last: "CoffeeShop_Free" (-42dBm)
$ ═══════════════════════════════

Learning milestones:

  1. WiFi scan works - Networks list on screen → You understand ESP32 scanning
  2. GPS parsing works - Coordinates display correctly → You understand NMEA protocol
  3. Logging works - CSV file grows on SD card → You understand embedded file I/O
  4. Wigle upload works - Your networks appear on map → You’ve completed the pipeline

Project 6: Custom Application Launcher & Mini-OS

  • File: M5STACK_CARDPUTER_LEARNING_PROJECTS.md
  • Main Programming Language: C++ (Arduino or ESP-IDF)
  • Alternative Programming Languages: MicroPython, Rust
  • Coolness Level: Level 5: Pure Magic (Super Cool)
  • Business Potential: 4. The “Open Core” Infrastructure (Enterprise Scale)
  • Difficulty: Level 4: Expert
  • Knowledge Area: Operating Systems / UI Frameworks
  • Software or Tool: Custom OS, App Launcher
  • Main Book: “Operating Systems: Three Easy Pieces” by Remzi H. Arpaci-Dusseau

What you’ll build: A custom launcher/mini-OS for the Cardputer that boots into a graphical menu, supports loading and running multiple applications from SD card, manages settings, and provides common services (WiFi, display, storage) to apps.

Why it teaches [OS Concepts on Embedded]: Building a launcher that can load and execute code dynamically teaches you about memory management, application isolation (or lack thereof on embedded), resource sharing, and the challenges of building an “operating system” without virtual memory or process isolation.

Core challenges you’ll face:

  • Creating a bootloader that loads apps from SD card (maps to code loading & execution)
  • Managing shared resources (display, WiFi, storage) between apps (maps to resource management)
  • Implementing a settings/configuration system (maps to persistent state management)
  • Building a consistent UI framework for apps (maps to API design)
  • Handling app crashes gracefully without rebooting (maps to error recovery)

Key Concepts:

  • Memory Layout: “Operating Systems: Three Easy Pieces” Part I - Virtualization chapters
  • Resource Management: “Making Embedded Systems, 2nd Edition” Chapter 9 - Elecia White
  • UI Framework Design: “Design Patterns” - Observer and MVC patterns - Gang of Four
  • Dynamic Loading: ESP-IDF Partition Table and OTA documentation
  • Error Handling: “Effective C, 2nd Edition” Chapter 12 - Robert C. Seacord

Difficulty: Expert Time estimate: 1 month+ Prerequisites: Strong C/C++, understanding of memory layout, experience with previous projects

Real world outcome:

  • Boot your Cardputer and see YOUR custom launcher
  • Navigate through installed apps with the keyboard
  • Launch apps, use them, return to launcher
  • Manage WiFi, brightness, and other settings from a central place
$ # Your custom launcher screen:
$ ╔═══════════════════════════════╗
$ ║    CARDPUTER OS v1.0         ║
$ ╠═══════════════════════════════╣
$ ║                               ║
$ ║  [1] WiFi Scanner             ║
$ ║  [2] IR Remote                ║
$ ║  [3] Spectrum Analyzer        ║
$ ║  [4] BadUSB Tools             ║
$ ║  [5] Settings                 ║
$ ║                               ║
$ ╠═══════════════════════════════╣
$ ║  WiFi: Connected  Batt: 87%   ║
$ ╚═══════════════════════════════╝

Learning milestones:

  1. Boot to custom UI - Your launcher appears on startup → You understand boot process
  2. Apps launch correctly - Can run and return from apps → You understand execution flow
  3. Settings persist - WiFi credentials saved → You understand configuration management
  4. Multiple apps coexist - No conflicts between apps → You’ve mastered resource sharing

Project 7: Bluetooth HID Keyboard/Mouse Injector

  • File: M5STACK_CARDPUTER_LEARNING_PROJECTS.md
  • Main Programming Language: C++ (Arduino with ESP32-BLE-Keyboard library)
  • Alternative Programming Languages: MicroPython
  • Coolness Level: Level 4: Hardcore Tech Flex
  • Business Potential: 2. The “Micro-SaaS / Pro Tool” (Solo-Preneur Potential)
  • Difficulty: Level 2: Intermediate
  • Knowledge Area: Bluetooth / HID Protocols
  • Software or Tool: BLE Keyboard, Wireless HID
  • Main Book: “Getting Started with Bluetooth Low Energy” by Kevin Townsend

What you’ll build: A Bluetooth keyboard and mouse emulator that pairs with computers, phones, or tablets, allowing you to type messages, control presentations, or execute automation scripts wirelessly from your Cardputer.

Why it teaches [BLE HID & Wireless Protocols]: Unlike USB HID (Project 4), Bluetooth HID requires understanding the BLE pairing process, GATT services, HID over GATT profile, and the challenges of wireless reliability. This is how commercial Bluetooth keyboards work.

Core challenges you’ll face:

  • Implementing BLE HID profile with proper service/characteristic UUIDs (maps to GATT architecture)
  • Handling BLE pairing and bonding for persistent connections (maps to BLE security)
  • Managing multiple paired devices (maps to connection management)
  • Implementing mouse movements with relative coordinates (maps to HID report types)
  • Creating macros and automation sequences (maps to scripting on embedded)

Key Concepts:

  • BLE GATT Architecture: “Getting Started with Bluetooth Low Energy” Chapters 4-6 - Kevin Townsend
  • HID over GATT: Bluetooth SIG HID over GATT Profile Specification
  • BLE Pairing: “Bluetooth Low Energy: The Developer’s Handbook” - security chapters
  • ESP32 BLE Stack: ESP-IDF Bluetooth Documentation
  • Input Report Formats: USB HID Usage Tables (applies to BLE HID too)

Difficulty: Intermediate Time estimate: 1-2 weeks Prerequisites: Basic BLE understanding, completion of simpler projects

Real world outcome:

  • Pair your Cardputer with your laptop via Bluetooth
  • Type on the Cardputer’s keyboard, text appears on laptop
  • Use arrow keys to control presentation slides
  • Execute saved macros with a single keypress
$ # BLE Keyboard mode screen:
$ ═══════════════════════════════
$  BLE KEYBOARD MODE
$ ═══════════════════════════════
$  Status: Connected
$  Device: MacBook Pro
$ ───────────────────────────────
$  [F1] Macro: Open Terminal
$  [F2] Macro: Lock Screen
$  [F3] Macro: Screenshot
$ ───────────────────────────────
$  Type normally, or press ESC
$  to return to menu
$ ═══════════════════════════════

Learning milestones:

  1. Device advertises - Shows up in Bluetooth scan → You understand BLE advertising
  2. Pairing works - Successfully pairs with computer → You understand BLE security
  3. Keystrokes work - Typing appears on paired device → You understand HID over GATT
  4. Macros work - Complex sequences execute reliably → You’ve mastered BLE HID

Project Comparison Table

Project Difficulty Time Depth of Understanding Fun Factor Coolness
WiFi Packet Sniffer Advanced 2-3 weeks Very Deep (802.11 internals) High Level 4
Universal IR Remote Intermediate 1-2 weeks Medium (protocols, timing) High Level 3
Audio Spectrum Analyzer Advanced 2-3 weeks Deep (DSP, real-time) Very High Level 4
BadUSB HID Tool Advanced 2 weeks Deep (USB protocols) Very High Level 5
Wardriving Mapper Advanced 2-3 weeks Deep (WiFi, GPS, data) High Level 4
Custom Launcher/OS Expert 1 month+ Very Deep (OS concepts) Medium Level 5
BLE HID Keyboard Intermediate 1-2 weeks Medium (BLE, HID) High Level 4

Recommendation Path

If you’re just starting with Cardputer:

Start with Project 2 (IR Remote) - It’s approachable, immediately useful, and teaches hardware protocol fundamentals without overwhelming complexity.

If you want maximum “wow factor”:

Go for Project 4 (BadUSB) - Plugging in a device that “types by itself” is incredibly impressive, and the ESP32-S3’s native USB support makes this possible.

If you’re interested in security/hacking:

Start with Project 1 (WiFi Sniffer), then progress to Project 5 (Wardriving), and finally Project 4 (BadUSB).

If you want to understand embedded systems deeply:

Follow this path: Project 2 (IR) → Project 3 (Spectrum Analyzer) → Project 6 (Custom OS)


Final Capstone Project: Complete Cardputer Security Toolkit

  • File: M5STACK_CARDPUTER_LEARNING_PROJECTS.md
  • Main Programming Language: C/C++ (ESP-IDF for maximum control)
  • Alternative Programming Languages: None (this requires low-level control)
  • Coolness Level: Level 5: Pure Magic (Super Cool)
  • Business Potential: 1. The “Resume Gold” (Educational/Personal Brand)
  • Difficulty: Level 5: Master
  • Knowledge Area: Security / Embedded Systems / OS Development
  • Software or Tool: Custom Security OS (like Marauder or Bruce firmware)
  • Main Book: “Practical Malware Analysis” by Michael Sikorski and “The Linux Programming Interface” by Michael Kerrisk (for systems thinking)

What you’ll build: A complete, integrated security toolkit firmware that combines all previous projects into one cohesive package: WiFi analysis, Bluetooth scanning, IR control, USB HID attacks, GPS wardriving—all with a unified UI, shared configuration, and seamless switching between modes.

Why it teaches everything: This is the culmination of all your learning. You’ll face every challenge from previous projects simultaneously: memory constraints across multiple features, UI consistency, power management with multiple radios active, and building something that rivals commercial tools like the Flipper Zero.

Core challenges you’ll face:

  • Memory management across multiple large features (maps to resource optimization)
  • Consistent UI/UX across different tool modes (maps to software architecture)
  • Managing multiple wireless radios simultaneously (maps to hardware coexistence)
  • Implementing a plugin/module system for extensibility (maps to software design patterns)
  • Over-the-air update capability (maps to OTA & bootloader design)

Key Concepts:

  • Software Architecture: “Clean Architecture” by Robert C. Martin
  • Memory Optimization: “Writing Great Code, Volume 2” by Randall Hyde
  • OTA Updates: ESP-IDF OTA Update Documentation
  • Plugin Systems: “Design Patterns” Chapter on Strategy pattern - Gang of Four
  • Security Tool Design: Study Marauder, Flipper Zero, and other open-source tools

Difficulty: Master Time estimate: 2-3 months Prerequisites: Completion of at least 4 previous projects

Real world outcome:

  • A pocket-sized device that rivals commercial security tools
  • Your own firmware that you understand completely
  • A portfolio piece that demonstrates mastery of embedded systems
  • A foundation for building commercial products or contributing to open source
$ # Your unified security toolkit:
$ ╔═══════════════════════════════════════╗
$ ║     CARDPUTER SECURITY SUITE v1.0     ║
$ ╠═══════════════════════════════════════╣
$ ║                                       ║
$ ║  [1] WiFi Tools ────────────────────  ║
$ ║      Scan | Sniff | Deauth | Map      ║
$ ║                                       ║
$ ║  [2] Bluetooth Tools ───────────────  ║
$ ║      Scan | HID | Spam | Track        ║
$ ║                                       ║
$ ║  [3] USB Tools ─────────────────────  ║
$ ║      BadUSB | Mass Storage | HID      ║
$ ║                                       ║
$ ║  [4] IR Tools ──────────────────────  ║
$ ║      Learn | Library | TV-B-Gone      ║
$ ║                                       ║
$ ║  [5] GPS/Mapping ───────────────────  ║
$ ║      Wardrive | Track | Export        ║
$ ║                                       ║
$ ║  [0] Settings                         ║
$ ║                                       ║
$ ╠═══════════════════════════════════════╣
$ ║  WiFi: On | BT: On | GPS: 3D | 78%    ║
$ ╚═══════════════════════════════════════╝

Learning milestones:

  1. Framework complete - All modules load from unified launcher → You’ve built an OS
  2. Memory optimized - All features fit in 8MB with room to spare → You’ve mastered optimization
  3. OTA works - Can update firmware wirelessly → You understand production deployment
  4. Community uses it - Others fork and contribute → You’ve created real open source

Resources Summary

Essential Documentation

Community Projects (for inspiration)

Key Books (from your library)

  • “Making Embedded Systems, 2nd Edition” by Elecia White - Essential for all embedded work
  • “TCP/IP Illustrated, Volume 1” by W. Richard Stevens - For networking projects
  • “The Linux Programming Interface” by Michael Kerrisk - Systems programming mindset
  • “Operating Systems: Three Easy Pieces” by Remzi H. Arpaci-Dusseau - For OS project
  • “Computer Networks” by Tanenbaum - For protocol understanding

Online Learning