In this lesson, you will explore the differences and similarities between the ESP32 and the Arduino, focusing specifically on the Arduino Uno.
You can watch the video, or if you prefer reading, you can read the text below.
Contents
How similar (or different) are these two?
These two are totally different.
Not only do they look different, but their architecture is also completely distinct. They have different hardware architecture and built-in capabilities.
The ESP32 and the Arduino are very different creatures.
The amount of memory they include, the processing capacity, the number of GPIOs they expose, the communications features, and much more, are significantly different between these two microcontrollers.
The closest Arduino boards comparable to the ESP32 are probably the Arduino 101 or the Arduino Zero.
At least those share some features that the ESP32 has, such as integrated Wi-Fi and Bluetooth, and computational capacity. But even there, the differences are more significant than the similarities.
Why is the ESP32 a good option for Arduino makers?
What makes the ESP32 an excellent choice for people familiar with the Arduino is the software.
Espressif, the company that designs and makes the ESP32, has made a huge effort in writing software that bridges the hardware gap between the ESP32 and the Arduino.
The ESP32-Arduino Core software bridges the hardware gap.
Thanks to the software, which we call the “ESP32-Arduino Core,” we can use the ESP32 as if we are using the Arduino.
This software allows the ESP32 to be treated as compatible with the Arduino:
We can use the Arduino IDE as the development environment.
We can use a programming language that matches almost one-on-one with the language we have learned for the Arduino.
And, to a large extent, we can reuse almost 90 percent of the Arduino libraries in software that we write for the ESP32, which is pretty amazing.
The Arduino IDE
The ESP32 works with the Arduino IDE with the installation of the ESP32-Arduino Core, and the integration between these two is remarkable.
Once you install the ESP32-Arduino Core, you gain access to a large variety of development kits based on the ESP32, along with numerous example sketches.
To program the ESP32, you can use the Arduino IDE.
You can start using it right away.
Most of the Arduino libraries will work with the ESP32, thanks to the ESP32-Arduino Core software developed by Espressif.
Of course, the ESP32 contains unique features not present in the Arduino. To take advantage of those features, such as the SPI file system (SPIFFS), Espressif provides compatible libraries that we can use via the Arduino IDE. I show how to use the SPIFFS in the course.
Who is the ESP32 for?
So who is the ESP32 for?
Well, it’s definitely not for beginners.
I’ve said this before: if you’re not familiar with the Arduino, the ESP32 will be complex. It will be a difficult thing to learn, and I don’t recommend it.
I think the Arduino is a much better choice for new makers.
It’s a simpler device.
It’s simpler to program.
It’s more forgiving of problems and mistakes in the wiring.
It’s more robust, making it easier to set up.
The ESP32 is perfect for Makers familiar with the Arduino.
When you work with an Arduino Uno, you can just download the Arduino IDE, plug in your Arduino, and start immediately. You don’t have to make any modifications.
Once you’ve built up your knowledge and skills with the Arduino, particularly the Arduino Uno, the ESP32 offers a perfect opportunity to extend and expand those skills.
The additional features that the ESP32 contains mean you can work on more interesting projects, which is very desirable.
You can start working with the ESP32 using your existing Arduino skills.
There is little to no learning curve.
Anything additional you want to do builds on what you already know, allowing you to improve your skills incrementally and gradually, without much stress.
You also get Wi-Fi, Bluetooth, and lots of memory essentially for free.
By “free,” I also mean the cost of the board.
The ESP32 dev kit is actually cheaper than the Arduino Uno, so you get a more powerful board for a lower price.
At the level where you use your existing Arduino skills to work with the ESP32, you can treat the ESP32 as a supercharged Arduino Uno: faster and better in many respects.
When you feel confident and ready, you can move away from the Arduino IDE to a completely integrated development environment.