Learning resource
Embedded Hacking (mytechnotalent)
A free English course by mytechnotalent on developing, debugging and reverse engineering firmware for the Raspberry Pi Pico 2 (RP2350, Arm Cortex-M33). A fourteen-week syllabus with slides, Markdown notebooks and a 40-chapter PDF textbook follows a write, debug, then hack pattern from hello-world through variables, data types, constants, operators, conditionals, structures and functions, using GDB with OpenOCD and Ghidra, with Binary Ninja and IDA versions of the notebooks from week 4; an I2C LCD, GPS, LoRa radio, servo and IR remote supply the exercises. Graded CTFs, story-driven classified-brief challenges and a secure-boot custom bootloader ship as author-built binaries alongside their source.
- Targets
- Firmware
- Category
- Learning resources
- Relationship
- Learning resource
- Sources reviewed
Requirements & limits
- Reviewed at commit 76fa253 (2026-10-19). The repository dates from October 2023, but its current history restarts with an initial commit on 2026-10-07 and has received commits almost daily since; there are no releases. Weeks 1–7 and 9–11 have slides and notebooks; Week 8 is a midterm built on CTF-02, Weeks 12–13 list only topics, and the two Week 14 final projects are scenario descriptions with no linked files. A supplemental section, which the README places beyond the course, links Rust, Arm-assembly and RISC-V-assembly tutorials, drivers and IoT CTF projects in the author's other repositories.
- The README expects intermediate C including pointers, bare-metal assembly basics, a working model of registers and the stack, command-line use and breadboarding. Hardware is a Raspberry Pi Pico 2 with a Raspberry Pi Debug Probe and the listed parts, among them LEDs, a push button, a 1602 I2C LCD, a DHT11 sensor, an SG90 servo, a VS1838B IR receiver with an NEC remote, a u-blox NEO-6M GPS module, two REYAX RYLR998 LoRa modules and an FT232RL USB-serial adapter; Fritzing and wiring diagrams are in hardware/.
- Setup is native on Windows x64, Apple-silicon macOS and Linux x64: the VS Code Raspberry Pi Pico extension installs the Pico SDK, Arm GNU Toolchain, picotool and OpenOCD, builds use CMake and Ninja, and the course adds Ghidra with JDK 21, a serial terminal and a licensed Binary Ninja Personal; the IDA notebook variants additionally assume IDA. Root flash and debug-server scripts wrap flashing and the debug server.
- No third-party firmware is needed: the exercises target programs the author wrote, and the repository commits their source with build outputs (ELF, BIN, UF2, HEX, disassembly and map files), two Binary Ninja databases, CTF-02's static libraries (its auth module, an mbedTLS subset and the Argon2 reference implementation), the RP2350 SVD file and the custom bootloader's signed images. datasheets/ holds copies of the RP2350 datasheet, the Pico C/C++ SDK book, Arm's Cortex-M33 Technical Reference Manual, the Armv8-M Architecture Reference Manual, AAPCS32 and Application Note 132, which keep their publishers' terms.
- Apache-2.0 for the repository. The README's legal disclaimer limits use to educational, research and defensive work on devices the user owns or is explicitly authorized to test. A bundled OpenCode skill only enforces the author's C coding standard, and no REA connection is established. This collection read the README, the repository tree and selected challenge files; it did not work through the lessons, build or flash firmware, or review the textbook, slides or linked repositories.
About this entry
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · mytechnotalent/Embedded-Hacking · Revision 76fa253
- https://github.com/mytechnotalent/Embedded-Hacking/tree/76fa253e9b54aba39b9b02d7738664a65864b425
- README.md#L44-L180 GitHub · mytechnotalent/Embedded-Hacking · Revision 76fa253
- README.md#L244-L641 GitHub · mytechnotalent/Embedded-Hacking · Revision 76fa253
- datasheets GitHub · mytechnotalent/Embedded-Hacking · Revision 76fa253
- WEEK07/0x0017a_ctf/CMakeLists.txt GitHub · mytechnotalent/Embedded-Hacking · Revision 76fa253
- WEEK11/0x0026a_custom-bootloader/README.md GitHub · mytechnotalent/Embedded-Hacking · Revision 76fa253
- .opencode/skill/embedded-c-standard/SKILL.md GitHub · mytechnotalent/Embedded-Hacking · Revision 76fa253
- LICENSE GitHub · mytechnotalent/Embedded-Hacking · Revision 76fa253
More in References and learning
- Installation and client setup · Documentation
- CLI and Evidence · Documentation
- MCP contracts and generated catalog · Documentation
- Native binary investigation · Documentation
- Cross-layer JavaScript application workflows · Documentation
- Static Android APK analysis · Documentation