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

How to Use Adafruit ItsyBitsy ESP32: Examples, Pinouts, and Specs

Image of Adafruit ItsyBitsy ESP32
Cirkit Designer LogoDesign with Adafruit ItsyBitsy ESP32 in Cirkit Designer

Introduction

The Adafruit ItsyBitsy ESP32 (Manufacturer Part ID: 5889) is a compact and versatile microcontroller board powered by the ESP32 chip. Designed for Internet of Things (IoT) applications, it features built-in Wi-Fi and Bluetooth capabilities, making it ideal for projects requiring wireless connectivity. Its small form factor and powerful processing capabilities make it suitable for a wide range of applications, from home automation to wearable devices.

Explore Projects Built with Adafruit ItsyBitsy ESP32

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Battery-Powered ESP32 Temperature Monitoring System
Image of Temp Sensor: A project utilizing Adafruit ItsyBitsy ESP32 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 Smart Display with OLED, LED, and Buzzer
Image of EXP2: A project utilizing Adafruit ItsyBitsy ESP32 in a practical application
This circuit features an ESP32 microcontroller that drives a 0.96" OLED display, a red LED, and a piezo buzzer. The ESP32 displays scrolling text and a bitmap on the OLED, controls the LED, and generates a tone on the buzzer, providing a simple interactive display and alert system.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Smart Weather Station with LED Display and Multiple Sensors
Image of Copy of Zegarek (1): A project utilizing Adafruit ItsyBitsy ESP32 in a practical application
This circuit is a sensor and display system powered by an ESP32 microcontroller. It integrates multiple sensors (BH1750 light sensor, BMP280 pressure sensor, DS3231 RTC, and DS18B20 temperature sensor) and drives a series of MAX7219 8x8 LED matrices for visual output. The ESP32 communicates with the sensors via I2C and controls the LED matrices to display data.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Smart Weather Station with Wi-Fi Connectivity
Image of flowchart 3D: A project utilizing Adafruit ItsyBitsy ESP32 in a practical application
This circuit features an ESP32 microcontroller interfacing with various sensors and modules, including a DHT22 temperature and humidity sensor, an ESP32 CAM for image capture, an I2C LCD screen for display, a load cell with an HX711 interface for weight measurement, and a buzzer for audio alerts. The ESP32 handles data acquisition, processing, and communication with these peripherals to create a multi-functional monitoring and alert system.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Adafruit ItsyBitsy ESP32

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 Temp Sensor: A project utilizing Adafruit ItsyBitsy ESP32 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 EXP2: A project utilizing Adafruit ItsyBitsy ESP32 in a practical application
ESP32-Based Smart Display with OLED, LED, and Buzzer
This circuit features an ESP32 microcontroller that drives a 0.96" OLED display, a red LED, and a piezo buzzer. The ESP32 displays scrolling text and a bitmap on the OLED, controls the LED, and generates a tone on the buzzer, providing a simple interactive display and alert system.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Copy of Zegarek (1): A project utilizing Adafruit ItsyBitsy ESP32 in a practical application
ESP32-Based Smart Weather Station with LED Display and Multiple Sensors
This circuit is a sensor and display system powered by an ESP32 microcontroller. It integrates multiple sensors (BH1750 light sensor, BMP280 pressure sensor, DS3231 RTC, and DS18B20 temperature sensor) and drives a series of MAX7219 8x8 LED matrices for visual output. The ESP32 communicates with the sensors via I2C and controls the LED matrices to display data.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of flowchart 3D: A project utilizing Adafruit ItsyBitsy ESP32 in a practical application
ESP32-Based Smart Weather Station with Wi-Fi Connectivity
This circuit features an ESP32 microcontroller interfacing with various sensors and modules, including a DHT22 temperature and humidity sensor, an ESP32 CAM for image capture, an I2C LCD screen for display, a load cell with an HX711 interface for weight measurement, and a buzzer for audio alerts. The ESP32 handles data acquisition, processing, and communication with these peripherals to create a multi-functional monitoring and alert system.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • IoT devices and smart home automation
  • Wireless sensor networks
  • Wearable electronics
  • Robotics and remote control systems
  • Data logging and real-time monitoring
  • Bluetooth-enabled projects (e.g., BLE beacons, wireless communication)

Technical Specifications

The Adafruit ItsyBitsy ESP32 is packed with features that make it a powerful yet compact development board. Below are its key technical details:

Key Technical Details

  • Microcontroller: ESP32 dual-core processor
  • Clock Speed: Up to 240 MHz
  • Flash Memory: 4 MB
  • RAM: 520 KB SRAM
  • Wireless Connectivity:
    • Wi-Fi: 802.11 b/g/n
    • Bluetooth: BLE and Classic Bluetooth
  • Operating Voltage: 3.3V
  • Input Voltage: 5V via USB or 3.3V via VIN pin
  • GPIO Pins: 23 (including ADC, DAC, PWM, I2C, SPI, UART)
  • Analog Inputs: 6 ADC channels (12-bit resolution)
  • Digital Outputs: PWM support on multiple pins
  • Dimensions: 36mm x 18mm x 4mm
  • Weight: ~4g

Pin Configuration and Descriptions

The Adafruit ItsyBitsy ESP32 has a total of 23 GPIO pins, each with specific functions. Below is the pinout description:

Pin Name Function
1 VIN Power input (3.3V)
2 GND Ground
3 3V3 3.3V output
4 EN Enable pin (active high)
5 GPIO0 General-purpose I/O, boot mode selection
6 GPIO1 (TX) UART TX (Serial communication)
7 GPIO3 (RX) UART RX (Serial communication)
8 GPIO4 General-purpose I/O, PWM, ADC
9 GPIO5 General-purpose I/O, PWM, ADC
10 GPIO12 General-purpose I/O, ADC
11 GPIO13 General-purpose I/O, ADC
12 GPIO14 General-purpose I/O, ADC
13 GPIO15 General-purpose I/O, ADC
14 GPIO16 General-purpose I/O
15 GPIO17 General-purpose I/O
16 GPIO18 (SCK) SPI Clock
17 GPIO19 (MISO) SPI Master-In-Slave-Out
18 GPIO21 (MOSI) SPI Master-Out-Slave-In
19 GPIO22 (SCL) I2C Clock
20 GPIO23 (SDA) I2C Data
21 GPIO25 DAC Output
22 GPIO26 DAC Output
23 GPIO27 General-purpose I/O

Usage Instructions

The Adafruit ItsyBitsy ESP32 is easy to use in a variety of projects. Below are the steps to get started and important considerations for using the board effectively.

How to Use the Component in a Circuit

  1. Powering the Board:

    • Connect the board to a computer or USB power source using a micro-USB cable.
    • Alternatively, supply 3.3V to the VIN pin for external power.
  2. Programming the Board:

    • Install the Arduino IDE and add the ESP32 board support package.
    • Select "Adafruit ItsyBitsy ESP32" from the board manager.
    • Connect the board to your computer via USB and select the appropriate COM port.
  3. Connecting Peripherals:

    • Use the GPIO pins to connect sensors, actuators, or other peripherals.
    • For I2C devices, connect to GPIO22 (SCL) and GPIO23 (SDA).
    • For SPI devices, use GPIO18 (SCK), GPIO19 (MISO), and GPIO21 (MOSI).
  4. Uploading Code:

    • Write your code in the Arduino IDE and upload it to the board.
    • Use the onboard reset button if needed to restart the board.

Important Considerations and Best Practices

  • Voltage Levels: Ensure all connected peripherals operate at 3.3V logic levels to avoid damaging the board.
  • Power Supply: Use a stable power source to prevent unexpected resets or instability.
  • Wi-Fi and Bluetooth: Avoid placing the board near metal objects or sources of interference to maintain strong wireless connectivity.
  • Pin Usage: Some pins (e.g., GPIO0) have special functions during boot. Avoid using them as general-purpose I/O unless necessary.

Example Code for Arduino UNO Integration

Below is an example of how to use the Adafruit ItsyBitsy ESP32 to read a temperature sensor and send the data over Wi-Fi:

#include <WiFi.h>

// Replace with your network credentials
const char* ssid = "Your_SSID";
const char* password = "Your_PASSWORD";

void setup() {
  Serial.begin(115200); // Initialize serial communication
  WiFi.begin(ssid, password); // Connect to Wi-Fi

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to Wi-Fi...");
  }
  Serial.println("Connected to Wi-Fi!");
}

void loop() {
  // Example: Read a sensor value (replace with actual sensor code)
  int sensorValue = analogRead(34); // Read from ADC pin
  Serial.print("Sensor Value: ");
  Serial.println(sensorValue);

  delay(1000); // Wait 1 second before reading again
}

Troubleshooting and FAQs

Common Issues Users Might Face

  1. Board Not Detected by Computer:

    • Ensure the USB cable is data-capable (not just for charging).
    • Check if the correct COM port is selected in the Arduino IDE.
  2. Wi-Fi Connection Fails:

    • Verify the SSID and password are correct.
    • Ensure the router is within range and not blocking the device.
  3. Code Upload Fails:

    • Press and hold the BOOT button while uploading the code.
    • Check that the correct board and port are selected in the Arduino IDE.
  4. Unstable Operation:

    • Ensure the power supply is stable and sufficient for the board and peripherals.
    • Avoid using GPIO pins with special boot functions unless necessary.

Solutions and Tips for Troubleshooting

  • Use the Serial Monitor in the Arduino IDE to debug and view error messages.
  • Refer to the Adafruit ItsyBitsy ESP32 pinout diagram for proper connections.
  • Update the ESP32 board support package in the Arduino IDE to the latest version.

By following this documentation, you can effectively use the Adafruit ItsyBitsy ESP32 in your projects and troubleshoot common issues with ease.