Best Practices

This capstone lesson gathers the safety and reliability rules from across this track into one checklist to keep in mind for every ESP32 project you build, plus one practical power-supply tip that trips up a lot of beginners.

This page's guidance is a preview, not something you can run right on this website - this server runs PHP, not the ESP32's own firmware.

1. Never Connect Anything to GPIO6-11

This is the single most important rule from the GPIO Pinout & Restrictions lesson. GPIO6, GPIO7, GPIO8, GPIO9, GPIO10, and GPIO11 are wired internally to the chip's own SPI flash. Connecting anything to them can prevent the board from reading its own program and typically stops it from booting at all. Treat these six pins as permanently off-limits.

2. Be Careful With Strapping Pins

GPIO0, GPIO2, GPIO5, GPIO12 (MTDI), and GPIO15 (MTDO) control the chip's boot mode at power-up/reset. Avoid connecting peripherals that could hold these pins in a state that interferes with normal boot or with re-flashing new firmware. They can often be used as ordinary GPIO once the board has finished booting, but treat power-on/reset moments with extra caution.

3. GPIO Pins Are 3.3V Only - Never 5V

Every ESP32 GPIO pin is 3.3V logic and is not 5V tolerant, even though many dev boards happily accept 5V power input over USB or a VIN pin. That 5V tolerance is handled by the board's own onboard voltage regulator stepping it down to 3.3V before it reaches the chip - it does not extend to signals wired directly into a GPIO pin. Connecting a 5V signal to a GPIO can permanently damage the chip.

4. ADC2 Doesn't Work Reliably Alongside Wi-Fi

ADC2 shares underlying hardware with the Wi-Fi radio. If your project needs to read an analog sensor while Wi-Fi is active, use an ADC1 pin, not an ADC2 pin - covered in full in the ADC & Reading Sensors lesson.

5. Use a Decent-Quality USB Cable and Power Source

A commonly-reported ESP32 gotcha is random resets or unexplained reboots caused by weak power delivery - especially the moment the Wi-Fi radio transmits, which draws a brief current spike. A thin, low-quality USB cable or a weak USB port/power source can cause a voltage dip large enough to reset the board right when it tries to send data. If a project resets unpredictably, especially around Wi-Fi activity, a better cable or a sturdier power source is one of the first things worth trying.

6. Always Double-Check Your Specific Board's Pin Labeling

As emphasized throughout this track, "ESP32" is a chip sold on many different dev boards - a DevKitC, a NodeMCU-32S, or an unbranded clone - and they do not all place the same GPIOs at the same physical pin position. The chip-level rules above are universal, but the physical pin layout is not. Always confirm against your own board's silkscreen labels or documentation before wiring anything.

Checklist recap:
PracticeCovered in full in
Never connect anything to GPIO6-11GPIO Pinout & Restrictions
Handle strapping pins (0, 2, 5, 12, 15) with careGPIO Pinout & Restrictions
GPIO pins are 3.3V only, never 5VGPIO Pinout & Restrictions, GPIO Basics: Blinking an LED
Use ADC1, not ADC2, alongside Wi-FiADC & Reading Sensors
Use a good USB cable/power sourceThis lesson
Check your specific board's pin labeling firstEvery lesson in this track
You've completed the ESP32 track! You now understand its specs, the complete GPIO restrictions, Wi-Fi, Bluetooth and BLE, reading analog sensors, your first LED project, and where to take it from here. Good luck with your build.