In short, the better board is the ESP32. It is better by far in most specifications. Sometimes though, the Arduino Uno can be a better fit.
The long answer is a bit more involved. I will explain the pros and cons of the two development boards and then in conclusion give you my opinion on that is best.
Introduction.
Arduino Uno R3 and ESP32 are popular microcontrollers used in various robotics, automation, and IoT applications. Each microcontroller has its advantages and disadvantages that must be considered when deciding which one to use.
As the pricing of an Arduino Uno is now higher than an ESP32, it became clear that you get much more "bang" for your buck with an Espressif Systems ESP32. This microcontroller includes WiFi and Bluetooth, which are unavailable on the Arduino Uno R3.
Arduino Uno R3
The Arduino Uno R3 is a powerful 32-bit processor based on the Atmega328 microcontroller. It has features including 14 digital I/O pins, 6 analogue input pins, a USB connection, a DC power jack, and an ICSP header for programming. The Uno R3 runs at 16MHz and has 32KB of flash memory.
Pros:
- Compatible with many shields and sensors
- Relatively inexpensive
- Easy to use and program with the Arduino IDE
- Huge online community
- Well supported on all operating systems.
- Projects can easily be built on its own PCB by simply using the Atmega328 IC and a few components.
Cons:
- Limited memory and processing power compared to to the ESP32.
- Limited storage for the written programs
- • Not suitable for high-speed operations
- IO pins (analogue and digital) are set and cannot be changed like more advanced processors.
- No build-in WIFi and Bluetooth
- By default, the pins are 5V max (in or out), which can be changed to the now more preferred 3.3V.
Espressif Systems ESP32
The ESP32 is a more powerful 32-bit processor based on the Xtensa LX6 core. It offers 802.11 b/g/n WiFi, Bluetooth 4.2 LE, 2.4GHz RF connectivity, 16MB Flash memory, 520KB SRAM and other features. The ESP32 runs up to 240MHz and has ample onboard storage and processing power for complex applications.
Pros:
- High computing capabilities with the Xtensa LX6 core
- Connectivity options include WiFi, Bluetooth, and RF
- Large amount of onboard memory
- Dual-core, one core is usually used for WiFi and Bluetooth and the other for written software. The WiFi and Bluetooth thus do not interfere with your programming.
- It includes many builds peripherals and functions like touch sensing, the ability to assign pins as analogue or digital, building temperature sensor Cam support and much more,
Cons:
- Can be slightly more difficult to program as compared to the Arduino Uno R3
.
Conclusion
In conclusion, the Arduino Uno R3 and ESP32 have pros and cons that should be considered when deciding which one to use. The Arduino Uno R3 is easy to program and inexpensive but has limited memory and processing power. The ESP32 offers high computing capabilities, plenty of memory, and various connectivity options but can be more challenging to work with. Ultimately, the decision will depend on the specific project and the user's needs.
With the price drop of the ESP32 and the price increase of the Arduino Uno, I will be very hard-pressed to use an Arduino Uno in favour of the ESP32. The ESP32 is superior to the Arduino, and now, with the excellent price tag, it is a no-brainer for us to go for the ESP32.
The only real advantage to considering an Arduino Uno is the many available Arduino shields (add-on pc boards to extend the Arduino functionality) and some older sensors that only work on 5V instead of the now preferred 3.3V.
Please look at our ESP32 project board; we developed it in-house. This board includes onboard relays, Oled screens etc. We designed this board to speed up development and have a stable board that can be used for hundreds of robotics and home automation projects.
For more information about these two microcontrollers, please visit:
Arduino official site or ESP32 official website.