Getting Started with the ESP32 Development Board | Random Nerd Tutorials (2024)

New to ESP32? Start here! The ESP32 is a series of low-cost and low-power System on a Chip (SoC) microcontrollers developed by Espressif that include Wi-Fi and Bluetooth wireless capabilities and dual-core processor. If you’re familiar with the ESP8266, the ESP32 is its successor, loaded with lots of new features.

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (1)

Updated 29 September 2023

New to the ESP32? You’re in the right place. This guide contains all the information you need to get started with the ESP32. Learn what is an ESP32, how to select an ESP32 board, how to get your first program working, and much more. Here’s what we’ll cover in this guide:

Table of Contents

  • Introducing the ESP32
    • ESP32 Specifications
    • ESP32 vs ESP8266
  • ESP32 Development Boards
    • How to choose an ESP32 development board?
    • What is the best ESP32 development board for beginners?
  • ESP32 DEVKIT DOIT
  • ESP32 GPIOs Pinout Guide
  • How to program the ESP32?
  • ESP32 with Arduino IDE
  • Upload Code to the ESP32 using Arduino IDE

Introducing the ESP32

First, to get started, what is an ESP32? The ESP32 is a series of chip microcontrollers developed by Espressif.

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (2)

Why are they so popular? Mainly because of the following features:

  • Low-cost: you can get an ESP32 starting at $6, which makes it easily accessible to the general public;
  • Low-power: the ESP32 consumes very little power compared with other microcontrollers, and it supports low-power mode states like deep sleep to save power;
  • Wi-Fi capabilities: the ESP32 can easily connect to a Wi-Fi network to connect to the internet (station mode), or create its own Wi-Fi wireless network (access point mode) so other devices can connect to it—this is essential for IoT and Home Automation projects—you can have multiple devices communicating with each other using their Wi-Fi capabilities;
  • Bluetooth: the ESP32 supports Bluetooth classic and Bluetooth Low Energy (BLE)—which is useful for a wide variety of IoT applications;
  • Dual-core: most ESP32 are dual-core— they come with2 Xtensa 32-bit LX6 microprocessors: core 0 and core 1.
  • Rich peripheral input/output interface—the ESP32 supports a wide variety of input (read data from the outside world) and output (to send commands/signals to the outside world) peripherals like capacitive touch, ADCs, DACs, UART, SPI, I2C, PWM, and much more.
  • Compatible with the Arduino “programming language”: those that are already familiar with programming the Arduino board, you’ll be happy to know that they can program the ESP32 in the Arduino style.
  • Compatible with MicroPython: you can program the ESP32 with MicroPython firmware, which is a re-implementation of Python 3 targeted for microcontrollers and embedded systems.

ESP32 Specifications

If you want to get a bit more technical and specific, you can take a look at the following detailed specifications of the ESP32 (source: http://esp32.net/)—for more details, check the datasheet):

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (3)
  • Wireless connectivityWiFi:150.0 Mbps data rate with HT40
    • Bluetooth:BLE (Bluetooth Low Energy)andBluetooth Classic
    • Processor:Tensilica Xtensa Dual-Core 32-bit LX6 microprocessor, running at 160 or 240MHz
  • Memory:
    • ROM:448KB (for booting and core functions)
    • SRAM:520KB (for data and instructions)
    • RTC fast SRAM: 8 KB (for data storage and main CPU during RTC Boot from the deep-sleep mode)
    • RTC slow SRAM: 8KB (for co-processor accessing during deep-sleep mode)
    • eFuse: 1 Kbit (of which 256 bits are used for the system (MAC address and chip configuration) and the remaining 768 bits are reserved for customer applications, including Flash-Encryption and Chip-ID)
    • Embedded flash: flash connected internally via IO16, IO17, SD_CMD, SD_CLK, SD_DATA_0 and SD_DATA_1 on ESP32-D2WD and ESP32-PICO-D4.
      • 0 MiB (ESP32-D0WDQ6, ESP32-D0WD, and ESP32-S0WD chips)
      • 2 MiB (ESP32-D2WD chip)
      • 4 MiB (ESP32-PICO-D4 SiP module)
  • Low Power:ensures that you can still use ADC conversions,for example, duringdeep sleep.
  • Peripheral Input/Output:
    • peripheral interface with DMA that includescapacitive touch
    • ADCs (Analog-to-Digital Converter)
    • DACs (Digital-to-Analog Converter)
    • I²C (Inter-Integrated Circuit)
    • UART (Universal Asynchronous Receiver/Transmitter)
    • SPI (Serial Peripheral Interface)
    • I²S (Integrated Interchip Sound)
    • RMII (Reduced Media-Independent Interface)
    • PWM (Pulse-Width Modulation)
  • Security:hardware accelerators for AES and SSL/TLS

Main Differences Between ESP32 and ESP8266

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (4)

Previously, we mentioned that the ESP32 is the ESP8266 successor. What are the main differences between ESP32 and ESP8266 boards?

The ESP32 adds anextra CPU core, fasterWi-Fi, more GPIOs, and supports Bluetooth 4.2 and Bluetooth low energy. Additionally, the ESP32 comes withtouch-sensitive pinsthat can be used towake up the ESP32 from deep sleep, andbuilt-in hall effect sensor.

Both boards are cheap, but the ESP32 costs slightly more. While the ESP32 can cost around $6 to $12, the ESP8266 can cost $4 to $6 (but it really depends on where you get them and what model you’re buying).

So, in summary:

  • The ESP32 is faster than the ESP8266;
  • The ESP32 comes with more GPIOs with multiple functions;
  • The ESP32 supports analog measurements on 18 channels (analog-enabled pins) versus just one 10-bit ADC pin on the ESP8266;
  • The ESP32 supports Bluetooth while the ESP8266 doesn’t;
  • The ESP32 is dual-core (most models), and the ESP8266 is single core;
  • The ESP32 is a bit more expensive than the ESP8266.

For a more detailed analysis of the differences between those boards, we recommend reading the following article: ESP32 vs ESP8266 – Pros and Cons.

ESP32 Development Boards

ESP32 refers to the bare ESP32 chip. However, the “ESP32” term is also used to refer to ESP32 development boards. Using ESP32 bare chips is not easy or practical, especially when learning, testing, and prototyping. Most of the time, you’ll want to use an ESP32 development board.

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (5)

These development boards come with all the needed circuitry to power and program the chip, connect it to your computer, pins to connect peripherals, built-in power and control LEDs, an antenna for wi-fi signal, and other useful features. Others even come with extra hardware like specific sensors or modules, displays, or a camera in the case of the ESP32-CAM.

How to Choose an ESP32 Development Board?

Once you start searching for ESP32 boards online, you’ll find there is a wide variety of boards from different vendors. While they all work in a similar way, some boards may be more suitable for some projects than others. When looking for an ESP32 development board there are several aspects you need to take into account:

  • USB-to-UART interface and voltage regulator circuit. Most full-featured development boards have these two features. This is important to easily connect the ESP32 to your computer to upload code and apply power.
  • BOOT and RESET/EN buttons to put the board in flashing mode or reset (restart) the board. Some boards don’t have the BOOT button. Usually, these boards go into flashing mode automatically.
  • Pin configuration and the number of pins. To properly use the ESP32 in your projects, you need to have access to the board pinout (like a map that shows which pin corresponds to which GPIO and its features). So make sure you have access to the pinout of the board you’re getting. Otherwise, you may end up using the ESP32 incorrectly.
  • Antenna connector. Most boards come with an onboard antenna for Wi-Fi signal. Some boards come with an antenna connector to optionally connect an external antenna. Adding an external antenna increases your Wi-Fi range.
  • Battery connector. If you want to power your ESP32 using batteries, there are development boards that come with connectors for LiPo batteries—this can be handier. You can also power a “regular” ESP32 with batteries through the power pins.
  • Extra hardware features. There are ESP32 development boards with extra hardware features. For example, some may come with a built-in OLED display, a LoRa module, a SIM800 module (for GSM and GPRS), a battery holder, a camera, or others.

What is the best ESP32 development board for beginners?

For beginners, we recommend an ESP32 board with a vast selection of available GPIOs, and without any extra hardware features. It’s also important that it comes with voltage regular and USB input for power and upload code.

In most of our ESP32 projects, we use the ESP32 DEVKIT DOIT board, and that’s the one we recommend for beginners. There are different versions of this board with a different number of available pins (30, 36, and 38)—all boards work in a similar way.

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (6)

Where to Buy?

You can check the following link to find the ESP32 DEVKIT DOIT board in different stores:

Other similar boards with the features mentioned previously may also be a good option like the Adafruit ESP32 Feather, Sparkfun ESP32 Thing, NodeMCU-32S, Wemos LoLin32, etc.

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (7)

ESP32 DEVKIT DOIT

In this article, we’ll be using the ESP32 DEVKIT DOIT board as a reference. If you have a different board, don’t worry. The information on this page is also compatible with other ESP32 development boards.

The picture below shows the ESP32 DEVKIT DOIT V1 board, version with 36 GPIO pins.

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (8)

Specifications – ESP32 DEVKIT V1 DOIT

The following table shows a summary of the ESP32 DEVKIT V1 DOIT board features and specifications:

Number of cores2 (dual core)
Wi-Fi2.4 GHz up to 150 Mbits/s
BluetoothBLE (Bluetooth Low Energy) and legacy Bluetooth
Architecture32 bits
Clock frequencyUp to 240 MHz
RAM512 KB
Pins30, 36, or 38 (depending on the model)
PeripheralsCapacitive touch, ADC (analog to digital converter), DAC (digital to analog converter), I2C (Inter-Integrated Circuit), UART (universal asynchronous receiver/transmitter), CAN 2.0 (Controller Area Netwokr), SPI (Serial Peripheral Interface), I2S (Integrated Inter-IC Sound), RMII (Reduced Media-Independent Interface), PWM (pulse width modulation), and more.
Built-in buttonsRESET and BOOT buttons
Built-in LEDsbuilt-in blue LED connected to GPIO2; built-in red LED that shows the board is being powered
USB to UART bridgeCP2102

This particular ESP32 board comes with 36 pins, 18 on each side. The number of available GPIOs depends on your board model.

To learn more about the ESP32 GPIOs, read our GPIO reference guide:ESP32 Pinout Reference: Which GPIO pins should you use?

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (9)

It comes with a microUSB interface that you can use to connect the board to your computer to upload code or apply power.

It uses the CP2102 chip (USB to UART) to communicate with your computer via a COM port using a serial interface. Another popular chip is the CH340. Check what’s the USB to UART chip converter on your board because you’ll need to install the required drivers so that your computer can communicate with the board (more information about this later in this guide).

This board also comes with a RESET button (may be labeled EN) to restart the board and a BOOT button to put the board in flashing mode (available to receive code). Note that some boards may not have a BOOT button.

It also comes with a built-in blue LED that is internally connected to GPIO 2. This LED is useful for debugging to give some sort of visual physical output. There’s also a red LED that lights up when you provide power to the board.

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (10)

ESP32 GPIOs Pinout Guide

The ESP32 chip comes with 48 pins with multiple functions. Not all pins are exposed in all ESP32 development boards, and some pins should not be used. The ESP32 DEVKIT V1 DOIT board usually comes with 36 exposed GPIOs that you can use to connect peripherals.

Power Pins

Usually, all boards come with power pins: 3V3, GND, and VIN. You can use these pins to power the board (if you’re not providing power through the USB port), or to get power for other peripherals (if you’re powering the board using the USB port).

General Purpose Input Output Pins (GPIOS)

Almost all GPIOs have a number assigned and that’s how you should refer to them—by their number.

With the ESP32 you can decide which pins are UART, I2C, or SPI – you just need to set that on the code. This is possible due to the ESP32 chip’s multiplexing feature that allows to assign multiple functions to the same pin.

If you don’t set them on the code, the pins will be configured by default as shown in the figure below (the pin location can change depending on the manufacturer). Additionally, there are pins with specific features that make them suitable or not for a particular project.

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (11)

We have a detailed guide dedicated to the ESP32 GPIOs that we recommend you read: ESP32 Pinout Reference Guide. It shows how to use the ESP32 GPIOs and explains what are the best GPIOs to use depending on your project.

The placement of the GPIOs might be different depending on your board model. However, usually, each specific GPIO works in the same way regardless of the development board you’re using (with some exceptions). For example, regardless of the board, usually GPIO5 is always the VSPI CS0 pin, GPIO 23 always corresponds to VSPI MOSI for SPI communication, etc.

How to Program the ESP32?

The ESP32 can be programmed using different firmware and programming languages. You can use:

  • Arduino C/C++ using the Arduino core for the ESP32
  • Espressif IDF (IoT Development Framework)
  • Micropython
  • JavaScript
  • LUA

Our preferred method to program the ESP32 is with C/C++ “Arduino programming language”. We also have some guides and tutorials using MicroPython firmware.

Throughout this guide, we’ll cover programming the ESP32 using the Arduino core for the ESP32 board. If you prefer using MicroPython, please refer to this guide: Getting Started with MicroPython on ESP32.

Programming ESP32 with Arduino IDE

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (12)

To program your boards, you need an IDE to write your code. For beginners, we recommend using Arduino IDE. While it’s not the best IDE, it works well and is simple and intuitive to use for beginners. After getting familiar with Arduino IDE and you start creating more complex projects, you may find it useful to use VS Code with the Platformio extension instead.

If you’re just getting started with the ESP32, start with Arduino IDE. At the time of writing this tutorial, we recommend using the legacy version (1.8.19) with the ESP32. While version 2 works well with Arduino, there are still some bugs and some features that are not supported yet for the ESP32.

Installing Arduino IDE

To run Arduino IDE, you need JAVA installed on your computer. If you don’t, go to the following website to download and install the latest version: http://java.com/download.

Downloading Arduino IDE

To download the Arduino IDE, visit the following URL:

Don’t install the 2.0 version. At the time of writing this tutorial, we recommend using the legacy version (1.8.19) with the ESP32. While version 2 works well with Arduino, there are still some bugs and some features that are not supported yet for the ESP32.

Scroll down until you find the legacy version section.

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (13)

Select your operating system and download the software. For Windows, we recommend downloading the “Windows ZIP file“.

Running Arduino IDE

Grab the folder you’ve just downloaded and unzip it. Run the executable file called arduino.exe (highlighted below).

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (14)

The Arduino IDE window should open.

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (15)

Installing the ESP32 in Arduino IDE

To be able to program the ESP32 using Arduino IDE, you need to add support for the ESP32 boards. Follow the next steps:

  1. Go to File > Preferences.
Getting Started with the ESP32 Development Board | Random Nerd Tutorials (16)
  1. Enter the following into the “Additional Board Manager URLs” field. This will add support for ESP32 and ESP8266 boards as well.
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json, http://arduino.esp8266.com/stable/package_esp8266com_index.json

See the figure below. Then, click the “OK” button.

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (17)
  1. Open the Boards Manager. Go to Tools > Board >Boards Manager…
  1. Search for ESP32 and install the “ESP32 by Espressif Systems“:

That’s it. It will be installed after a few seconds.

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (18)

After this, restart your Arduino IDE.

Then, go to Tools > Board and check that you have ESP32 boards available.

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (19)

Now, you’re ready to start programming your ESP32 using Arduino IDE.

ESP32 Examples

In your Arduino IDE, you can find multiple examples for the ESP32. First, make sure you have an ESP32 board selected in Tools > Board. Then, simply go to File > Examples and check out the examples under the ESP32 section.

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (20)

Update the ESP32 Core in Arduino IDE

Once in a while, it’s a good idea to check if you have the latest version of the ESP32 boards add-on installed.

You just need to go to Tools> Board> Boards Manager, search for ESP32, and check the version that you have installed. If there is a more recent version available, select that version to install it.

Upload Code to the ESP32 using Arduino IDE

To show you how to upload code to your ESP32 board, we’ll try a simple example available in the Arduino IDE examples for the ESP32.

First, make sure you have an ESP32 selected in Tools > Board. Then, go to File > Examples > WiFi > WiFiScan.

This will load a sketch that scans Wi-Fi networks within the range of your ESP32 board.

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (21)

Connect your ESP32 development board to your computer using a USB cable. If you have an ESP32 DEVKIT DOIT board, the built-in red LED will turn on. This indicates the board is receiving power.

Important: you must use a USB cable with data wires. Some USB cables from chargers or power banks are power only and they don’t transfer data—these won’t work.

Now, follow the next steps to upload the code.

1) Go to Tools > Board, scroll down to the ESP32 section and select the name of your ESP32 board. In my case, it’s the DOIT ESP32 DEVKIT V1 board.

2) Go toTools>Portand select a COM port available. If the COM port is grayed out, this means you don’t have the required USB drivers. Check the section Installing USB Drivers before proceeding.

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (22)

3) Press the upload button.

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (23)

Some boards will automatically go into flashing mode and the code will be successfully uploaded straight away.

Other boards don’t go into flashing mode automatically, so you may end up getting the following error.

Failed to connect to ESP32: Timed out... Connecting...

Or something like:

A fatal error occurred: Failed to connect to ESP32: Wrong boot mode detected (0x13)! The chip needs to be in download mode.

This means the ESP32 was not in flashing mode when you tried to upload the code. In this situation, you should long press the board BOOT button, when you start seeing the “Connecting….” message on the debugging window.

Note: in some boards, a simple trick can make the ESP32 go into flashing mode automatically. Check it out on the following tutorial: [SOLVED] Failed to connect to ESP32: Timed out waiting for packet header.

Now, the code should be successfully uploaded to the board. You should get a “Done uploading “message”.

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (24)

Demonstration

To see if the code is working as expected, open the Serial Monitor at a baud rate of 115200.

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (25)

Press the ESP32 RST or EN button to restart the board and start running the newly uploaded code.

You should get a list of nearby wi-fi networks.

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (26)

This means everything went as expected.

Installing ESP32 USB Drivers

After connecting the ESP32 board to your computer, if the COM port in Arduino IDE is grayed out, it means you don’t have the necessary USB drivers installed on your computer.

Most ESP32 boards either use the CP2101 or CH340 drivers. Check the USB to UART converter on your board, and install the corresponding drivers.

You’ll easily find instructions with a quick google search. For example “install CP2101 drivers Windows”.

Wrapping Up

We hope you’ve found this getting started guide useful. I think we’ve included all the required information for you to get started. You learned what is an ESP32, how to choose an ESP32 development board, and how to upload new code to the ESP32 using Arduino IDE.

Want to learn more? We recommend the following tutorials to get started:

  • ESP32 Digital Inputs and Digital Outputs (Arduino IDE)
  • ESP32 Web Server Tutorial

Also, don’t forget to take a look at the ESP32 pinout to learn how to use its GPIOs:

  • ESP32 Pinout Reference: Which GPIO pins should you use?

If you’re serious about learning about the ESP32, we recommend taking a look at our best-selling eBook:

  • Learn ESP32 with Arduino IDE eBook

You can also check all our free ESP32 tutorials and guides on the following link:

  • More ESP32 Projects

If you like ESP32 make sure you subscribe to our blog, so you don’t miss upcoming projects.

Do you have any questions?Leave a comment down below!

Thanks for reading.

Getting Started with the ESP32 Development Board | Random Nerd Tutorials (2024)

FAQs

How to get started with the ESP32? ›

After installing, restart your Arduino IDE and navigate to Tools > Board to ensure you have ESP32 boards available. Now select your board in the Tools > Board menu (in our case, it's the DOIT ESP32 DEVKIT V1). If you are unsure which board you have, select ESP32 Dev Module. That's it!

Is ESP32 harder than Arduino? ›

Software Capabilities and Programming: ESP32 vs Arduino

Programming the ESP32 may require a steeper learning curve compared to Arduino but offers greater control and efficiency, especially for complex applications.

What is the easiest way to program ESP32? ›

Programming the ESP32: The different platforms and languages

For beginners, the most common and easiest way to program the ESP32 is to use the Arduino IDE software . Although it is intended for Arduino boards, we can use it to program other types of boards, thanks to the additional board manager.

What can I do with an ESP32 board? ›

ESP32 Applications
  1. Smart industrial devices, including programmable logic controllers (PLCs)
  2. Smart medical devices, including wearable health monitors.
  3. Smart energy devices, including HVAC and thermostats.
  4. Smart security devices, including surveillance cameras and smart locks.

What is the best ESP32 board for beginners? ›

In most of our ESP32 projects, we use the ESP32 DEVKIT DOIT board, and that's the one we recommend for beginners. There are different versions of this board with a different number of available pins (30, 36, and 38)—all boards work in a similar way. Where to Buy?

Is ESP32 hard to learn? ›

Everyone started to learn ESP32 when they were amateurs. The learning makes an amateur become an expert. Especially, if you are familiar with Arduino, learning ESP32 is easy. Don't worry if you don't know anything about ESP32 and Arduino.

What are the disadvantages of ESP32? ›

However, the ESP32 has a relatively high power consumption, which can be a disadvantage for battery-operated IoT applications . It is also important to consider the impact of peripheral components, such as voltage regulators, on power consumption .

Why is Raspberry Pi better than ESP32? ›

Versatility in Versions. Another factor that proves that the Raspberry Pi is better than the ESP32 is the versatility of the version of the Raspberry Pi. Both of these boards have multiple versions, which makes them suitable for different projects, but the Raspberry Pi has more versions and boards.

What is the best language to program ESP32? ›

You can program the ESP32 in variety of languages and programming environments, including C/C++ , Micropython, Lua, and more. For programming environments, you can use Espressif's IoT Development Framework (IDF) or VSCode with PlatformIO.

How many times can ESP32 be programmed? ›

According to the official documentation of ESP32, the EEPROM of the ESP32 chip has quite high durability. The official guide mentions that the ESP32 EEPROM write life can reach more than 100,000 times.

What is equivalent to ESP32? ›

Overall, in this article, we have discussed various alternatives to ESP32 microcontroller boards, including Raspberry Pi Pico, STM32 Series, Arduino Nano, Teensy, nRF52840 and other ESP family microcontrollers.

How far can ESP32 transmit? ›

DroneBridge for ESP32 offers a transparent and bi-directional serial to WiFi bridge. Using WiFi protocol does not offer the same range as the other DroneBridge implementations. Typical WiFi range is ~50m-200m depending on the antennas.

Can you run an AI on an ESP32? ›

Allows you to run machine learning models locally on your ESP32 device. This library runs TensorFlow machine learning models on microcontrollers, allowing you to build AI/ML applications powered by deep learning and neural networks.

Why is ESP32 so popular? ›

ESP32. The ESP32 Series of microcontrollers is the most popular among its siblings. They boast an extensive range of features: Dual-Core Processor: The ESP32 features two high-performance Tensilica LX6 CPU cores, which can be individually controlled for better multitasking and improved performance.

Do I need a driver for ESP32? ›

Connect ESP32 to PC

Under normal circ*mstances, the drivers should be bundled with an operating system and automatically installed upon connecting one of the listed boards to the PC.

How do I establish a connection with ESP32? ›

Connect ESP32 to PC

Connect the ESP32 board to the PC using the USB cable. If device driver does not install automatically, identify USB to serial converter chip on your ESP32 board (or external converter dongle), search for drivers in internet and install them. The drivers above are primarily for reference.

What programming language does ESP32 use? ›

You can program the ESP32 in variety of languages and programming environments, including C/C++ , Micropython, Lua, and more. For programming environments, you can use Espressif's IoT Development Framework (IDF) or VSCode with PlatformIO.

What is the best program for ESP32? ›

Espressif ESP IDF – The Espressif IoT Development Framework. This is the official and probably the best way to program an ESP32. It requires more programming expertise, but every ESP device is supported. It can also be run in the VS Code IDE.

Where can I learn ESP32? ›

Learnesp32.com is by far the best online course available to learn about ESP32-IDF. The course is well structured and easy follow.

Top Articles
Latest Posts
Article information

Author: Allyn Kozey

Last Updated:

Views: 6204

Rating: 4.2 / 5 (63 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Allyn Kozey

Birthday: 1993-12-21

Address: Suite 454 40343 Larson Union, Port Melia, TX 16164

Phone: +2456904400762

Job: Investor Administrator

Hobby: Sketching, Puzzles, Pet, Mountaineering, Skydiving, Dowsing, Sports

Introduction: My name is Allyn Kozey, I am a outstanding, colorful, adventurous, encouraging, zealous, tender, helpful person who loves writing and wants to share my knowledge and understanding with you.