ESP32 F.A.Q

Some pins are special about the ESP32 - here's a list of 'notorious' pins to watch for!

  • A2 / I34 - this pin is an input only! You can use it as an analog input so we suggest keeping it for that purpose
  • A3 / I39 - this pin is an input only! You can use it as an analog input so we suggest keeping it for that purpose
  • IO12 - this pin has an internal pulldown, and is used for booting up. We recommend not using it or if you do use it, as an output only so that nothing interferes with the pulldown when the board resets
  • A13 / I35 - this pin is not exposed, it is used only for measuring the voltage on the battery. The voltage is divided by 2 so be sure to double it once you've done the analog reading

Why does the yellow CHARGE LED blink while USB powered?

The charging circuit will flash when there is no LiPoly battery plugged in. It's harmless and doesn't mean anything. When a LiPoly battery is connect it will stabilize the charger and will stop flashing

Why can I not read analog inputs once WiFi is initialized?

Due to the design of the ESP32, you can only read analog inputs on ADC #1 once WiFi has started. That means pins on ADC 2 (check the pinouts page) can't be used as analog inputs

Why is Serial.read() not working as expected on ESP32 Breakout?

This is a minor design issue with the initial version of the Breakout (does not apply to Feather version). If you are having issues similar to the discussion here, try the trick of enabling the internal pull-up as described here.

This guide was first published on May 10, 2017. It was last updated on May 10, 2017. This page (ESP32 F.A.Q) was last updated on Sep 20, 2019.