In this lesson, you will learn about the differences and similarities between the ESP32 and the Arduino and, in particular, the Arduino Uno.
You can watch the video, or if you are the “reading” type, you can read the text below.
How similar (or different) are these two?
These two are totally different.
Not only they look different, but their architecture is also totally different. They have different hardware architecture. Their built-in capabilities are very different.
The amount of memory that they include, the processing capacity, the number of GPIOs that they expose, the communications features, and much more, are really different between these two microcontrollers.
The closest Arduino boards that are comparable to the ESP32 are probably the Arduino 101 or the Arduino Zero.
At least those share some of the features that the ESP32 has, such as integrated Wi-Fi and Bluetooth, and the computational capacity. But even there, the difference differences are more than the similarities.
Why is the ESP32 a good option for Arduino makers?
What makes the ESP32 an excellent choice for people that are familiar with the Arduino is the software.
Espressif, which is 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.
Thanks to the software, that we call as you’ll see later the “ESP32-Arduino Core,” we can use the ESP32 as if we are using the Arduino.
Thanks to the software, the ESP32 can be treated as being 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 that 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 get access to a large variety of development kits that are based on the ESP32, and you also get a lot of example sketches.
You can start using it right away.
Even when it comes to the libraries, most of the Arduino libraries will just work with the ESP32, again because of the ESP32 Arduino core software that Espresif has developed.
Of course, the ESP32 contains unique features that are not present in the Arduino. To take advantage of those features, such as the SPI file system (SPIFFS), Espressif has to provide 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, then the ESP32 will be complex. It will be a difficult thing to learn, and I don’t recommend it.
I think that the Arduino is a much better choice for new makers.
It’s a simpler device.
It’s simpler to program.
It’s more forgiving, as well, to problems and mistakes in the wiring.
It’s more robust, so it’s easier to set up.
When you work with an Arduino Uno, you can just download the Arduino IDE, plug in your Arduino, and off you go. You don’t have to make any modifications to it.
Once you’ve built up your knowledge and skill on the Arduino, in particular on the Arduino Uno, then the ESP32 provides a perfect opportunity to extend and expand on those skills.
The additional features that the ESP32 contains means that you can work on more interesting projects and that alone is very desirable.
You can start working with the ESP32 using your existing Arduino skills.
There is no or very small learning curve.
Then anything else that you want to do on top of what you already know means that you can improve your skills incrementally and gradually, gently without much stress.
You also get Wi-Fi and 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 Arduino Uno, which means that 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, better in many respects.
And when you feel confident and ready, you can actually move away from the Arduino IDE to a completely integrated development environment.
Ready to learn about the ESP32 GPIO’s? Go on to the next lesson.
"Introduction to the ESP32" series
Ready for some serious learning?
ESP32 for Busy People.
This is our comprehensive ESP32 course for Arduino Makers.
It's packed with high-quality video, mini-projects, and everything you need to learn Arduino from the ground up.
Just click on the big red button to learn more.
Jump to another article in this series.