When developing Arduino sketch, we all use Arduino IDE, anyway, there are several Arduino alternative IDE. This alternative IDEs are useful and more user-friendly.
Arduino IDE is the first IDE we all use when approaching to Arduino development for the first time. It is simple and provides all the features to write, compile and upload the code to Arduino boards. It is based on Java and runs on Windows, OS X and Linux. Arduino IDE is a complete solution, anyway, it does not have all the features you could find in Eclipse or IntelliJ.
I was looking for an Arduino alternative IDE that could provide a more “robust” IDE having, at the same time, all the features of Arduino IDE. This Arduino alternative IDE must be free of charge and open source. Even if there are several options, I focused my attention on PlatformIO.
Platformio is an interesting alternative IDE that provides almost all the features I was looking for.
First of all, it is opensource and you can find the source code at GitHub repository. Second, it is free to use and it has a large community that supports it.
Arduino alternative IDE: Platformio
This is IDE has a clean and easy-to-use interface, very attractive. It offers not only a visual IDE to develop IoT projects but it has a CLI (Command Line Interface). It is based on Python and runs on different OS like Windows, OS X and Linux.
The main features are:
- C/C++ Code Completion
- Theme support
- Cross-platform support
- Serial port monitor
- Library management system
- Continuous integration
This Arduino alternative IDE supports several boards like Arduino UNO, Arduino MKR1000 and in general Arduino development boards. Moreover, it supports Raspberry PI family and so on. So this is a complete solution to develop IoT projects in an easy and intuitive way. The interface is completely different compared to Arduino IDE.
How to build your first Arduino project
Now it is time to start using PlatformIO. The best way to test is building a simple Arduino project. Implementing a simple project helps us to evaluate this IoT IDE and, at the same time, we can check if it is a real improvement compared to Arduino IDE.
As a project, we will build a simple RGB led controlled by Arduino. We won’t cover the details of this project because we have already described it. What we want to verify is how we can build a project, how to upload it and how easy is using the IDE.
So the first step is the installation process that is very simple and straight. Once the IDE is installed, let us run the app. It takes a while before you can use it because the IDE starts an update/installing process:
After this process is completed, you have the PlatformIO (Arduino Alternative IDE) up and running:
As you can notice the interface is very clean with all the most important commands on the left bar. We have several options:
- Create a new project
- Open an existing project
- Import an Arduino Project
In our case, we want to create a new project so let us click on the first item. After inserting the required fields (like the board we are using), the project is ready. You can consider the project like a folder where you can put your project files. We create a simple test file (testLed.cpp), with this content:
The first thing, you should notice, is the code completion: this is a very useful feature. The syntax highlighting is also attractive and help to emphasize language keywords.
Now it is time to build and run our simple sketch:
Arduino Libraries management
One important aspect is the library management. As you know already Arduino IDE has its own library management system and you can use it to download libraries. PlatformIO has a different way to handle libraries. You can access it using the Library Manager. Before installing a library, you have to find the library id using the library registry. Opening the lib web page, you find a search area where you should insert the library name you are looking for:
and the result is shown below:
Now you have the library id and you use this id to install the library:
where 19 is the library id. The library is ready to use.
At the end of this post, you hopefully know an Arduino alternative IDE.