

The ESP32 Feather v2 by Adafruit is a compact and versatile microcontroller board designed for IoT (Internet of Things) applications. It features a powerful dual-core ESP32 processor with integrated Wi-Fi and Bluetooth capabilities, making it ideal for wireless communication and smart device projects. The board is part of Adafruit's Feather ecosystem, ensuring compatibility with a wide range of FeatherWing add-ons for extended functionality.








The ESP32 Feather v2 is packed with features to support a variety of applications. Below are its key technical details:
The ESP32 Feather v2 has a rich set of GPIO pins, each with multiple functions. Below is the pinout description:
| Pin | Name | Function |
|---|---|---|
| 1 | GND | Ground |
| 2 | 3.3V | 3.3V power output |
| 3 | EN | Enable pin (active high) |
| 4 | GPIO0 | General-purpose I/O, boot mode selection |
| 5 | GPIO1 (TX) | UART TX (serial communication) |
| 6 | GPIO3 (RX) | UART RX (serial communication) |
| 7 | GPIO5 | General-purpose I/O, PWM capable |
| 8 | GPIO12 | General-purpose I/O, ADC, PWM capable |
| 9 | GPIO13 | General-purpose I/O, ADC, PWM capable |
| 10 | GPIO14 | General-purpose I/O, ADC, PWM capable |
| 11 | GPIO15 | General-purpose I/O, ADC, PWM capable |
| 12 | GPIO16 | General-purpose I/O, ADC, PWM capable |
| 13 | GPIO17 | General-purpose I/O, ADC, PWM capable |
| 14 | GPIO18 (SCK) | SPI Clock |
| 15 | GPIO19 (MISO) | SPI MISO (Master In Slave Out) |
| 16 | GPIO21 (MOSI) | SPI MOSI (Master Out Slave In) |
| 17 | GPIO22 (SCL) | I2C Clock |
| 18 | GPIO23 (SDA) | I2C Data |
| 19 | BAT | Battery voltage output |
| 20 | USB | USB 5V power input/output |
| 21 | RST | Reset pin (active low) |
The ESP32 Feather v2 is easy to use and highly adaptable for various projects. Below are the steps and best practices for using the board:
Powering the Board:
Programming the Board:
Connecting Peripherals:
Wireless Communication:
WiFi.h and BluetoothSerial.h can simplify development.Below is an example of how to connect the ESP32 Feather v2 to a Wi-Fi network and blink an LED:
#include <WiFi.h> // Include the Wi-Fi library
// Replace with your network credentials
const char* ssid = "Your_SSID";
const char* password = "Your_PASSWORD";
void setup() {
pinMode(13, OUTPUT); // Set GPIO13 as an output for the onboard LED
Serial.begin(115200); // Start serial communication at 115200 baud
// Connect to Wi-Fi
Serial.print("Connecting to Wi-Fi");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nWi-Fi connected!");
}
void loop() {
digitalWrite(13, HIGH); // Turn the LED on
delay(1000); // Wait for 1 second
digitalWrite(13, LOW); // Turn the LED off
delay(1000); // Wait for 1 second
}
Board Not Detected by Computer:
Code Upload Fails:
Wi-Fi Connection Issues:
Overheating:
Q: Can I use 5V peripherals with the ESP32 Feather v2?
A: No, the ESP32 operates at 3.3V logic levels. Use a level shifter for 5V peripherals.
Q: How do I monitor battery voltage?
A: Use the BAT pin to measure the battery voltage with an ADC pin.
Q: Can I use the ESP32 Feather v2 with CircuitPython?
A: Yes, the board supports CircuitPython. Follow Adafruit's guide to install and use CircuitPython.
Q: What is the maximum current output of the 3.3V pin?
A: The 3.3V pin can supply up to 500mA, depending on the input power source.
This concludes the documentation for the ESP32 Feather v2. For additional support, visit the Adafruit website.