Originally published by Mar 27, 2020
This article was translated to English, and was originally published for deviceplus.jp.
ESP-WROOM-02, which we have already covered several times in past articles, is an Arduino-compatible board popular because of its size and Wi-Fi support. In this article, we will describe the basic usage of ESP-WROOM-32, a successor released this spring, as well as the newly installed Bluetooth (BLE) function.
Estimated time to complete: 60 minutes
・ESP-WROOM-32 development board
ESP-WROOM-32 is a Wi-Fi module equipped with a chip called ESP32 provided by Espressif Systems and capable of Wi-Fi and Bluetooth (BLE) communication. It is slightly larger than ESP-WROOM-02, but it still is small. The module also has the advantage that Arduino programs can be written (that is, the module can be used as part of Arduino), Wi-Fi communication is supported, and the cost is lower.
The table below shows a comparison of ESP-WROOM-32 and ESP-WROOM-02, the previous model.
|ESP-WROOM-02 (ESP8266)||ESP-WROOM-32 (ESP32)|
|Dimension||20 mm long x 18 mm wide||25.5 mm long x 18 mm wide|
|CPU||Tensilica LX106 @ 80 / 160 MHz||Tensilica Xtensa Dual-Core LX6 @ 160 / 240 MHz|
|RAM||36 KB available to user||520 KB|
|Flash memory||1, 2, 4, 8, 16 MB||64 MB|
|Wi-Fi||802.11n up to 65 Mbps,
802.11g up to 54 Mbps
|802.11n up to 150 Mbps,
802.11g up to 54 Mbps,
|Bluetooth||–||Bluetooth v4.2 BR/EDR and BLE specification|
|Number of pins||18 pins||38 pins|
|Power supply||3.0 to 3.6 V / 80 mA||2.2 to 3.6 V / 80 mA|
|Allowable operating temperature||-4℉ to 257℉||-40℉ to 257℉|
As a rough difference in features from ESP-WROOM-02, ESP-WROOM-32:
• A bit larger than ESP-WROOM-02
• Supports Bluetooth
• Higher performance in terms of CPU, RAM, Flash memory, etc.
• Has more pins
• Supports a wider range of power voltages
It is very helpful in actual work that the module has more pins and a wider range of power voltages, as well as the ability to support Bluetooth and show higher performance.
Now let’s use ESP-WROOM-32 as Arduino. As with the ESP-WROOM-02, you can’t immediately start the Arduino IDE to write programs after connecting the board via USB. First, you need to build an environment to use it.
ESPr Developer 32 is used in this article, which is a development board that can be used immediately after connecting to USB without soldering. Any development board with ESP-WROOM-32 should do, but please make sure beforehand.
The following shows the main flow of environment construction (for Windows). Here’s the brief overview.
1. Add the ESP32 board to Arduino IDE
2. Install the driver
3. Connect the board to PC
First, you should add the board information so that ESP32 can be selected in “Tool”-“Board” in Arduino IDE.
Download the necessary files released on the following Github site:
Click the “Clone or download” button in the center right of the screen and select “Download ZIP”.
The content of the downloaded ZIP should be as follows.
For Windows, save these folders and files to the location where Arduino is installed, such as:
e.g.) C:\Program Files (x86)\Arduino\hardware\espressif\esp32\
Next, start tools/get.exe from among the saved files and download the necessary files.
Click to start get.exe. Then, the command prompt screen appears, starting to download the necessary files.
* The files are usually downloaded to the same location, but if they are downloaded to another location (such as under C:\Users\), move them under esp32\tools.
e.g.) C:\Program Files (x86)\Arduino\hardware\espressif\esp32\tools\
Now, the required files are ready.
Next, install the driver of the board. The driver is required to use USB UART, so download it from the following site.
* If you have used ESP-WROOM-02 in the past, skip this step as it may have already been installed.
When you open the above site, the drivers for each OS are available at the bottom of the page. Download and install one.
When you have completed the above steps, connect the ESP-WROOM-32 board to your PC.
When connected to the PC, the PWR LED lights red.
If the connection is recognized from “Tool”-“Serial Port” in Arduino IDE, then everything is set.
When you’re ready, write a program in Arduino IDE. For the LED blinking program, first open the “01.Basics”-“Blink” program from the sketch examples.
After opening the program, set the board to “ESP32 Dev Module” from “Tools” and write the program.
Once you’ve written the program, the LED blinking is successfully built.
(Since pin 13 is specified this time, the LED is connected to pin 13 and GND on ESPr Developer32.)
We have successfully set up to use ESP-WROOM-32. Next time, we’ll try Bluetooth communication.
Want to do more with your Arduino? Explore our guides to unlock exciting new capabilities: