The Arduino IDE is a great development tool for those just getting started with Arduino. However, if you’re an intermediate prototyper or have a strong programming background, you’ll find it to be pretty basic.
The development features are pretty limited, and you have to write your programs in Arduino’s version of C/C++. The IDE supports sketches in the (.ino) format, which can be limited if you want to create your own set of C/C++ programs.
In this article, I’m going to share with you my top picks for Arduino IDE Alternatives. In addition to that, I want to guide you through migrating from the Arduino IDE to these new development tools, so I’ve outlined my recommendations for getting started.
Like anything new, changing programming environments can be challenging, but if you’re looking to step up your development game, you’ll want to have better tools for debugging at your disposal. Without further hesitation, let’s get into it!
Atom.io + Platformio
One of my favorite text editors (if you can even call it that), is atom.io. Its futuristic feel and hackable user interface make it a joy to use.
Stack that with the plugin, Platformio, and you have a lightweight, yet powerful tool for creating robotics and electronic prototypes using Arduino.
Compiling is also really smooth, and you can select your board and port options similarly to the Arduino IDE. Out of all these options, if you want something that’s intuitive to use, and takes minimal time to learn, I’d pick atom.io.
Once you get set up, go ahead and check out this tutorial, where you can learn how to create an IoT device using Arduino, Atom, and Platformio.
Eclipse for Arduino
Another set of popular Arduino IDE alternatives are Eclipse and Netbeans. I grouped them together because they’re on the same wavelength when it comes to development environments.
If you’re looking for an environment that is used a lot in US Colleges, then Eclipse or Netbeans is typically what you’ll get. I recommend checking out these environments if you like “heavy” programming environments. They’re usually a little more complex to get started with, but they provide a lot more tools when it comes to creating software.
Eclipse and Netbeans also support compiling and uploading code to microcontrollers like Arduino. All you need to do is configure the IDE to support this feature. Click here for Eclipse support. Learn how to configure Arduino using Netbeans here.
Visual Studio with Arduino
A third Arduino IDE alternative is Visual Studio. It turns out you can use Visual Studio with Arduino!
There are premium versions of Visual Studio, but you can also get community developer licenses for free. If you are planning on creating a prototype for commercial resell, you’ll have to consider the licensing costs if you choose this IDE.
Even though this is a Microsoft IDE, you can use Visual Studio on both Windows and Mac computers. I used Visual Studio back in the day, and let’s just say that the 2019 Edition looks super sleek!
Definitely give it a try if you’re a fan of Microsoft programs. All you need to do is install the Arduino Add-On for Visual Studio.
EmbedXcode for Mac
This choice is a nice bonus option for those of you who code on a Mac. (If you’re a Windows or Linux user, you can skip this section.)
Xcode is a development tool you can use to create Mac and iOS apps. You can also use it to create Arduino programs.
Pretty nice, right?
If you’re used to developing in Xcode, all you need to do is utilize the embedXcode template to create Arduino programs.
Out of all these options, if you’re already using Xcode, this is a nice, quick transition out of the Arduino IDE into an alternative (more powerful) solution.
Related: Should you use a Mac or Windows computer for robotics?
Arduino Command Line Interface (CLI)
Last summer, there was a big uproar when Arduino announced the introduction of its Command Line Interface (CLI).
If you’re the kind of person who lives in the terminal, then you don’t need an IDE. Just use the Arduino CLI. With just the terminal and a generic text editor, you can whip up an Arduino program, compile, and upload.
I wouldn’t recommend this option for those of you who aren’t comfortable working in the terminal. But, if you enjoy tapping away at the keyboard and don’t want to add another piece of software to your computer, this could be the route you take.
One benefit of using the Arduino CLI is that the commands have the option to output JSON for easy parsing by other programs. This makes it super user-friendly when it comes to the developer community as a whole. I highly recommend checking out this alternative if you’re using Arduino as a subset of a bigger project!
If you’re new to Arduino, then the Arduino IDE makes a whole lot of sense. I actually recommend starting there if you’re fresh into the world of Arduino.
On the flip side, if you’re not a beginner or you have experience programming, then I highly recommend upgrading your development workflow by adopting a more advanced IDE. This article was designed to give you a primer to some popular Arduino IDE alternatives.
Check out the list and give a few (or all) of them a try. The best development IDE is the one you enjoy using. Regardless of what you pick, this list will open up the doors to additional debugging, programming, and development tools.
Then, once you have your new development environment setup, check out these popular Arduino projects!
Create a Database with Dweet (IoT)
Pan/Tilt Servo Programming Guide
Intermediate Arduino Projects
Do you have a favorite Arduino IDE alternative? Be sure to drop a comment below, and let us know!
This article was proudly powered by the magic of Coffee. Learn More.
I use MS Visual Studio for C++ and C# programming.My field usage is ındustrial automation and machine control with embedded electronics and with communicating PC control. Fro some projects Arduino is very cost and time efficient. Arduino IDE, however, can not be used for an ındustrial project. Mainly due to lack of project handling such as library, include and other files organization and lack of debug facilities. VS is good but still does not supply detailed debug options. I also tried PlatformIO with VS code but could not get it working. I have got it compiling but then it can not communicate with the board Then I changed the environment and it did not compile. This could be due to equivalent MEGA board I am using. Do you have any ideas and suggestions.
PlatformIO is a good choice. I’ve personally only used PlatformIO with Atom. Perhaps give that integration a try or check out the integration with MS Visual Studio. Good luck ~Liz from Learn Robotics