Arduino IDE: 2.0 First Look
October 13, 2022
Blog
This September (2022), Arduino announced that its much anticipated 2.0 IDE has been moved to stable and is available for download. New features include the ability to use the serial monitor and plotter simultaneously, quicker compilation, auto-complete, and a number of other enhancements that make it a huge improvement overall.
In my relatively quick trial with it, the Arduino IDE 2.0 seems like a major improvement, and I don’t see myself going back. I’m quite happy with the upgrade, but there are a few caveats to its awesomeness that you may want to be aware of.
Awesome New Features
There is a lot to love about the new Arduino IDE. First, and perhaps foremost, it features:
- Autocomplete: In the new Arduino IDE 2.0 editor, if you start typing something in, such as Serial.pri… It’ll come up with suggestions to fill in the rest. If you don’t always remember the exact spelling or formatting of the statement you wish to make, this is especially helpful. Being able to arrow to the right code and have it fill things in, rather than actually typing things out is a huge time saver. A really fantastic feature, be sure to turn this on under the Preferences menu by checking “Editor Quick Suggestions.”
- Simultaneous Serial Plotter and Monitor: Each has its strengths, and both can now be used together. Not having to choose between the two is a useful option.
- Dark Mode: I really enjoy using dark mode, and now the Arduino IDE has multiple dark (and light) options. It doesn’t seem to follow overall MacOS light/dark appearance settings, which seems reasonable given the number of choices available.
- Debugger: While I haven’t tried this feature, it should be helpful in some instances. As noted here, it’s compatible with all SAMD boards, and potentially with other AVR boards as well.
- Faster Compilation and Loading: Sketches compile much faster than before and appear to load faster as well.
(Caption: Autocomplete!)
(Image Credit: Screencap)
Other interesting features include customizable keyboard shortcuts (Advanced > Keyboard Shortcuts), the ability to program Teensy boards without an extra helper program, and an easier interface for selecting your board/port. You can also right-click on variables and functions to get more information, which can be extremely helpful.
A Few Caveats
With all the excellent features of the new IDE, there are a few inconveniences. First, while compilation and upload are fast, shockingly fast, when compared to 1.x, pulling up each individual Arduino sketch on my computer takes a few seconds. While this might not sound like a lot, if you’re used to quickly opening up examples to see just how to format a certain statement (for the 100th time), this can be a drawback. On the other hand, autocomplete functions help mitigate much of this behavior in an elegant manner.
(Image Credit: Screencap)
Other potential issues include the fact that the serial monitor appears to be restricted to the bottom of the IDE. Not a big deal to me, but others may find this cumbersome. Also, in autoscroll mode, the serial monitor displays only a sliver of the last line. Hopefully Arduino will fix this in a future update. Finally, the Arduino IDE 2.0 doesn’t check your code for errors before compilation. As with 1.x, you may have a surprise (or five) when you hit the verify or upload button.
Many of these caveats are things that a more experienced programmer would notice, but not necessarily those getting started. I’m quite happy, but if you have other programming tools that you use and like, this IDE may not be for you.
The Bottom Line: Time to Upgrade?
The Arduino IDE 2.0 is a fantastic upgrade from the 1.x version. It’s well worth the install and rather easy learning curve to try it out. At the same time, if you’re already using something different, perhaps give it a try, but don’t expect it to become your new tool of choice. For the vast number of people that use the Arduino IDE as their standard tool, and those just starting out, this should make programming much easier and more enjoyable.