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

How to Use ESP32-S3 GPIO Extension Board: Examples, Pinouts, and Specs

Image of ESP32-S3 GPIO Extension Board
Cirkit Designer LogoDesign with ESP32-S3 GPIO Extension Board in Cirkit Designer

Introduction

The ESP32-S3 GPIO Extension Board by Freenove is a versatile add-on designed to expand the GPIO capabilities of the ESP32-S3 microcontroller. This board provides additional GPIO pins, making it easier to interface with multiple sensors, actuators, and other peripherals simultaneously. It is ideal for projects requiring enhanced connectivity and functionality, such as IoT applications, robotics, and home automation systems.

Explore Projects Built with ESP32-S3 GPIO Extension Board

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 Environmental Monitoring System with Motion Detection
Image of pro: A project utilizing ESP32-S3 GPIO Extension Board in a practical application
This circuit features an ESP32 microcontroller on a baseboard that interfaces with a PIR sensor for motion detection, a DHT22 sensor for measuring temperature and humidity, and a BH1750 sensor for detecting ambient light levels. The ESP32 is configured to communicate with the BH1750 using I2C protocol, with GPIO22 and GPIO21 serving as the SCL and SDA lines, respectively. Power is supplied to the sensors from the ESP32's voltage output pins, and sensor outputs are connected to designated GPIO pins for data acquisition.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based OLED Display Interface
Image of d: A project utilizing ESP32-S3 GPIO Extension Board in a practical application
This circuit features an ESP32 microcontroller connected to an OLED 1.3" display. The ESP32's GPIO pins 21 and 22 are used for I2C communication (SDA and SCL respectively) with the OLED display. The display is powered by the 5V output from the ESP32, and both devices share a common ground.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-S3 Based Environmental Monitoring and Control System with Data Logging
Image of ESP32: A project utilizing ESP32-S3 GPIO Extension Board in a practical application
This circuit features an ESP32-S3 microcontroller interfaced with various sensors and modules, including a DHT22 temperature and humidity sensor, an HC-SR04 ultrasonic sensor, an SGP41 VOC and NOx sensor, and an Adafruit INA260 current and power sensor. The ESP32-S3 also controls a DC motor via a relay and communicates with an SD card and an OLED display. An Arduino UNO is used to read inputs from a rotary encoder, and a step-down buck converter is used to regulate voltage from a 12V battery to power the components.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Input Control Interface with Joystick, Touch, and Reed Switches
Image of UI: A project utilizing ESP32-S3 GPIO Extension Board in a practical application
This circuit is designed to interface an ESP32 microcontroller with various input devices for sensing and control, including a joystick, potentiometer, capacitive touch sensors, reed switches, and push buttons, with additional GPIOs provided by an MCP23017 IO expander. It is set up for diverse input methods and is powered by a 3.3V supply, with the ESP32's code currently serving as a placeholder for further development.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with ESP32-S3 GPIO Extension Board

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 pro: A project utilizing ESP32-S3 GPIO Extension Board in a practical application
ESP32-Based Environmental Monitoring System with Motion Detection
This circuit features an ESP32 microcontroller on a baseboard that interfaces with a PIR sensor for motion detection, a DHT22 sensor for measuring temperature and humidity, and a BH1750 sensor for detecting ambient light levels. The ESP32 is configured to communicate with the BH1750 using I2C protocol, with GPIO22 and GPIO21 serving as the SCL and SDA lines, respectively. Power is supplied to the sensors from the ESP32's voltage output pins, and sensor outputs are connected to designated GPIO pins for data acquisition.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of d: A project utilizing ESP32-S3 GPIO Extension Board in a practical application
ESP32-Based OLED Display Interface
This circuit features an ESP32 microcontroller connected to an OLED 1.3" display. The ESP32's GPIO pins 21 and 22 are used for I2C communication (SDA and SCL respectively) with the OLED display. The display is powered by the 5V output from the ESP32, and both devices share a common ground.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of ESP32: A project utilizing ESP32-S3 GPIO Extension Board in a practical application
ESP32-S3 Based Environmental Monitoring and Control System with Data Logging
This circuit features an ESP32-S3 microcontroller interfaced with various sensors and modules, including a DHT22 temperature and humidity sensor, an HC-SR04 ultrasonic sensor, an SGP41 VOC and NOx sensor, and an Adafruit INA260 current and power sensor. The ESP32-S3 also controls a DC motor via a relay and communicates with an SD card and an OLED display. An Arduino UNO is used to read inputs from a rotary encoder, and a step-down buck converter is used to regulate voltage from a 12V battery to power the components.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of UI: A project utilizing ESP32-S3 GPIO Extension Board in a practical application
ESP32-Based Input Control Interface with Joystick, Touch, and Reed Switches
This circuit is designed to interface an ESP32 microcontroller with various input devices for sensing and control, including a joystick, potentiometer, capacitive touch sensors, reed switches, and push buttons, with additional GPIOs provided by an MCP23017 IO expander. It is set up for diverse input methods and is powered by a 3.3V supply, with the ESP32's code currently serving as a placeholder for further development.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Expanding GPIO availability for complex projects
  • Interfacing with multiple sensors and actuators
  • Prototyping IoT devices with diverse hardware requirements
  • Robotics projects requiring numerous input/output connections
  • Educational purposes for learning microcontroller interfacing

