Introduction
ESP32, like Arduino, is a development board. That means it has all the features you need to create your projects. In this article, you will learn about the ESP32 Wi-Fi and Bluetooth module and how to set it up. Besides, you can know about what it is and how it works and what are its special features.
Catalog
The ESP8266 Wi-Fi module is one of the most popular and useful modules of the past few years. Various versions of such modules are available on the market.
The ESP32 module is an upgraded version of the ESP8266. In addition to the Wi-Fi module, this module also contains a Bluetooth 4.0 module. With a dual-core CPU operating at 80 to 240 MHz, containing two Wi-Fi and Bluetooth modules and various input and output pins, the ESP32 is ideal for IoT projects.
The small ESP32 package has a high level of integrations such as:
On top of all that, it achieves very low power consumption through power-saving features including clock synchronization and multiple modes of operation. The ESP32 chip’s quiescent current is less than 5 μA which makes it the ideal tool for your battery-powered projects or IoT applications.
Figure1-ESP32
Figure2-ESP32 Architectural Block diagram
Figure3-ESP32 pinout
Although the ESP32 has fewer pin counts than commonly used processors, you won't have any problems multiplexing multiple functions on the pins.
WARNING: The voltage level on the ESP32 pins is 3.3 volts. If you want to interface the ESP32 to other devices that operate on 5 volts, you should use a level shifter to convert the voltage levels.
Figure4-Power Pins
You can pull up or pull down these pins internally. Note: GPIO6 to GPIO11 pins (SCK/CLK, SDO/SD0, SDI/SD1, SHD/SD2, SWP/SD3, and SCS/CMD pins) are used for SPI communication of the internal flash memory of the module, and we do not recommend using them.
ESP32 module mode ESP32 chip has 5 modes:
ESP32 Technical Reference Manual
There are various types of ESP32 and ESP8266 modules available in the market. In this section, ESP8266 NodeMcu and ESP32 DEV modules are compared: ESP8266 NodeMcu ESP32 DEV Module Power Supply 3.3V 3.3VCPU Tensilica L106 32-bit Xtensa Dual Core 32-bit LX6 Bluetooth None Complies with Bluetooth v4.2 BR/EDR and BLE Specifications GPIO1732 Flash Size Max 16MB Max 16MADC 10bit 12bit DAC No 2*8bitUART22 Usually, ESP32 modules are more expensive than ESP8266. So if you don't need Bluetooth, digitizers, lots of I/O pins, and... you can save money by buying an ESP8266 module.
Required Materials
Figure5-ESP32 module
The installation process for the ESP32 is almost the same as for the ESP8266. To install ESP32 on Arduino IDE, follow these steps:
NOTE: You need Arduino IDE 1.8.5 or higher to install the ESP32 on it.
Step 1: Download the required files from GitHub
Download the ESP32 Arduino Core from your GitHub account.
Step 2: Move the file to the Arduino sketchbook location
By default, the Arduino sketchbook is located in "My Documents". To find the exact path to the schematic, check the preferences from the File menu.
Figure6-Move the file to the Arduino sketchbook location
Create a new folder called hardware next to the Arduino folder in the sketchbook location.
Figure7-new folder
Inside the hardware folder create a folder called espressif, then inside the espressif folder create another folder called esp32. In the end, the path you created should look like the image below:
Figure8-espressif
Unzip the file you downloaded in the previous step and move it to this address.
Figure9-Unzip the file
Step 3: Run get.exe
To install the ESP32 on the Arduino software, you need to have the Xtensa GNU compiler collection installed on your system. Go to esp32>tools and run the get.exe file.
Figure10-Run get.exe
After running get.exe, the required files will be automatically downloaded and transferred to the tools folder. This step may take some time.
Figure11-tools folder
After the installation is complete, new files must be added to the tools folder.
Figure12-new files
Uploading code on ESP32 using the Arduino IDE Uploading code on the ESP32 module is similar to other Arduino development boards. You can use the Arduino built-in examples such as Blink to test it. Note: If you have not installed the CP2102 driver on your computer before, you should download it from here, and then install it. To upload code, select the board type from the Tools menu. Then select the serial port connected to the board and click upload.
Figure13-Uploading code
Figure14-Uploading code
Troubleshooting
Don't worry if you encounter the following errors. This problem usually occurs when programming the ESP32. Perform the following steps to resolve the issue:
Figure15-Troubleshooting
Figure16-baud rate
Figure17-Boot
Before selecting an ESP32 development board, you need to take into account certain aspects:
There are other development boards with particular characteristics that can be useful in more specific projects:
ESP32-CAM can be used in various Internet of Things situations and is suitable for home smart devices, industrial wireless control, wireless Monitoring, QR wireless identification, wireless positioning system signals, and other IoT applications are ideal solutions for IoT applications.
Read More >ESP32-CAM is a development board with an ESP32-S chip, an OV2640 camera, a microSD card slot, and several GPIOs for connecting peripherals. ESP32-CAM is a small-sized camera module. The module can work independently as the smallest system, with a size of only 27*40.5*4.5mm.
Read More >The MCP73833/4 is a highly advanced linear charge management controller for use in space-limited, cost sensitive applications. Both a 10-lead, MSOP and a 10-lead, DFN packaging measuring 3 mm by 3 mm are offered for the MCP73833/4. In addition to its tiny size, the MCP73833/4 is perfect for portable applications because it requires a few additional components.
Read More >In the realm of electronics, where connectivity and isolation are paramount, the 4N35 optocoupler IC stands as a beacon of reliability and versatility. This small yet mighty device plays a crucial role in ensuring signal integrity and safety across a wide range of applications. In this article, we delve into the intricacies of the 4N35 optocoupler IC, exploring its datasheet, pinout, circuit diagram, and diverse uses.
Read More >The UA741CP is a general-purpose operational amplifier in an 8-pin DIP package. The high common-mode input voltage range and lack of latch-up make the amplifier ideal for voltage follower applications.
Read More >