Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use Esp32 Feather v2: Examples, Pinouts, and Specs

Image of Esp32 Feather v2
Cirkit Designer LogoDesign with Esp32 Feather v2 in Cirkit Designer

Introduction

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.

Explore Projects Built with Esp32 Feather v2

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
ESP32-Based Vibration Feedback System with Quad Alphanumeric Display and ADXL343 Accelerometer
Image of EC444 - Quest 3: A project utilizing Esp32 Feather v2 in a practical application
This circuit features an Adafruit HUZZAH32 ESP32 Feather board as the central microcontroller, which is connected to an Adafruit Quad AlphaNumeric Featherwing display and an Adafruit ADXL343 accelerometer via I2C communication (SCL and SDA lines). The ESP32 controls a vibration motor connected to one of its GPIO pins (A5_IO4) and shares a common power supply (3.3V) and ground (GND) with the other components. The purpose of this circuit is likely to read acceleration data, display information on the alphanumeric display, and provide haptic feedback through the vibration motor.
Cirkit Designer LogoOpen Project in Cirkit Designer
Battery-Powered ESP32 Temperature Monitoring System
Image of Temp Sensor: A project utilizing Esp32 Feather v2 in a practical application
This circuit consists of an Adafruit HUZZAH32 ESP32 Feather microcontroller, a temperature sensor, and a battery. The ESP32 reads temperature data from the sensor and is powered by the battery, enabling wireless temperature monitoring.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Force Measurement System with LSM303AGR Sensor
Image of final circuit diagram: A project utilizing Esp32 Feather v2 in a practical application
This circuit features an Adafruit HUZZAH32 ESP32 Feather microcontroller connected to an Adafruit LSM303AGR sensor via I2C communication lines (SCL and SDA), a force sensing resistor (FSR) interfaced through an analog input with a pull-up resistor, and powered by a 3xAA battery pack. The LSM303AGR sensor provides acceleration and magnetic field measurements, while the FSR detects applied force. The ESP32 processes these inputs and can be programmed to respond to sensor data for applications such as motion tracking and force measurement.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Environmental Monitoring System with Water Flow Sensing
Image of Water: A project utilizing Esp32 Feather v2 in a practical application
This circuit features an ESP32 Devkit V1 microcontroller connected to a DHT22 temperature and humidity sensor and a water flow sensor. The ESP32 reads environmental data from the DHT22 via a digital input pin (D33) and monitors water flow through the water flow sensor connected to another digital input pin (D23). The ESP32 is powered through its VIN pin, and both sensors are powered by the ESP32's 3V3 output, with common ground connections.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Esp32 Feather v2

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of EC444 - Quest 3: A project utilizing Esp32 Feather v2 in a practical application
ESP32-Based Vibration Feedback System with Quad Alphanumeric Display and ADXL343 Accelerometer
This circuit features an Adafruit HUZZAH32 ESP32 Feather board as the central microcontroller, which is connected to an Adafruit Quad AlphaNumeric Featherwing display and an Adafruit ADXL343 accelerometer via I2C communication (SCL and SDA lines). The ESP32 controls a vibration motor connected to one of its GPIO pins (A5_IO4) and shares a common power supply (3.3V) and ground (GND) with the other components. The purpose of this circuit is likely to read acceleration data, display information on the alphanumeric display, and provide haptic feedback through the vibration motor.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Temp Sensor: A project utilizing Esp32 Feather v2 in a practical application
Battery-Powered ESP32 Temperature Monitoring System
This circuit consists of an Adafruit HUZZAH32 ESP32 Feather microcontroller, a temperature sensor, and a battery. The ESP32 reads temperature data from the sensor and is powered by the battery, enabling wireless temperature monitoring.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of final circuit diagram: A project utilizing Esp32 Feather v2 in a practical application
ESP32-Based Force Measurement System with LSM303AGR Sensor
This circuit features an Adafruit HUZZAH32 ESP32 Feather microcontroller connected to an Adafruit LSM303AGR sensor via I2C communication lines (SCL and SDA), a force sensing resistor (FSR) interfaced through an analog input with a pull-up resistor, and powered by a 3xAA battery pack. The LSM303AGR sensor provides acceleration and magnetic field measurements, while the FSR detects applied force. The ESP32 processes these inputs and can be programmed to respond to sensor data for applications such as motion tracking and force measurement.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Water: A project utilizing Esp32 Feather v2 in a practical application
ESP32-Based Environmental Monitoring System with Water Flow Sensing
This circuit features an ESP32 Devkit V1 microcontroller connected to a DHT22 temperature and humidity sensor and a water flow sensor. The ESP32 reads environmental data from the DHT22 via a digital input pin (D33) and monitors water flow through the water flow sensor connected to another digital input pin (D23). The ESP32 is powered through its VIN pin, and both sensors are powered by the ESP32's 3V3 output, with common ground connections.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • IoT devices and smart home automation
  • Wireless sensor networks
  • Wearable technology
  • Robotics and automation
  • Prototyping and development of connected devices
  • Data logging and remote monitoring

Technical Specifications

The ESP32 Feather v2 is packed with features to support a variety of applications. Below are its key technical details:

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

Pin Configuration and Descriptions

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

Usage Instructions

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:

How to Use the Component in a Circuit

  1. Powering the Board:
    • Connect the board to a USB-C cable for power and programming.
    • Alternatively, connect a 3.7V LiPo battery to the JST connector for portable applications.
  2. Programming:
    • Install the latest version of the Arduino IDE.
    • Add the ESP32 board support package to the Arduino IDE by following the instructions on the ESP32 Arduino GitHub page.
    • Select "Adafruit ESP32 Feather" as the board in the Arduino IDE.
  3. Connecting Peripherals:
    • Use the GPIO pins to connect sensors, actuators, or other modules.
    • For I2C devices, connect to GPIO21 (SDA) and GPIO22 (SCL).
    • For SPI devices, use the designated SPI pins (MOSI, MISO, SCK, and CS).

Important Considerations and Best Practices

  • Voltage Levels: Ensure all connected peripherals operate at 3.3V logic levels to avoid damaging the board.
  • Battery Charging: If using a LiPo battery, the onboard charging circuit will automatically charge the battery when connected to USB power.
  • Wi-Fi and Bluetooth: Avoid placing the board in metal enclosures, as this can interfere with wireless communication.
  • Boot Mode: To enter bootloader mode, hold down the BOOT button while pressing the RESET button.

Example Code for Arduino UNO Integration

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
}

Troubleshooting and FAQs

Common Issues Users Might Face

  1. Board Not Detected by Arduino IDE:
    • Ensure the correct USB driver is installed for the ESP32.
    • Check that the correct board and port are selected in the Arduino IDE.
  2. Wi-Fi Connection Fails:
    • Verify the SSID and password are correct.
    • Ensure the Wi-Fi network is within range and not overloaded.
  3. Sensor Readings Are Incorrect:
    • Check the wiring and ensure the sensor is compatible with 3.3V logic.
    • Verify the sensor library is correctly installed.

Solutions and Tips for Troubleshooting

  • Reset the Board: Press the RESET button to restart the microcontroller.
  • Check Power Supply: Ensure the board is receiving sufficient power, especially when using peripherals.
  • Update Firmware: Use the latest ESP32 board support package to ensure compatibility and bug fixes.
  • Debugging: Use the Serial Monitor in the Arduino IDE to print debug messages and identify issues.

By following this documentation, users can effectively utilize the ESP32 Feather v2 for a wide range of IoT and embedded applications.