My Favourite Software
You can find the rest of the list here:
If you spend time programming under the Arduino framework or wish to develop for a specific microprocessor such as an ESP32 or ESP8266, then PlatformIO is a no-brainer.
PlatformIO runs as an extension under Visual Studio Code and provides the compilers and AutoCompletion for over a thousand microprocessors and dozens of frameworks.
PlatformIO takes care of everything – from compiling your firmware to uploading it to your microprocessor. But it’s even better than that because PlatformIO also downloads all the tools you need automatically!
In addition to Arduino, PlatformIO supports writing applications for RTOS, Espressif and much more.
PlatformIO has an extensive library manager built-in. You’ll find many libraries from MQTT, Rest, Webservers, a “Tiny File System,” which runs on Flash memory and sensor and device drivers. Nearly any task you can think of is covered in the library.
Most libraries come with example code to get you started.
You can include any library in your project by adding its name to the config file. PlatformIO automatically downloads the libraries and places them in your folder structure.
PlatformIO has a built-in debugger. With the right hardware, you can debug an ESP32 right in Visual Studio Code. It lets you see the current state of run-time variables and change their values on the fly.
Say goodbye to Serial. println statements! Instead, click to place a break-point in your program, and the debugger will automatically stop your program and allow you to inspect its running state. Once you’re finished inspecting your program’s state, you can resume the program as if it never stopped.
PlatformIO is a very popular piece of software and enjoys constant development. With such a complex piece of software and an unlimited number of developers machines, you’re likely to find a new feature causing some trouble from time to time. That being said, they have an active team and bug reporting process. I have every confidence that bugs are squashed quickly.
In my time with PlatformIO, I haven’t encountered any deal-breaking behaviour or work-breaking quirks. So far, it’s been reliable and mostly trouble-free.
PlatformIO is free.
Programming with Visual Studio Code is nice. However, adding PlatformIO to VSCode gives you a first-class code-editing environment complete with IntelliSense, Libraries, Debugging and more. If your goal is to develop software for microprocessors, PlatformIO is the software you need. It lets you use all the frameworks you’re already familiar with, such as Arduino and RTOS, and you can develop for obscure and popular microprocessors alike.