PrettyPins PDF on GitHub.

The ESP32 Feather V2 comes with plenty of GPIO and other features. This page is a detailed look at everything you get with your new board!

Power

Power Pins

  • GND - This is the common ground for all power and logic.
  • BAT - This is the positive voltage to/from the JST connector for the optional lipoly battery.
  • USB - This is the positive voltage to/from the USB-C connector if connected.
  • EN - This is the 3.3V regulator's enable pin. It's pulled up, so connect to ground to disable the 3.3V regulator.
  • 3V - This is the output from the 3.3V regulator. The regulator can supply 500mA peak but half of that is drawn by the ESP32, and it's a fairly power-hungry chip. So if you need a ton of power for stuff like LEDs, motors, etc. use the USB or BAT pins, and an additional regulator.
  • RST - The reset pin is used for the reset button, but can also be used standalone. Tie it to ground to reset the board.

Power Connectors

The board can be powered from either of the following connectors.

  • USB-C connector - The USB-C connector is located on the left end of the board. It is used for powering and programming the board, reading serial console output back to your computer, and charging a lipoly battery (if connected).
  • JST lipoly battery connector - The lipoly battery connector, located to the right of the mounting hole in the upper left corner of the board, allows you to power the board via a lipoly battery, and, if also plugged into USB, charge the battery as well.

Battery Monitor

  • LiPoly Battery Monitor - The lipoly battery monitor, located to the left of the STEMMA QT connector, towards the center of the board, has a two 200K resistor divider.
  • BATT_MONITOR pin (GPI35) - This ADC pin can be used to read the data from the battery monitor. Basically perform an analog read and multiply by two, to get a rough sense of the lipoly battery voltage.

Charge LED

  • CHG LED - This LED, located below the USB-C connector, and labeled CHG on the silk, lights up while the battery is charging. It is normal for it to possibly flicker while no battery is plugged in.

ESP32

The ESP32 Dual core 240MHz Xtensa® processor is located on the right end of the board. It comes with 8MB of flash and 2MB of PSRAM. There is also a tuned PCB antenna, and all the passives you need to take advantage of this powerful new processor. The ESP32 has both WiFi and Bluetooth Classic/LE support. That means it's perfect for just about any wireless or Internet-connected project.

STEMMA QT Connector

At the top-left corner of the ESP32 module, is a STEMMA QT connector, labeled QT I2C on the silk. This connector allows you to connect a variety of sensors and breakouts with STEMMA QT connectors using various associated cables.

There is a power pin that must be pulled high for the STEMMA QT connector to work. This is done automatically by CircuitPython and Arduino. The pin is available in CircuitPython and in Arduino as NEOPIXEL_I2C_POWER.

If you run into I2C or TFT power issues on Arduino, ensure you are using the latest Espressif board support package. If you are still having issues, you may need to manually pull the pin high in your code.

For running in low power mode, you can disable (set output and LOW) the NEOPIXEL_I2C_POWER pin, this will turn off the separate 3.3V regulator that powers the QT connector's red wire

LED and NeoPixel

There are two controllable LEDs on the ESP32 Feather V2.

  • NeoPixel RGB LED - This RGB LED, on NEOPIXEL_PIN or pin 0, can be controlled in code to light up any color of the rainbow. Treat it like a normal WS2812B
  • NeoPixel Power Pin - There is a power pin that must be pulled high for the STEMMA QT connector to work. This is done automatically by CircuitPython and Arduino. The pin is available in CircuitPython and in Arduino as NEOPIXEL_I2C_POWER or pin 2.
  • Red LED - This little red LED, labeled #13 on the silk, is pin 13. It can be controlled in code like any LED, set high to turn on.
If you run into I2C or TFT power issues on Arduino, ensure you are using the latest Espressif board support package. If you are still having issues, you may need to manually pull the pin high in your code.

Buttons

There are two buttons on the ESP32 Feather V2.

  • SW38 - This is a user readable button switch to use as an input, labeled SW38 on the silk. You can read it on pin GPI 38. Note this is an input-only pin. There is a pull-up on board.
  • Reset - The reset button, labeled reset on the silk, is used to reboot the board.

Logic Pins

These are all of the GPIO pins available on the ESP32 Feather V2. Check out the PrettyPins diagram above for more details.

The pin numbers for the I2C port (SDA, SCL), hardware UART (RX, TX), and SPI (SCK, MOSI, MISO) have changed from the original Feather ESP32. If your code has hardcoded use for those pins, you'll want to replace them either by the new numbers or change the code to use the 'pretty' names like SDA or SCK.

Bottom Row

  • A0 - This is also DAC2, as well as pin 26. It uses ADC2.
  • A1 - This is also DAC1, as well as pin 25. It uses ADC2.
  • A2 - This is also pin 34. It is input/ADC only. It uses ADC1.
  • A3 - This is also pin 39. It is input/ADC only. It uses ADC1.
  • A4 - This is also pin 36. It is input/ADC only. It uses ADC1.
  • A5 - This is also pin 4. It uses ADC2.
  • SCK - This is the SPI clock pin. It is also pin 5.
  • MO - This is the SPI Microcontroller Out / Serial In (MOSI) pin. It is also pin 19.
  • MI - This is the SPI Microcontroller In / Serial Out (MISO) pin. It is also pin 21.
  • RX - This is the UART RX (receive) pin. It is also pin 8. Connect to the TX pin found on a breakout or device. This is separate than the 'debug UART' which is connected to the USB-to-Serial converter, so it will not interfere during upload.
  • TX - This is the UART TX (transmit) pin. It is also pin 7. Connect to the RX pin found on a breakout or device. This is separate than the 'debug UART' which is connected to the USB-to-Serial converter, so it will not interfere during upload.
  • 37 - This is also pin I37. It is input/ADC only. It uses ADC1.

Top Row

  • IO13 - This is also pin 13. It uses ADC2.
  • IO12 - This is also pin 12. It uses ADC2.
  • IO27 - This is also pin 27. It uses ADC2.
  • IO33 - This is also pin 33. It uses ADC1.
  • IO15 - This is also pin 15. It uses ADC2.
  • IO32 - This is also pin 32. It uses ADC1.
  • IO14 - This is also pin 14. It uses ADC2.
  • SCL - This is the I2C clock pin. It is also pin 20.
  • SDA - This is the I2C data pin. It is also pin 22.
If you are using MicroPython, Pin 20 is not supported for I2C. Use the adjacent pin 14 as the I2C clock pin (SCL). This is the tracking issue: https://github.com/micropython/micropython/issues/8440 This is NOT a problem if you are using Arduino or ESP IDF directly
When selecting the new Feather ESP32 V2 board in the Espressif board support package, the correct numbers will be substituted. Note the names are in the same spots, we haven't changed where the I2C/UART/SPI pins are located on the board, just which ESP32 pin numbers they are connected to in the module.

CH9102F USB to Serial Converter

The CH9102F USB to serial converter can handle 50bps to 4Mbps max rate.

Boards purchased before May 19th, 2022 will have the CP2102N USB to serial converter shown below.

CP2102N USB to Serial Converter

The CP2102N USB to serial converter can handle 3 mbps max rate.

This guide was first published on Mar 16, 2022. It was last updated on Mar 16, 2022.

This page (Pinouts) was last updated on Feb 28, 2023.

Text editor powered by tinymce.