Arduino
When we hear about the microcontroller development board the first board which comes to our mind is Arduino. From the beginning of Arduino in 2005 till now it’s the most affordable device for physical computing. Arduino have a variety of different boards starting from 8-bit Arduino uno to 32-bit Arduino Zero. Most Arduino boards are based upon 8-bit microcontrollers like Arduino Uno which is designed using Atmel Atmega328p microcontroller.
Arduino boards are beginner friendly and easily affordable making a great starting point for entering the embedded system world. When it comes to IoT boards Arduino Zero is the closest competitor of ESP32 boards. It is a low-cost microcontroller board with WiFi and Bluetooth support just like in ESP32.
ESP32
ESP32 belongs to the ESP series of boards designed by Espressif Systems. Like Arduino Zero, ESP32 is also based upon a 32-bit microcontroller chip. Along with the microcontroller it has 2.4GHz WiFi and Bluetooth support. It is an IoT board designed for best performance.
Like Arduino ESP has also a series of boards named as ESP32-Solo, ESP32-Mini and ESP32-Mini. ESP32 has over 30 I/O pins that can fit as many modules as we want.
Specifications Compared
Arduino Zero and ESP32 have so many similarities not only in terms of hardware but with the same programming structure to code these boards. Like Arduino boards ESP32 is also compatible with Arduino IDE we just must install some ESP board files. Let’s examine both in more detail:
PROCESSOR
- Arduino Zero is designed for IoT applications based on the SAMD21 chip which is a 32-bit microcontroller operating at 48MHz.
- ESP32 is also based upon 32-bit microcontrollers. ESP32 uses a Tensilica Xtensa LX6 microprocessor in both dual and single-core variations.
MEMORY
- Arduino Zero has flash memory of 256 kB.
- ESP32 starts from 4MB of flash memory and some modules even feature 8 MB and 16 MB of flash memory.
I/O
- Arduino Zero features 20 digital I/O pins, including 6 analog inputs and 1 analog output.
- ESP32 pins vary from there module type I/O pins vary between 38 to 77.
WiFi
- Using an ethernet shield Arduino Zero enables internet connectivity.
- In the case of ESP32, it has built-in Wi-Fi capabilities, so no extra add-on is required.
Brief Comparison
Characteristics | Arduino Zero | ESP32 |
Digital I/O Pins | 20 | 36 |
PWM Pins | 3, 4, 5, 6, 8, 9, 10, 11, 12, 13 | 16 |
Analog Pins | 6, 12-bit ADC channels | Up to 18 |
Processor | ATSAMD21G18, 32-Bit ARM, Cortex M0+ | Xtensa Dual Core 32-bit LX6 microprocessor |
Flash Memory | 256 KB | 4 MB |
SRAM | 32 KB | 520 kB |
EEPROM | None | None |
Clock Speed | 48 MHz | 802.11 b/g/n |
Voltage Level | 3.3V | 3.3V |
Wi-Fi | External Shields | 802.11 b/g/n |
Bluetooth | External Module Support | v4.2 BR/EDR and BLE |
I2C Support | Yes | Yes (2x) |
SPI Support | Yes | Yes (4x) |
Hardware Serial Port | 2 | 3 |
USB Connectivity | Micro-USB | Micro-USB |
Conclusion
Both Arduino Zero and ESP32 are IoT boards based upon microcontrollers. Using these boards, we can cover a wide range of applications starting from IoT devices, wearables, automation, and robotics. However, Arduino Zero lacks built-in WiFi and Bluetooth modules, but it has support for external shields to get these features easily. On the other hand, ESP32 is an energy efficient smart board with wireless technology and can operate in rough conditions. If you have requirements for an IOT board with Bluetooth and WiFi connectivity, ESP32 is best to start.