When we start developing an Arduino project usually we tend to use the Arduino IDE. There are, anyway, several Arduino IDE alternative we should consider if we are not satisfied with the standard IDE. As we know, Arduino is one of the most popular prototyping board (with several alternatives) when it comes the time to develop an IoT project or when we are building a DIY project.
Usually, the Arduino IDE is the first IDE we use when approaching the first time to Arduino. This happens for several reasons: it is easy to use, it supports all the Arduino boards, it has a built-in library manager easy to use. Moreover, the Arduino IDE is very user-friendly without too many options, menus and so on that could scare an inexperienced user. It is so easy that we do not have to worry about how it works, we can focus only on the development process. We write the Arduino code, and the Arduino IDE compiles it and upload the compiled code into the Arduino board. That’s is.
Moreover, it is open source and it runs on several OS such as Windows, Mac OS X, and Linux.
Anyway, if you do not feel comfortable with Arduino IDE there are several alternatives you can use when developing your Arduino project. There are some missing features in Arduino IDE that could bother you, especially if you are used to IDE like Eclipse, Visual Studio or IntelliJ, just to name a few. One missing feature in Arduino IDE, that really bothers me, is the autocomplete. That is a way to predict the rest of the commands so that you do not have to write it all. There are some other features I like in an IDE such as showing function parameters, hints related to the syntax error and so on.
Arduino IDE alternative list
This article wants to provide a list of Arduino IDE alternative you can use when creating your Arduino project if you do not like the standard Arduino IDE. The order is random.
PlatformIO is one the most known Arduino IDE alternative. It is an integrated development environment for IoT. It supports not only Arduino boards but many other boards such as Raspberry, ESP32, ESP8266 and many others. The IDE supports all the features you would expect like code completion and so on. It is not only an IDE but it has a CLI (Command Line Interface) support too. Moreover, PlatformIO supports multi-projects, themes, library management. The interface is very attractive and easy to use and it is very different from the standard Arduino IDE. It is open source and you can download the source code from Github. It requires Python and runs on several OS. This Arduino IDE has two different versions: one built on top of Atom and another one as Visual Studio code plugin. If you want to have more information and know how to use PlatfomIO you can refer to this article.
Eclipse Arduino IDE
This is a plugin for Eclipse. We all know Eclipse and the IDE. If you programmed in Java for sure you had the chance to test and appreciate the Eclipse IDE features. It is almost a standard in the IDE. Eclipse is a very versatile environment that supports several programming languages ranging from Jave to C/C++ and so on. This platform uses the plugins to extends its features and add new platform support.
This is a plugin for Eclipse IDE that helps to develop Arduino applications. You can download the plugin directly from the Eclipse Marketplace. Of course, it is required you install first the Eclipse C++ IDE. Once, this plugin is installed in Eclipse IDE, you have to select the platform or in other words the SDK that includes all the libraries necessary to build the application. Once the plugin is configured, you are ready to develop your Arduino sketch. The IDE is essentially the Eclipse IDE so if you are familiar with Eclipse you do not have problems to use it. This Arduino IDE has all the features you have in the standard Arduino IDE such as Serial monitor to debug the Arduino sketch too.
Programino IDE for Arduino
It is fully Arduino compatible and the main features are:
- Syntax Highlighting
- Function explorer
- Code competition
- Code folding
- Hardware viewer
This last feature is very useful because you have always a view on the hardware you are using so that you do not have to remember pin number for example.
Sloeber is an open source IDE for Arduino programming. It is based on Eclipse. It has several interesting features:
- Context senstive coloring
- Multiple projects support
- Multiple configurations
Moreover, Sloeber supports several prototyping boards.
This is a free Arduino IDE developed for Mac OS X. This IDE supports syntax highlighting, line numbering and so on. It is a template for XCode 5 and XCode 6. This IDE simplifies the Arduino sketch development using a smart environment that assists you during the development. This IDE can be used with several prototyping boards such as Arduino, ESP32, ESP8266, Adafruit and board based on Atmel and Cortex. You can referer to its website to have more information. embedXcode has different versions and licenses. There is a free version that supports the basic features while if you want to unlock all its features you should consider embedXcode+ that requires a license.
KTechLab is an IDE for microcontrollers. This more than a simple IDE because it supports circuit simulation and it can simulate the microcontroller and its circuit. It is capable to simulate linear and non-linear devices, moreover, this IDE can visualize the voltage and current flowing in the circuit. This platform is open source and you can download the source code from Github. It runs on Linux and Window.
Codebender is a cloud Arduino IDE. It works online and you do not need to install the application locally. It is a Web-based Arduino IDE that provides all the feature you would expect from an IDE. It uses a cloud-compiler to convert the source code and upload it in Arduino. It is an open source platform and its code is available at Github. The Arduino IDE supports code highlighting and many other features. Moreover, your Arduino code is in the cloud so you can use and access it everywhere. It supports several boards and if you do not find your board you can upload your board definition. This feature makes this platform very versatile. Moreover, it has an important feature: the capability to use Arduino code written by others on your board. This helps you to improve your knowledge.
Other useful resources:
Visual studio + Visual micro
This is a plugin for Microsoft Visual Studio. This Arduino IDE is fully compatible with Arduino. This IDE helps you to write Arduino code easily and fast with syntax highlighting, code error hints and so on. It supports several Arduino boards so you are free to select your board to write the code. It is very easy to use because it exploits the Visual Studio features so you have an integrated environment where you can write the Arduino code. It supports Serial debug and it is possible to create charts. Another interesting feature is the capability to use Arduino libraries. Visual Micro Arduino IDE fully supports the Arduino library format and you can add it to your Arduino code easily using the Library manager.
Zeus IDE is an editor that supports several programming languages: C#, Lua, Go and so on. This IDE supports several features:
- C/C++ code completion
- Syntax highlighting
- Smart indenting code
and so on. Even if it is not made specifically for Arduino you can use it to develop Arduino applications.
This is a professional platform. This Integrated platform support SAM and AVR microcontrollers. Using Atmel studio you can code, debug and upload your application. It is a complete solution that is not limited to Arduino and provides all the features to easily develop your application.
This a different Arduino IDE. It runs on Android devices and using it you can program your Arduino. This is the first IDE that runs on Android OS. It is worth mentioning because it helps you to write code using an Android device. Using this app, you can write and upload your sketch. It supports several Arduino boards. You can use Google driver
It is a fully featured IDE. You can download it from Google play.
This article listed several Arduino IDE alternative you can use if you do not feel satisfied with the standard Arduino IDE. It is up to you to choose the right one that fits your needs and your way of coding. All these platforms help you to write Arduino applications easily and fast.