

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:
| Feature | Specification |
|---|---|
| Microcontroller | ESP32 dual-core processor (Xtensa LX6) |
| Clock Speed | Up to 240 MHz |
| Flash Memory | 8 MB SPI Flash |
| RAM | 520 KB SRAM |
| Wireless Connectivity | Wi-Fi (802.11 b/g/n) and Bluetooth (Classic + BLE) |
| Operating Voltage | 3.3V |
| Input Voltage Range | 3.5V to 6.5V (via USB-C or LiPo battery) |
| GPIO Pins | 21 GPIO pins (including ADC, DAC, I2C, SPI, UART, PWM) |
| USB Interface | USB-C for programming and power |
| Battery Support | JST connector for 3.7V LiPo battery with built-in charging circuit |
| Dimensions | 51mm x 23mm x 8mm |
| Weight | 5.5 grams |
The ESP32 Feather v2 has a rich set of GPIO pins, each with specific functions. Below is the pinout description:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VIN | Input voltage (3.5V to 6.5V) for powering the board |
| 2 | 3V3 | Regulated 3.3V output |
| 3 | GND | Ground connection |
| 4 | GPIO0 | General-purpose I/O, also used for boot mode selection |
| 5 | GPIO1 (TX) | UART TX (transmit) |
| 6 | GPIO3 (RX) | UART RX (receive) |
| 7 | GPIO21 (SDA) | I2C data line |
| 8 | GPIO22 (SCL) | I2C clock line |
| 9 | GPIO25 | DAC output |
| 10 | GPIO26 | DAC output |
| 11 | GPIO32 | ADC input |
| 12 | GPIO33 | ADC input |
| 13 | EN | Enable pin (active high) |
| 14 | BAT | Battery voltage monitoring |
| 15 | USB | USB 5V input |
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:
Below is an example of how to use the ESP32 Feather v2 to read data from a DHT11 temperature and humidity sensor and send it over Wi-Fi:
#include <WiFi.h>
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>
// Replace with your network credentials
const char* ssid = "Your_SSID";
const char* password = "Your_PASSWORD";
// DHT sensor configuration
#define DHTPIN 4 // GPIO pin connected to the DHT sensor
#define DHTTYPE DHT11 // DHT11 or DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
delay(10);
// Initialize DHT sensor
dht.begin();
Serial.println("DHT sensor initialized.");
// 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() {
// Read temperature and humidity
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
// Check if readings are valid
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// Print readings to Serial Monitor
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" °C");
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.println(" %");
delay(2000); // Wait 2 seconds before next reading
}
By following this documentation, users can effectively utilize the ESP32 Feather v2 for a wide range of IoT and embedded applications.