ESP32 Thing Hookup Guide

Contributors: Jimb0
Favorited Favorite 13


The SparkFun ESP32 Thing is a comprehensive development platform for Espressif’s ESP32, their super-charged version of the popular ESP8266. Like the 8266, the ESP32 is a WiFi-compatible microcontroller, but to that it adds support for Bluetooth low-energy (i.e BLE, BT4.0, Bluetooth Smart), and nearly 30 I/O pins. The ESP32’s power and versatility will help make it the foundation of IoT and connected projects for many years to come.

SparkFun ESP32 Thing


The SparkFun ESP32 Thing equips the ESP32 with everything necessary to program, run, and develop on the wonderchip. In addition to the WiFi/BLE SoC, the Thing includes an FTDI FT231x, which converts USB to serial, and allows your computer to program and communicate with the microcontroller. It also features a lithium-polymer (LiPo) battery charger, so your ESP32 project can be truly wireless. Additionally, the board includes a handful of LEDs and buttons to aid in your development.

Covered In This Tutorial

This hookup guide serves as a primer on all things ESP32 Thing. It documents hardware features of the board, including a handful of assembly tips. Then it will delve into firmware development – including demonstrating how to add ESP32 support to the popular Arduino IDE.

The tutorial is broken up into a handful of sections, which you can navigate through using the menu on the right. Those sections include:

Not Yet Implemented

The Arduino board definitions for the ESP32 are still a work in progress. There are a handful of peripherals and features that have yet to be implemented, including:

  • Bluetooth
  • Analog Input (analogRead([pin]))
  • Analog Ouptut (analogWrite([pin], [value]))
  • WiFi Server and WiFI UDP
  • Real-Time Clock
  • Touch-controller interface

These peripherals are available (if, also, still in their infancy) in the IoT Development Framework for the ESP32. If your application requires Bluetooth, analog input, or any of the features above, consider giving the ESP-IDF a try!

Bill of Materials

The ESP32 Thing includes almost everything you’ll need to begin using and programming the WiFi/BT SoC. In fact, the only required extra is a Micro-B USB Cable. The ESP32 Thing’s USB interface can be used to both power and program the chip. Once you’re done programming the chip, a 5V Micro-B USB Wall Adapter can be used to power the board.

USB micro-B Cable - 6 Foot

SparkFun Cerberus USB Cable - 6ft

USB Micro-B Cable - 6"

Wall Adapter Power Supply - 5V DC 2A (USB Micro-B)


As an alternative power source, the ESP32 Thing includes support for single-cell lithium-polymer (LiPo) batteries, which plug into the board’s white 2-pin JST connector. LiPo’s are perfect for projects on-the-go, or those that just need a little extra umph. The board includes a LiPo charger – the rechargeable batteries can be juiced back up by plugging the Thing into a 5V USB source.

Lithium Ion Battery - 1Ah

Lithium Ion Battery - 2Ah

Lithium Ion Battery - 400mAh

Lithium Ion Battery - 850mAh


Finally, to connect the ESP32’s 28 I/O pins to external components, you’ll need to do some soldering. Soldering tools, including an iron and solder, are a must for any electronics workbench. And either headers or wire are our recommended mate for soldering into the Thing’s pins.

Break Away Headers - Straight

Hook-Up Wire - Assortment (Stranded, 22 AWG)

Solder Lead Free - 100-gram Spool

Soldering Iron - 30W (US, 110V)


Suggested Reading

It may look intimidating, but the ESP32 Thing – especially when you take advantage of its Arduino compatibility – is a perfect IoT foundation for electronics users of all experience levels. There are, however, a few concepts you should be familiar with before venturing further into this tutorial. If any of the concepts below sound foreign to you, consider reading through that tutorial first:

How to Solder: Through-Hole Soldering

This tutorial covers everything you need to know about through-hole soldering.

Serial Communication

Asynchronous serial communication concepts: packets, signal levels, baud rates, UARTs and more!

How to Power a Project

A tutorial to help figure out the power requirements of your project.

What is an Arduino?

What is this 'Arduino' thing anyway?