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.
About this entry
The description was reviewed against primary sources.
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
- Reverse-Engineering a Bluetooth-Enabled Radar Detector · Learning resource
- Link Pi ENCx encoders (unofficial documentation) · Learning resource
- Supplementary AST-Based Deobfuscation Materials · Learning resource
- MCP Reversing Dataset (mrexodia) · Learning resource
- ICSim (Instrument Cluster Simulator) · Learning resource
- CNNPRE (IEEE Access 2023) · Research