

The SparkFun ESP32 Thing is a versatile development board built around the powerful ESP32 chip. It features integrated Wi-Fi and Bluetooth capabilities, making it an excellent choice for Internet of Things (IoT) projects, wireless communication, and smart devices. The board is designed to be compact and user-friendly, with a USB interface for programming and power, as well as a variety of GPIO pins for connecting sensors, actuators, and other peripherals.








The SparkFun ESP32 Thing is packed with features to support a wide range of applications. Below are its key technical specifications:
The SparkFun ESP32 Thing has a variety of pins for different functionalities. Below is a summary of the pin configuration:
| Pin Name | Function | Description |
|---|---|---|
| VIN | Power Input | Accepts 5V from USB or external power source. |
| 3.3V | Power Output | Provides regulated 3.3V output. |
| GND | Ground | Common ground for the circuit. |
| EN | Enable | Resets the board when pulled low. |
| IO0 | GPIO0 / Boot Mode | Used for boot mode selection or general-purpose I/O. |
| IO2 | GPIO2 | General-purpose I/O pin. |
| IO4 | GPIO4 | General-purpose I/O pin. |
| IO5 | GPIO5 | General-purpose I/O pin. |
| IO12 | GPIO12 | General-purpose I/O pin. |
| IO13 | GPIO13 | General-purpose I/O pin. |
| IO14 | GPIO14 | General-purpose I/O pin. |
| IO15 | GPIO15 | General-purpose I/O pin. |
| IO16 | GPIO16 | General-purpose I/O pin. |
| IO17 | GPIO17 | General-purpose I/O pin. |
| IO18 | GPIO18 / SPI_CLK | SPI clock pin or general-purpose I/O. |
| IO19 | GPIO19 / SPI_MISO | SPI MISO pin or general-purpose I/O. |
| IO21 | GPIO21 / I2C_SDA | I2C data pin or general-purpose I/O. |
| IO22 | GPIO22 / I2C_SCL | I2C clock pin or general-purpose I/O. |
| IO23 | GPIO23 / SPI_MOSI | SPI MOSI pin or general-purpose I/O. |
| IO25 | GPIO25 / DAC1 | DAC output or general-purpose I/O. |
| IO26 | GPIO26 / DAC2 | DAC output or general-purpose I/O. |
| IO27 | GPIO27 | General-purpose I/O pin. |
| IO32 | GPIO32 / ADC | Analog input or general-purpose I/O. |
| IO33 | GPIO33 / ADC | Analog input or general-purpose I/O. |
| IO34 | GPIO34 / ADC | Analog input (input-only pin). |
| IO35 | GPIO35 / ADC | Analog input (input-only pin). |
The SparkFun ESP32 Thing is easy to use and program, making it ideal for both beginners and experienced developers. Below are the steps to get started and some best practices for using the board.
Powering the Board:
Programming the Board:
https://dl.espressif.com/dl/package_esp32_index.jsonConnecting Peripherals:
The following example demonstrates how to blink an LED connected to GPIO5:
// Define the GPIO pin for the LED
const int ledPin = 5;
void setup() {
// Set the LED pin as an output
pinMode(ledPin, OUTPUT);
}
void loop() {
// Turn the LED on
digitalWrite(ledPin, HIGH);
delay(1000); // Wait for 1 second
// Turn the LED off
digitalWrite(ledPin, LOW);
delay(1000); // Wait for 1 second
}
The board is not detected by the computer:
Upload fails with a timeout error:
Wi-Fi connection issues:
GPIO pin not working as expected:
Can I use the SparkFun ESP32 Thing with a 5V sensor?
Yes, but you will need a level shifter to convert the 5V signal to 3.3V.
What is the maximum current output of the GPIO pins?
Each GPIO pin can source or sink up to 12 mA safely.
How do I reset the board?
Press the RST button on the board to perform a hardware reset.
Can I use the ESP32 Thing for Bluetooth audio applications?
Yes, the ESP32 supports Bluetooth audio, but additional libraries and configurations may be required.
By following this documentation, you can effectively use the SparkFun ESP32 Thing for a wide range of projects and applications.