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

How to Use SparkFun ESP32 Thing Plus: Examples, Pinouts, and Specs

Image of SparkFun ESP32 Thing Plus
Cirkit Designer LogoDesign with SparkFun ESP32 Thing Plus in Cirkit Designer

Introduction

The SparkFun ESP32 Thing Plus is a comprehensive development board that harnesses the power of the ESP32 microcontroller. This versatile board is equipped with Wi-Fi and Bluetooth capabilities, making it an ideal choice for a wide range of Internet of Things (IoT) applications. It can be used for home automation, wearable electronics, and various wireless sensor networks. With its rich set of I/O pins, the ESP32 Thing Plus can interface with numerous sensors and actuators, providing a robust platform for prototyping and product development.

Explore Projects Built with SparkFun ESP32 Thing Plus

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 Motion Tracking System with ICM20948 Sensor
Image of ICM20948: A project utilizing SparkFun ESP32 Thing Plus in a practical application
This circuit features a SparkFun ESP32 Thing Plus microcontroller interfaced with an Adafruit ICM20948 9-axis motion sensor via an Adafruit TXB0104 4-channel bi-directional level shifter. The ESP32 reads data from the ICM20948 sensor, calculates orientation angles such as pitch, roll, yaw, and azimuth, and outputs these values to the serial monitor. The level shifter ensures compatibility between the 3.3V logic levels of the ESP32 and the 1.8V logic levels required by the ICM20948.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based RFID Music Player with Arcade Button Controls
Image of Robot Music Player: A project utilizing SparkFun ESP32 Thing Plus in a practical application
This circuit features an ESP32 Devkit V1 microcontroller interfaced with a DFPlayer Mini MP3 player module, an RFID-RC522 reader, a piezo speaker, and two arcade buttons. The ESP32 controls audio playback through the DFPlayer Mini, which is connected to the speaker, and uses the RFID reader to trigger specific audio tracks based on RFID tag data. The arcade buttons are used to control playback and adjust volume, while a rocker switch and battery mount provide power management.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Interactive Audio Player with LCD Display and Battery Management
Image of Button Box: A project utilizing SparkFun ESP32 Thing Plus in a practical application
This is a microcontroller-based interactive device featuring an ESP32 for control, a Serial MP3 Player for audio output, an LCD display for user interface, and various buttons for input. It includes a battery with a charging module and voltage regulation, and uses a rocker switch for power control. The system's functionality is determined by the embedded code, which is currently a placeholder for future development.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32 Mini Battery-Powered OLED Display with RTC and Potentiometer Control
Image of copy ulit nya: A project utilizing SparkFun ESP32 Thing Plus in a practical application
This circuit is a battery-powered IoT device featuring an ESP32 microcontroller, an OLED display, and an RTC module for timekeeping. It includes a TP4056 for battery charging, a potentiometer for user input, and a pushbutton for resetting the ESP32. The circuit is designed to display information on the OLED and maintain accurate time using the RTC, with power management handled by the TP4056 and voltage regulation by the LM2596 and AMS1117.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with SparkFun ESP32 Thing Plus

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 ICM20948: A project utilizing SparkFun ESP32 Thing Plus in a practical application
ESP32-Based Motion Tracking System with ICM20948 Sensor
This circuit features a SparkFun ESP32 Thing Plus microcontroller interfaced with an Adafruit ICM20948 9-axis motion sensor via an Adafruit TXB0104 4-channel bi-directional level shifter. The ESP32 reads data from the ICM20948 sensor, calculates orientation angles such as pitch, roll, yaw, and azimuth, and outputs these values to the serial monitor. The level shifter ensures compatibility between the 3.3V logic levels of the ESP32 and the 1.8V logic levels required by the ICM20948.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Robot Music Player: A project utilizing SparkFun ESP32 Thing Plus in a practical application
ESP32-Based RFID Music Player with Arcade Button Controls
This circuit features an ESP32 Devkit V1 microcontroller interfaced with a DFPlayer Mini MP3 player module, an RFID-RC522 reader, a piezo speaker, and two arcade buttons. The ESP32 controls audio playback through the DFPlayer Mini, which is connected to the speaker, and uses the RFID reader to trigger specific audio tracks based on RFID tag data. The arcade buttons are used to control playback and adjust volume, while a rocker switch and battery mount provide power management.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Button Box: A project utilizing SparkFun ESP32 Thing Plus in a practical application
ESP32-Based Interactive Audio Player with LCD Display and Battery Management
This is a microcontroller-based interactive device featuring an ESP32 for control, a Serial MP3 Player for audio output, an LCD display for user interface, and various buttons for input. It includes a battery with a charging module and voltage regulation, and uses a rocker switch for power control. The system's functionality is determined by the embedded code, which is currently a placeholder for future development.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of copy ulit nya: A project utilizing SparkFun ESP32 Thing Plus in a practical application
ESP32 Mini Battery-Powered OLED Display with RTC and Potentiometer Control
This circuit is a battery-powered IoT device featuring an ESP32 microcontroller, an OLED display, and an RTC module for timekeeping. It includes a TP4056 for battery charging, a potentiometer for user input, and a pushbutton for resetting the ESP32. The circuit is designed to display information on the OLED and maintain accurate time using the RTC, with power management handled by the TP4056 and voltage regulation by the LM2596 and AMS1117.
Cirkit Designer LogoOpen Project in Cirkit Designer

