2023-12-07 • Jasper Devreker • Reverse engineering the ESP32 Wi-Fi receive registers and showing off a proof-of-concept

This is the second article in a series about reverse engineering the ESP32 Wi-Fi networking stack, with the goal of building our own open-source MAC layer. In the previous article in this series, we built static and dynamic analysis tools for reverse engineering. We also started reverse engineering the transmit path of sending packets, and concluded with a rough roadmap and a call for contributors. In this part, we’ll continue reverse engineering, starting with the ‘receiving packets’ functi...


2023-12-06 • Jasper Devreker • Reverse engineering the ESP32 Wi-Fi hardware registers

(This is part 1 of this series, part 2 is here) The ESP32 is a popular microcontroller known in the maker community for its low price (~ €5) and useful features: it has a dual-core CPU, built-in Wi-Fi and Bluetooth connectivity and 520 KB of RAM. It is also used commercially, in devices ranging from smart CO₂-meters to industrial automation controllers. Most of the software development kit that is used to program for the ESP32 is open-source, except notably the wireless bits (Wi-Fi, Bluetoo...