ESP32 Dev Kit C
The ESP32 Dev Kit C is ESP32-based development board from Espressif Systems. The ESP32 development board ideal for entry-level development and comes equipped with all ESP32 pins exposed.
Having both BLE and Wi-Fi connectivity options, ESP32 Dev Kit C projects include the following protocol elements:
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.
Some devices may have limitations or design restrictions that cause unexpected behavior when used with Atmosphere. Specific information and details pertaining to the ESP32 Dev Kit C and its performance on Atmosphere is noted below.
ADC2is not accessible, since it conflicts with the Wi-Fi. This means that pins
IO26cannot 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 projects start with the following pin configuration:
||UART1 TX Pin||Maps to
||UART1 RX Pin||Maps to
||UART2 TX Pin||Maps to
||UART2 RX Pin||Maps to
||UART3 TX Pin||Maps to
||UART3 RX Pin||Maps to
||I2C SDA||Maps to
||I2C SCL||Maps to
||SPI MOSI||Maps to
||SPI MISO||Maps to
||SPI CLK||Maps to
Internal ESP32 Pins
All internal pins can be accessed using the following nomenclature:
GPIO_NUM_[PIN]. For example, pin 12 can be accessed via
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 Dev Kit C’s exposed peripherals.
This I2C bus is exposed via pins
This SPI bus is exposed via pins
UART1 (USB Debug Console)
This UART is exposed via the micro-USB connector on the ESP32 Dev Kit C or pins
This UART is exposed via pins
This UART is exposed via pins
ADC2 cannot be used, since it conflicts with the Wi-Fi. The following pins can be used for analog input:
Any GPIO pin can be used for PWM output.
Programming the ESP32 Dev Kit C involves using the programmer interface in Atmosphere Studio to install embedded firmware.
Prior to programming an ESP32 Dev Kit C, ensure you have the following setup configuration:
- The ESP32 Dev Kit C 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.
With setup complete, you can program the ESP32 Dev Kit C:
- From Atmosphere Studio’s Embedded tab, click the button from the tab’s toolbar. This displays the Program Firmware window.
- Under Device Port, select the communication port the device is connected to.
- 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 Dev Kit C is programmed with the project’s embedded firmware.
Guides and Tutorials
Get started using the ESP32 Dev Kit C with Atmosphere by walking through the following guides:
|ESP32 Dev Kit C Guides|
|Getting Started with ESP32|
Atmosphere includes a variety of ESP32 Dev Kit C demo projects for users of all levels. Check them out by clicking the demo’s name to open the project in Atmosphere.
Any demo created under the generic ESP32 project type is also applicable for the ESP32 Dev Kit C. The demos listed below have been created under the ESP32 project type, but can be programmed into an ESP32 Dev Kit C and will run without issue.
|Embedded-to-Cloud Demo||Send embedded data to the cloud over Wi-Fi using embedded cloud elements. The demo sends an integer every five seconds to the cloud and increments it by 1. The cloud then multiplies the value and returns the result to the device as a cloud command, which gets printed to the device’s debug console.|
|UART Loopback Demo||Learn how to use the UART element with a simple demo that sends “Hello World” one byte at a time over UART while demonstrating the buffering and regex capabilities of the UART driver. This demo uses UART2. Note to connect IO14 and IO15 on your ESP32 to send the TX back to RX.|
|UART Slave Demo||Create a UART slave device with this demo that’s capable of responding to specific commands using the regular expression element. You can also see how this demo is configured by reading the detailed Creating a UART Slave Device in Atmosphere post in the Atmosphere blog.|
|Wi-Fi Connection Element Demo||Learn how to use the Wi-Fi connection element with a demo that includes writing two BLE characteristics for a Wi-Fi networks’ SSID and password, which are used to initiate a Wi-Fi connection in STA mode. The control characteristic can also be used to disconnect and attempt to reconnect to Wi-Fi via the app.|
The following additional resources and downloadable files are available for the ESP32: