This article is a started guide for the ESP32 development board. ESP32 is the sucessor of esp8266. The ESP32 loaded with lots of new features in which most relevant: it combines WiFi and Bluetooth wireless capabilities and included dual-core.
Table of contents
ESP32 DEV Kit
In this article, we’ll be using the ESP32 DEV KIT board as a reference. Information on this page compatible with other ESP32 development boards with the ESP-WROOM-32 chip.
some examples of ESP32 boards.
Purchase your Esp32
Our ESP32 projects are build using mainly the ESP32 DEVKIT and that’s the one we recommend getting. You can use the links or go directly to Amazon.com to find all the parts for projects at the best price!
Specifications
ESP32 chip specifications,
- CPU: Xtensa dual-core (or single-core) 32-bit LX6 microprocessor, operating at 160 or 240 MHz and performing at up to 600 DMIPS
- Ultra low power (ULP) co-processor
- Memory: 520 KiB SRAM, 448 KiB ROM
- Wireless connectivity:
- Wi-Fi: 802.11 b/g/n
- Bluetooth: v4.2 BR/EDR and BLE (shares the radio with Wi-Fi)
For more details download the Data sheet for Esp32 from this link .
You can also read the following article about the working of ESP32
To learn more about the ESP32 pinss, read our pinout reference guide: ESP32 Pinout Reference: Which pins should you use?
Programming Environments for Esp32
ESP32 can be programmed using different programming environments
- Arduino IDE
- Micro Python
- Lua
- Java Script
In articles , we used ESP32 mainly with Arduino IDE
Preparing the ESP32 Board in Arduino IDE
There’s an add-on availble for the Arduino IDE . It allows you to program the ESP32 using the Arduino IDE .
Follow these tutorials to prepare your Arduino IDE for Programing Esp32:
ESP32 Dev Kit Pinout Guide
ESP32 chips come with a multiplexing feature that allows assigning multiple functions to the same pin. If we don’t set them on the code, pins will be used as default configurations –shown in the figure below. Pin location will change depending on the manufacturer.
Test ESP32 by Upload Code using Arduino IDE
We will build a simple example to blink an LED to show you how to upload code to the ESP32 board. All the Esp32 comes up with a build-in Led connected to pin number 22, In this tutorial, we are going to use it.
Copy following code to Arduino IDE:
/* Blink */
// ledPin refers to ESP32 GPIO 23
const int ledPin = 23;
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin ledPin as an output.
pinMode(ledPin, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(ledPin, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(ledPin, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
Follow the next steps
- 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 DEV KIT V1 board.
- 2) Go to Tools > Port and select a COM port available.
Note: when some users get the following error when they trying to upload code, Means that ESP32 board is not in flashing/uploading mode.
To upload code We need to follow few steps , but first you neeed to verify that you are choosen the right board selected
- Hold-down the “BOOT” button in ESP32
- After that you see the “Connecting….” message in Arduino IDE, release the finger from the “BOOT” button:
After sucessfull upload, the LED connected to GPIO 22 should be blinking every other second.
Blinking LED is a simple project to to started with the ESP32Board. This tutorial gives a great way to learn the procedure you need to do to upload code to your board.
Refer the other tutorials