ESP32
The original, and still the only one that speaks classic Bluetooth serial.
The pins that matter
Not all forty-odd of them. The five rows that decide whether your wiring works.
Board settings, all three toolchains
Get one of these wrong and nothing else on the site will work.
Also set Upload Speed to 115200 if uploads fail on a long cable.
Hold BOOT while the flash starts, or esptool will not find the chip.
The most widely tested target in PlatformIO. Nothing special needed.
What catches people out on this chip
These are the support emails. They exist nowhere else on the site because they are true of nothing else.
The second ADC block shares hardware with the radio. Any analog pin on ADC2 returns garbage while Wi-Fi is up. Move the sensor to an ADC1 pin — this is the single most common “my sensor broke when I added Wi-Fi” report.
They are the flash bus. Headers on some clone boards expose them anyway, which is a trap, not a feature.
GPIO 34 to 39 accept INPUT_PULLUP in code and silently do nothing with it. A button on those pins needs an external resistor.
Wi-Fi transmit bursts pull well over 300 mA. A thin cable or an unpowered hub causes reboots that look exactly like a code crash.
News about this chip
Guides for this chip
78 of 81 applyWritten once for the whole family. Opening one from here fixes the pins to this chip and the code to your language.
All 47 documented modules work with it. It is the only chip here that can also do classic Bluetooth serial, so the Bluetooth audio and SPP examples are written against this one.
Browse the module index →