In the first article of this series, I wrote about my ESP32 IoT project, and how a project like that is the perfect opportunity for anyone interested in working with the ESP32 to truly understand and use its power.

I also gave you a fun example of what you can do with the ESP32 when you combine several Cloud services.

You can speak to it.

Buttons and even touchscreens are, “like”, so 2018.

My mind is buzzing with ideas of other things that I can do with my ESP32 IoT gadget. I can use it as a platform to create gadgets that use sensors, Bluetooth, Wifi, and the internet.

As my projects become more complicated, I started having more frequent issues with incompatibilities between libraries of different versions. I needed a way to control my project dependencies in a centralized way. PlatformIO solves this problem via the project configuration file.

3. PlatformIO projects are self-contained

Everything needed to make the project compile is stored inside the project directory. I can share this directory with other people, and they will be able to work with my project and to compile it. I can copy it to another computer, and again, no worries having to set up my working environment again.

4. Nice integration of toolchain components

The compiler, the terminal, the serial monitor, the version control system, the editor, and much more, are nicely integrated.

5. Curiosity about PlatformIO

PlatformIO has been on my radar for more than a year. I needed a non-trivial project to force me to use it exclusively for several weeks.

I admit it was scary at first. When you start work with a powerful tool like PlatformIO, not to mention MS Visual Code, for the first time, it is overwhelming because of the steep learning curve. This is why having a project that was too big for the Arduino IDE made me stick with it long enough to understand its power.

6. Learning better programming skills and habits

The Arduino IDE is great for learning electronics and basic programming, but I feel that I have gotten lazy using it. It is great for hiding a lot of the complexity of programming embedded systems.

But, I began to feel the need for more power. This, in part, is due to the ESP32.

It's capabilities welcome larger projects, and to make those project possible I felt that I needed more support from the IDE.