Technical Specifications

Key Features

  • Microcontroller: ESP32-WROOM-32U
  • Operating Voltage: 3.3V
  • Input Voltage: 5V via USB or LiPo battery (JST connector)
  • Digital I/O Pins: 21
  • Analog Input Pins: 6 (ADC 12-bit)
  • Analog Outputs: 2 (DAC 8-bit)
  • Flash Memory: 4MB
  • SRAM: 520KB
  • Clock Speed: 240MHz
  • Wi-Fi: 802.11 b/g/n (2.4 GHz)
  • Bluetooth: v4.2 BR/EDR and BLE
  • Integrated LiPo Battery Charger

Pin Configuration

Pin Number Function Description
1 3V3 3.3V power supply
2 GND Ground
3-7 GPIO 13-17 General Purpose Input/Output Pins
8 TX0 UART0 Transmit
9 RX0 UART0 Receive
10-15 GPIO 32-33, 25-27 General Purpose Input/Output Pins
16 5V USB 5V supply or LiPo battery input
17 GND Ground
18-23 GPIO 12, 14, 16, 17, 22, 23 General Purpose Input/Output Pins
24 VIN Voltage Input for Battery

Note: This is a simplified pin configuration. For a complete pinout, refer to the SparkFun ESP32 Thing Plus schematic.

Usage Instructions

Getting Started

  1. Powering the Board:

    • Connect the board to your computer via a micro USB cable.
    • Alternatively, you can power the board with a LiPo battery connected to the JST connector.
  2. Installing the ESP32 Arduino Core:

    • In your Arduino IDE, go to File > Preferences and add the following URL to the "Additional Board Manager URLs" field:
      https://dl.espressif.com/dl/package_esp32_index.json
      
    • Open the Board Manager from Tools > Board > Boards Manager... and install the "ESP32 by Espressif Systems" package.
  3. Selecting the Board:

    • Go to Tools > Board and select "SparkFun ESP32 Thing Plus".
  4. Selecting the Port:

    • Connect the board to your computer and select the appropriate COM port under Tools > Port.

Example Blink Code

// This example code blinks the onboard LED on the ESP32 Thing Plus.

void setup() {
  pinMode(5, OUTPUT); // Set the LED pin as an output
}

void loop() {
  digitalWrite(5, HIGH);   // Turn the LED on
  delay(1000);             // Wait for a second
  digitalWrite(5, LOW);    // Turn the LED off
  delay(1000);             // Wait for a second
}

Note: Before uploading the code, ensure that the correct board and port are selected in the Arduino IDE.

Best Practices

  • Always disconnect the board from power sources before making or altering connections.
  • Use a current limiting resistor when connecting LEDs to GPIO pins.
  • Avoid powering high-current devices directly from the board's pins.

Troubleshooting and FAQs

Common Issues

  • Board not recognized by the computer:

    • Ensure the micro USB cable is properly connected and is not just a power cable.
    • Check that the USB drivers are installed correctly.
  • Failed to connect to ESP32: Timed out waiting for packet header:

    • Press the BOOT button on the board when starting the upload process.
    • Try a different USB port or cable.
  • Unexpected behavior in Wi-Fi or Bluetooth functions:

    • Ensure that the antenna is properly connected if using an external antenna.
    • Check for sources of interference and keep the board away from them.

FAQs

  • Can I use the ESP32 Thing Plus with a battery?

    • Yes, the board has an integrated LiPo battery charger and a JST connector for battery power.
  • What is the maximum input voltage for the VIN pin?

    • The maximum input voltage for the VIN pin is 5.5V.
  • How do I reset the board?

    • You can reset the board by pressing the RST button.

For further assistance, consult the SparkFun ESP32 Thing Plus forums or the extensive ESP32 online community for additional resources and support.