In the next few minutes you will receive an email that contains the download link.
The subject of the email is "Your link to Peter's ESP32 notes (PDF download)" (PDF ebook)"
My work with the ESP32 begun in January 2019, after playing around with the ESP8266 for a few years before this. I never committed to the ESP8266 because I felt it wasn’t ready. Software integration with the Arduino ecosystem was clunky, and the hardware was unreliable.
All this has changed with the ESP32. It works very well with the Arduino ecosystem, and in my long-running experiments, it has been rock-solid.
What I have written below comes from my experience in using the ESP32 in one of my pet projects.
It’s this one:
I started work on this gadget because I wanted to learn the ESP32.
I believe in project-based learning, so there you go.
This project helped me learn how to build a system around the ESP32 that integrates environment sensing, an Internet clock, appliance voice control via IFTTT and Google Assistant, a touch TFT display for the user interface, and the use of many of the ESP32 features such as the SPI File System, Wifi, timers, and more, with an efficient program design.
Right off the bat, I can say that this is something not possible to do on the Arduino Uno. Just the storage footprint of the sketch is more than what the Arduino can hold. I would need to expand the Arduino’s flash memory with an external flash module.
Supporting the large TFT screen is possible on the Arduino Uno via the SPI interface; however, the refresh rates would be low. Adding the touch capability would make the user interface slow and unresponsive.
I want to focus on the experience.
As a Maker, subconsciously, I operate in a fine balance between reaching a goal (getting my gadget to a state where it works reliably) and dealing with the constraints of my hardware, software, and my knowledge and skills.
With the Arduino, those constraints are particularly tight.
You know: memory, processing, communications, pins, etc.
I’ve been working with the Arduino for many years, and I know that when I run out of hardware resources, there are things I can do to make it go further. I can optimize memory use. I can multiplex pins and communications. I can remove libraries and replace them with optimized, custom code.
But as a hobbyist, this kind of work conflicts with my psychological need to achieve my goal. Unless these optimizations are the goal, they impact the enjoyment that comes out of making something new and achieving the goal.
Does this “sound” familiar?
Velocity in making, learning, and progress is important.
With the ESP32, I didn’t have to make such compromises.
One I understood the basics, I first experimented with the individual components that I wanted to use in my project (things like the I2C LCD screen, the wifi, and the LEDs, among other things), and then I begun to work on the project.
Except for trying to use HTTPS REST communications (I learned first hand that MQTT is a much better protocol for IoT applications), I was able to reach every single milestone that I set in this project, without breaking a sweat.
And it was fun.
The ESP32 is the perfect higher-end microcontroller for the Arduino Maker.
But, in my experience, it isn’t a zero-effort proposition. You will still need to do some learning.
I have good news and good news.
First “good news”: As an Arduino Maker, you already know the bulk of what you need to start using the ESP32 in your projects.
Second “good news”: For the rest, I can help you. In my course “ESP32 for Busy People” I show you how to use the ESP32 in your projects. As long as you are familiar with the Arduino, jump right in ESP32 For Busy People and learn how to use the ESP32 in your projects.