Do You Need The Arduino IDE? Best Free Alternatives!
For many beginners working with Arduino, they usually install the Arduino IDE (Integrated Development Environment) before getting started. This can be seen as a rite of passage since it’s necessary to have a text editor to write your code in and upload to your Arduino board. Even though the Arduino IDE is the most used text editor for Arduino users, there are some who object to it.
They may wonder: “Do you need an Arduino IDE to program with?”
It is not necessary to program with the Arduino IDE. There are other alternatives that do almost the same things as the Arduino IDE such as Visual Studio Code, Atom & Platformio, Sloeber, Arduino Command Line Interface (CLI), ArduinoDroid, embedXcode, and Eclipse.
For those wanting to learn more about these different text editors, I’ll dive deeper into them for the rest of the article. Moreover, I’ll be talking about the pros and cons of using these Arduino IDE substitutes.
Pros and Cons of Using Arduino IDE Alternatives
Some people want to use other Arduino IDE options due to different reasons. For instance, they may be wary of the software developed by the company Arduino and don’t feel inclined to install it. Other times, they may already have a text editor installed, and they’d rather use that one instead because it’s one less thing for them to install and keep up with.
Nevertheless, I’ve decided to make a pros and cons list to help you make your decision regarding the use of the Arduino IDE.
PROS
- You get a variety of design aesthetic rather than the two tone (teal and white) layout provided by the Arduino IDE.
- Note: Arduino-cli uses a command line interface, which is very minimalistic since it’s only white text on a black background. This is great if you want to feel like a hacker.
- You can program in other languages and store other code in addition to the code for your Arduino project.
- Some text editors can be used on iPhones, iPad, and Android devices whereas the Arduino IDE only works on computers.
- For example, ArduinoDroid is exclusively used on Android phones. You can program with it anywhere without the need for a computer. You can even upload code to your board from your phone, but you’ll need to buy a OTG (On The Go) cable for that.
- You get extra useful features on the alternatives compared to the Arduino IDE.
- For instance, the code editor Atom offers autocomplete and code highlighting when writing code.
CONS
- These alternatives are not easy to understand and implement for beginners.
- This is because they require many installations on the user’s end.
- They are not optimized for (efficient) use with the Arduino boards compared to the Arduino IDE.
- This is because the company Arduino created both the software and hardware aspects of the Arduino.
- Moreover, there are fewer users that can help you with your Arduino-related problem on a different text editor in the Arduino community because it’s less commonly used.
- It’s complicated to set up as it involves a multi-step process, which can be tiring.
- If you want to work quickly and efficiently, choose the Arduino IDE.
- You lose some of the features tailored to Arduino users.
- For instance, the IDE comes with over 20 libraries pre-installed and adding libraries to it is easier compared to installing libraries on other text editors.
- Moreover, you can auto format your code by going to the Tools menu and clicking on “Auto Format” or by using the key shortcut: ctrl + T.
- Some alternatives are slow to start up.
- For instance, Atom can take a while to load.
Arduino IDE Alternatives
1. Visual Studio Code
Developed by Microsoft in 2015, Visual Studio Code has been favored by developers because it offers unique features and supports many common programming languages.
These features include debugging, smart code completion, and syntax highlighting. The programming languages involved are JavaScript (JS), Java, HTML, CSS, Python, Go, etc. It even supports the programming language for Arduino: C++!
You can also add all sorts of extensions to the Visual Studio Code, which expands its capabilities. One of those extensions is the Arduino dedicated extension, which was released in July 2019.
By installing this (along with other tiresome setup work), you can turn this editor into an Arduino IDE with almost all of its features, such as serial monitor and board manager.
Fortunately, it is free and accessible to everyone, but there are premium versions with additional features you can pay for.
It can be supported on the following platforms:
- Linux
- macOS
- Raspberry Pi
- Windows
2. Sloeber
Developed by Jantje Baeyens, Sloeber was based on the Eclipse code editor and is very easy to set up. Similar to installing the Arduino IDE, it only requires a single download. It’s a plugin for the Eclipse text editor, so you have to install it on Eclipse to use it.
Despite the unappealing visual design, it has a great feature that shows all the Arduino source code. This is basically a behind-the-scenes look at Arduino functions such as digitalRead() or analogRead(). Even though it may seem daunting for beginners, this is great for those curious about what these functions do.
Moreover, you can use this code editor for ESP8266, ESP32, and Teensy development.
It can be supported on the following platforms:
- Linux
- macOS
- Windows
3. Atom & Platformio
Developed by Github, Atom was released in February 2014 with the sole purpose of serving as a code editor for a variety of coding fields such as web development. It runs on Electron (a software framework, not the subatomic particle), and uses all sorts of common programming languages such as JavaScript, HTML, CSS, Python, etc.
It’s very similar to Visual Studio Code.
On another note, Platformio is a package that enhances your Arduino development and workflow.
Platformio can be installed on Atom, just like how Sloeber can be installed in Visual Studio Code. Platformio can also be installed on other source code editors besides Atom, but it is commonly paired with Atom.
A great benefit in using Platformio is that it lets you create code for over 600 other development boards, so you have lots of variety.
It can be supported on the following platforms:
- Linux
- macOS
- Windows
4. Arduino Command Line Interface (CLI)
The Arduino CLI is an alternate version of the Arduino IDE that lacks a graphical user interface. What that means is that It strips away all the flashy designs and visuals, leaving you with a black background and white characters. This is analogous to opening up and using the Linux command line or the Linux console (if you have any experience with it).
When working with the Arduino CLI, you can’t use a mouse. To control it, you need to type commands in the command line.
From what I’ve seen and used, this is not suited for beginners. I personally love the minimalistic design since it makes me focus on my work instead of exploring additional features, but it may be especially confusing to those who don’t have any programming experience. You’ll have to memorize the commands when navigating your way or by constantly typing
arduino-cli
to refer back to the help menu. It’s much easier to use the Arduino IDE or any other GUI-based editor rather than the CLI (if you don’t know what you’re doing).
Still, it’s not too difficult and can be a great way for beginners to become adjusted to working with the command line, as long as they put in the time and effort to learn and grow from their mistakes.
It can be supported on the following platforms:
- Linux
- macOS
- Raspberry Pi
- Windows
5. ArduinoDroid
Do you not have a computer? If you do have a computer, do you hate using a computer for your Arduino project? Do you have an Android phone? If you answered yes to all of those questions, then you should definitely check out ArduinoDroid.
This is an Android app that’s only available on the Google Play Store. It is completely free for all users, but you’ll have to sit through some advertisements (since that’s how the creators make money). If you feel like the ads are annoying and want to get rid of them, consider an in-app purchase.
Regardless if you pay for it or not, it offers the following features: code completion, compilation, and syntax highlighting.
Just like how you need to connect your computer to your Arduino board to upload your sketch, you need to do the same thing with your Android device.
To do this, you would need to buy a USB OTG (On The Go) cable. This allows your phone to become a host, just like a computer with a port that you can plug your peripherals in. In this case, it’s the USB cable for your Arduino board.
If you do a quick search on Amazon, it can cost anywhere from $5 to $15.
There’s also an app on the App Store (for iPhones and iPads) similar to the ArduinoDroid, but it has bugs and an overall user rating of 2.4 stars (from 45 users).
It can be supported on the following platforms:
- Android devices
6. embedXcode
EmbedXcode is a great programming environment, and it’s a template that you can add to Apple’s XCode IDE. Doing this gives you access to embedded development such as Arduino, chipKit, Teensy, etc.
However, it has 2 caveats: it is only available on macOS, and beginners should stay away from this.
I recommend that beginners should refrain from using this because it may appear intimidating. Moreover, it will take them a long time to learn, get used to, and implement compared to working with the Arduino IDE or any other text editor.
EmbedXcode does have a free version, but you would get more advanced features if you make some donations.
It can be supported on the following platforms:
- macOS
7. Eclipse
Developed by IBM (International Business Machines) and created by the Eclipse Foundation in November 2001, Eclipse is often used in the programming world as an IDE.
Since it’s created in the programming language Java, it has been most commonly used for Java-related projects. However, this IDE can also support a variety of other different languages such as JS, Haskell, Perl, Python, Ruby, Rust, and (more importantly for Arduino users) C and C++.
For Arduino users, there is a plugin available on Eclipse that you can search for and download. Made accessible by the Eclipse Marketplace, the plugin is called the “Eclipse C++ IDE for Arduino 2.0” and you can find it on the Eclipse download page.
Moreover, after installing the plugin, you’ll need to download “Platform”, which is a Software Development Kit (SDK). This SDK incorporates the core libraries and toolchains involved in creating and uploading your sketch.
As you can see, the installation process can be very tedious because it requires many steps, which is similar to the process of installing the IDE for Arduino on Visual Code Studio.
It can be supported on the following platforms:
- Linux
- macOS
- Windows
Summary – tl;dr (Too Long; Didn’t Read)
Here are the key takeaway points you should keep in mind after reading this article:
- You don’t necessarily need to use the Arduino IDE. Here are some other alternatives:
- Visual Studio Code
- Atom
- Platformio
- Sloeber
- Arduino Command Line Interface (CLI)
- ArduinoDroid
- embedXcode
- Eclipse
- Some pros of using an Arduino IDE alternative are:
- Better aesthestic
- You get additional features
- You can use the text editor on phones, tablets, and laptops
- You can program in other languages and store additional code
- Some cons of using an Arduino IDE alternative are:
- The alternatives are not easy to understand and use
- The alternatives are not optimized for Arduino compatibility
- They can be slow to start up
- You’ll not have some of the features found in the Arduino IDE
If you want to learn more about the Arduino IDE, check out my IDE post that will give you some useful tips for when you are working in the IDE.
In the end, I hope this article can gu-IDE you towards deciding on the best Arduino IDE alternative for you!
References
In my quest to bring you the best information possible, I used information from the following sources: