ESP32 Thing

The ESP32 Thing is an ESP32-based development board from Sparkfun Electronics. In addition to the Wi-Fi/BLE SoC, the ESP32 Thing includes an FTDI FT231x which converts USB to serial, and includes a handful of LEDs and buttons to aid in development.

Project Specifics

Having both BLE and Wi-Fi connectivity options, ESP32 Thing projects include the following protocol elements:

BLECharacteristicElement icon for the element library

BLE Characteristic

BLEConnectionElement icon for the element library

BLE Connection

Wi-FiConnectionElement icon for the element library

Wi-Fi Connection

As is standard with any project type that uses Wi-Fi, cloud elements are accessible from both the Embedded and Application tabs in Atmosphere Studio.

Hardware Specifics

Some devices may have limitations or design restrictions that cause unexpected behavior when used with Atmosphere. Specific information and details pertaining to the ESP32 Thing and its performance on Atmosphere is noted below.

  • ADC2 is not accessible, since it conflicts with the Wi-Fi. This means that pins IO4, IO0, IO2, IO15, IO13, IO12, IO14, IO27, IO25, and IO26 cannot be used as analog input pins.

Default Pin Mapping

Atmosphere configures each peripheral to a default pin for every supported device, based on ideal pairing of pins and their usage. The default pin configuration is set for convenience and enables each peripheral to work naturally without needing to be modified.

All pins can be used as general purpose input/output (GPIO) unless otherwise specified.

ESP32 Thing projects start with the following pin configuration:

Pin Table

Pin Description Notes
ESP32_UART1_TX UART1 TX Pin Maps to IO7
ESP32_UART1_RX UART1 RX Pin Maps to IO8
ESP32_UART2_TX UART2 TX Pin Maps to IO1
ESP32_UART2_RX UART2 RX Pin Maps to IO3
ESP32_I2C_SDA I2C SDA Maps to IO2
ESP32_I2C_SCL I2C SCL Maps to IO14

Internal ESP32 Pins

All internal pins can be accessed using the following nomenclature: IO[PIN] OR GPIO_NUM_[PIN]. For example, pin 12 can be accessed via IO12 or GPIO_NUM_12.

The default pin for any peripheral can be changed within an element's properties, from an element that references that particular peripheral.


Below is information regarding the ESP32 Thing’s exposed peripherals.



This I2C bus is exposed via pins IO2(SDA) and IO14(SCL).



This SPI bus is exposed via pins IO13(MOSI), IO12(MISO), and IO14(CLK).


UART1 (USB Debug Console)

This UART is exposed via the micro-USB connector on the ESP32 Thing or pins IO7(TX) and IO8(RX).


This UART is exposed via pins IO1(TX) and IO3(RX).


ADC2 cannot be used, since it conflicts with the Wi-Fi. The following pins can be used for analog input:

  • IO36
  • IO37
  • IO38
  • IO39
  • IO32
  • IO33
  • IO34
  • IO35


Any GPIO pin can be used for PWM output.

Programming Method

Programming the ESP32 Thing involves using the programmer interface in Atmosphere Studio to install embedded firmware.

Setup Configuration

Prior to programming an ESP32 Thing, ensure you have the following setup configuration:

  • The ESP32 Thing is connected to the computer via USB to an available communication port.
  • The computer has the necessary connectivity protocols enabled (Bluetooth Low Energy, Wi-Fi, etc.).
  • The Atmosphere IoT Agent is installed on the computer and running. This is a local application that runs in the system tray and acts as an intermediary between the computer’s connectivity protocol drivers and the browser running Atmosphere.
  • An Internet connection is maintained.
  • The project to be programmed has been compiled.

Programming Instructions

With setup complete, you can program the ESP32 Thing:

  1. From Atmosphere Studio’s Embedded tab, click the Program Firmware button from the tab’s toolbar. This displays the Program Firmware window.
  2. Under Device Port, select the communication port the device is connected to.
  3. Click Program to start programming. When complete, you’ll be notified that the device is programmed with the project’s embedded firmware.

When complete, the ESP32 Thing is programmed with the project’s embedded firmware.

Guides and Tutorials

Get started using the ESP32 Thing with Atmosphere by walking through the following guides:

ESP32 Thing Guides
Getting Started with ESP32

Demo Projects

Atmosphere includes a variety of ESP32 Thing demo projects for users of all levels. Check them out by clicking the demo’s name to open the project in Atmosphere.

Name Description
Control LED Over BLE Demo Control the device’s blue LED by pressing a button in the app to toggle the color over BLE.


The following additional resources and downloadable files are available for the ESP32 Thing: