GPIO Pins of ESP32 | ESP32 Pinout
In this article we discuss GPIO Pins of ESP32, it means ESP32 pinout description. We know that ESP8266 and ESP32 both are most popular development board. ESP32 is successor of ESP8266. These are very cheap Wi-Fi modules, small in size and support various protocols like SPI, I2C, UART and more. ESP32 come with wireless networking, This feature make ESP32 better than Arduino and other similar micro-controllers. Both boards are perfectly suited and compatible for DIY (do it yourself) project. So ESP32 play major role in IoT (Internet of Things).
ESP32 Specs –
- Dual core, means it has 2 processors.
- It has Wi-Fi and bluetooth built-in.
- 32 bit programs.
- The clock frequency can go up to 240MHz and it has a 512 kB RAM.
- This particular board has 30 or 36 pins, 15 in each row.
- It also has wide variety of peripherals available, like: capacitive touch, ADCs, DACs, UART, SPI, I2C and much more.
- It comes with built-in hall effect sensor and built-in temperature sensor.
ESP32 vs Arduino | Difference between ESP32 and Arduino
Basically we can’t compare ESP32 and Arduino. It is completely unfair to compare ESP32 with Arduino; both are advantageous and functional on its own. ESP32 has built in Bluetooth and Wi-Fi with good number of GPIO pins and communication protocols. So this more suitable for IoT projects. Arduino boards like Yun has good processing power as well. The ESP32 operates on 3.3V and can be programmed with ESP-IDF or with Arduino IDE and the Arduino operates at 5V and is known for its easy to use Arduino IDE and strong community support.
If you have prior experience with programming and your project really requires some heavy processing with IoT capabilities then ESP32 can be preferred over Arduino.
ESP32 vs ESP8266 | Difference between ESP32 and ESP8266
A table is given below shows main differences between the ESP8266 and the ESP32 processors (table adapted from: AMICA_IO).
ESP8266 | ESP32 | |
---|---|---|
MCU | Xtensa Single-core 32-bit L106 | Xtensa Dual-Core 32-bit LX6 with 600 DMIPS |
802.11 b/g/n Wi-Fi | HT20 | HT40 |
Bluetooth | X | Bluetooth 4.2 and BLE |
Typical Frequency | 80 MHz | 160 MHz |
SRAM | X | ✓ |
Flash | X | ✓ |
GPIO | 17 | 36 |
Hardware /Software PWM | None / 8 channels | None / 16 channels |
SPI/I2C/I2S/UART | 2/1/2/2 | 4/2/2/2 |
ADC | 10-bit | 12-bit |
CAN | X | ✓ |
Ethernet MAC Interface | X | ✓ |
Touch Sensor | X | ✓ |
Temperature Sensor | X | ✓ |
Hall effect sensor | X | ✓ |
Working Temperature | -40ºC to 125ºC | -40ºC to 125ºC |
You can set PWM signals in any GPIO with configurable frequencies and duty cycles set on the code. When it comes to the analog pins, these are static, but the ESP32 supports measurements on 18 channels (analog-enabled pins) versus one 10-bit ADC pin on the ESP8266. The ESP32 also supports two 8-bit DAC channels. Additionally, the ESP32 contains 10 capacitive sensing GPIOs, that detect touch and can be used to trigger events, or wake-up the ESP32 from deep sleep, for example.
Some Boards comes with LoRa such as WiFi LoRA 32 (V2) ESP32 | Overview | Introduction.
GPIO Pins of ESP32
The ESP32 has more GPIOs with more functionalities compared with the ESP826. 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 used as default
Version with 30 GPIOs
Version with 36 GPIOs
Thanks for reading. If you like this post probably you might like my next ones, so please support me by subscribing my blog.
You may like also: