Skip to content

uPesy only delivers currently in France.

Contents Menu Expand Light mode Dark mode Auto light/dark mode

Getting started with an ESP32 Board

This guide will help you get started with your ESP32 board.


The ESP32 board mentioned in this tutorial is the uPesy ESP32 WROOM DevKit board, but this guide also remains relevant for other ESP32 boards.

esp32 pinout of the uPesy ESP32 Wroom DevKit board

Pinout of the uPesy ESP32 Wroom DevKit board

Programming the ESP32: Different platforms and languages

The most traditional and accessible way to program the ESP32 is to use the Arduino IDE software for beginners. Although it is intended mainly for Arduino boards, it can program other boards using the additional board manager.

For the more advanced, I advise you to use VS Code with PlateformIO to be able to fully utilize the features of the ESP32. It is clearly a game-changer, especially when moving out on Wi-Fi / Web-oriented projects where you mix several languages ​​(C, HTML, CSS, Javascript). You can even program the ESP32 in pure C without using any Arduino code with only the ESP-IDF Espressif framework.

There is also an alternative that is more and more popular, especially since the release of the Raspberry Pi Pico: the MicroPython . It is possible to program the ESP32 in Python. This Python port on a microcontroller (thus the name of Micro Python) allows you to benefit from all the advantages of Python (also the disadvantages: less performance than with Arduino code). On MicroPython, uploading and running a new script is almost instantaneous. With Arduino code, You have to wait up to several minutes for the end of code compilation and upload. When you start and test the code regularly, that makes all the difference.

In summary, I advise you:
  • If you already use Arduino boards, start your discovery of the ESP32 through the Arduino IDE, then possibly migrate to PlateformIO.


    Once you have tested PlateformIO on VS Code, it is difficult to come back to the Arduino IDE afterward 😉

  • If you are familiar with Python and have never done Arduino code, start testing MicroPython.

An installation guide is available for each platform:

Apart from the choice of programming language, since it is, above all, an electronic board, it is essential to know the function of the pins.

ESP32 Pinout: Understanding the ESP32 Pinout

The pins on ESP32 have much more functionality than those on Arduino boards. However, unlike Arduinos, the pin position is different depending on the model. Fortunately, even if the pins on your ESP32 board are in one place, their operation remains the same.

generic esp32 pinout (ESP32 Wroom 32 Devkit model)

Pinout of a “generic” ESP32 board

The pin functions shown are the default on the detailed ESP32 pinout. On the ESP32, we can choose as we desire which pins will use the SPI, I2C, UART, I2S, DAC peripherals. I strongly invite you to consult the tutorial on the detailed ESP32 Pinout guide to have more details and become an expert on ESP32 pins .

For those with a uPesy ESP32 board, you can get more information on the technical documentation for ESP32 boards .

Learn programming on the ESP32

A series of tutorials are available to progress in programming the ESP32 according to your chosen language. You will find in the section Programming tutorials for programming the ESP32 with Arduino code and also tutorials for learning the MicroPython basics .

We use cookies to make your visit to the site as pleasant as possible. Privacy Policy