Technical Specifications

The following table outlines the key technical details of the ESP32-S3 GPIO Extension Board:

Specification Details
Microcontroller Compatible with ESP32-S3
Operating Voltage 3.3V
GPIO Pin Count Up to 16 additional GPIO pins
Communication Protocol I2C (for onboard GPIO expander)
Power Supply 5V input via USB or external power source
Dimensions 60mm x 40mm x 15mm
Connector Type Pin headers and screw terminals

Pin Configuration and Descriptions

The GPIO extension board uses an onboard GPIO expander IC (e.g., PCA9555 or similar) to provide additional GPIO pins. Below is the pin configuration:

Pin Name Description
GND Ground connection
VCC 3.3V power supply input
SDA I2C data line (connect to ESP32-S3 SDA)
SCL I2C clock line (connect to ESP32-S3 SCL)
GPIO0-GPIO15 General-purpose input/output pins

Usage Instructions

How to Use the Component in a Circuit

  1. Power the Board: Connect the VCC pin to a 3.3V power source and GND to ground.
  2. Connect I2C Lines: Link the SDA and SCL pins of the extension board to the corresponding SDA and SCL pins on the ESP32-S3.
  3. Access GPIO Pins: Use the GPIO0-GPIO15 pins to connect sensors, actuators, or other peripherals.
  4. Install Required Libraries: If using an I2C GPIO expander IC, install the appropriate library (e.g., Adafruit_PCA9555 for PCA9555) in your development environment.

Important Considerations and Best Practices

  • Ensure the ESP32-S3 and the GPIO extension board share a common ground.
  • Avoid exceeding the current rating of the GPIO pins (typically 25mA per pin).
  • Use pull-up resistors for the I2C lines if not already included on the board.
  • Verify the I2C address of the GPIO expander IC (default is often 0x20 but may vary).

Example Code for Arduino UNO-Compatible IDE

Below is an example code snippet to interface the ESP32-S3 GPIO Extension Board using the Adafruit_PCA9555 library:

#include <Wire.h>
#include <Adafruit_PCA9555.h>

// Create an instance of the PCA9555 class
Adafruit_PCA9555 gpioExpander;

void setup() {
  Serial.begin(115200); // Initialize serial communication for debugging
  Wire.begin();         // Initialize I2C communication

  // Initialize the GPIO expander with its I2C address (default: 0x20)
  if (!gpioExpander.begin(0x20)) {
    Serial.println("Failed to initialize GPIO expander!");
    while (1); // Halt execution if initialization fails
  }

  Serial.println("GPIO expander initialized successfully!");

  // Set GPIO0 as an output pin
  gpioExpander.pinMode(0, OUTPUT);
}

void loop() {
  // Toggle GPIO0 on and off
  gpioExpander.digitalWrite(0, HIGH); // Set GPIO0 to HIGH
  delay(1000);                        // Wait for 1 second
  gpioExpander.digitalWrite(0, LOW);  // Set GPIO0 to LOW
  delay(1000);                        // Wait for 1 second
}

Troubleshooting and FAQs

Common Issues Users Might Face

  1. I2C Communication Failure:

    • Cause: Incorrect wiring or I2C address mismatch.
    • Solution: Double-check the SDA and SCL connections and verify the I2C address of the GPIO expander IC.
  2. GPIO Pins Not Responding:

    • Cause: Incorrect pin configuration or insufficient power supply.
    • Solution: Ensure the pins are correctly configured as input or output and verify the power supply voltage.
  3. Overheating or Damage:

    • Cause: Exceeding the current rating of GPIO pins.
    • Solution: Limit the current draw to within the safe range (typically 25mA per pin).

Solutions and Tips for Troubleshooting

  • Use a multimeter to check voltage levels on the VCC and GND pins.
  • Use an I2C scanner sketch to detect the GPIO expander's address.
  • Ensure the ESP32-S3 firmware is up-to-date and compatible with the GPIO extension board.

By following this documentation, users can effectively integrate the ESP32-S3 GPIO Extension Board into their projects, enhancing the functionality and connectivity of their designs.