Maker.io main logo

A Look at the Added Features in the New Arduino IDE 2.0 RC

2021-12-29 | By Maker.io Staff

The classic Arduino IDE is a well-known tool, and this simple program often serves as an entry point to the world of microcontroller programming. Unfortunately, the IDE can feel dated not only appearance-wise but also regarding its features. The more advanced you become as a maker, the more this becomes a problem. Fortunately, the official Arduino IDE 2.0 release candidate was just released for all major operating systems, and it’s time to look at its features, workflow, and improvements.

A First Look at the IDE’s Visual Improvements

A Look at the Added Features in the New Arduino IDE 2.0 RC This image shows the new Arduino IDE startup screen.

The original Arduino IDE came out in 2005, and the IDE’s interface is outdated by today’s standard. The UI hides numerous features behind various sub-menus and pop-up windows.

The new Arduino IDE aims to address these issues, and it offers a much cleaner look. You can group the elements in the new UI into four categories:

A Look at the Added Features in the New Arduino IDE 2.0 RC A screenshot of the new Arduino IDE. It shows the sidebar and the main text editor. I closed the serial monitor for this screenshot.

The yellow area in the top-left corner of the IDE should be familiar. These are the same buttons you can find in the previous version of the Arduino IDE. Here, you can perform tasks such as initiating an upload and opening a new file. Note the additional debugging button, which I’ll discuss later in this article.

The cyan area at the top of the window lets you select the target board and the port. In addition, it also allows you to open the serial console. The new sidebar, highlighted in green, lets you perform various actions you’d have accessed via the top menu bar in the old Arduino IDE. Two examples include the board manager and the library manager. In addition to those two examples, this version also lets you list all files in your sketchbook for quick access, and you can even use an all-new search feature to find variable definitions.

The red area indicates the improved text editor. The new editor offers better syntax highlighting and other handy functions such as auto-completion.

As you can see, the new Arduino IDE 2.0 features an improved look that makes the Arduino IDE feel young, modern, and fresh again. In addition, this version also includes user-switchable themes and better localization options that have the potential of making the IDE accessible to a broader range of users:

A Look at the Added Features in the New Arduino IDE 2.0 RC The new Arduino IDE features user-switchable themes.

Added Features

If you’ve used a more advanced modern IDE before, you’ll notice that the classic Arduino IDE lacked a few vital features that may help boost your productivity. Luckily, the development team added some of the most sought-after improvements to the Arduino IDE 2.0.

The all-new auto-completion feature is probably an improvement that most people will find helpful, as this addition can significantly increase your productivity. When you start typing in the editor, the Arduino IDE 2.0 displays a list of selected keywords you might want to write. This list includes variable names and functions found in your source code or any loaded libraries. The old IDE didn’t have a feature like this, but most modern IDEs do, which is why this feature was highly sought-after by more advanced users.

A Look at the Added Features in the New Arduino IDE 2.0 RC One major improvement of the new Arduino IDE is the added auto-completion feature.

The next major improvement is the addition of a state-of-the-art live debugger. You can finally place breakpoints and manually pause code execution on supported Arduino boards to take a peek at the variable values at runtime. The IDE further lets you change variables at debug time. Gone are the days of numerous print statements to check variable values when you encounter a bug. Unfortunately, the debugger currently only supports SAMD boards (MKR family, Nano 33 IoT, Zero), and you need an external debugging probe for most Arduinos. Debugging support for Mbed Arduino boards (Nano 33 BLE, Portenta, RP2040 Connect) is currently being implemented.

Other minor changes include; performance improvements, a context menu that lets you quickly jump to variable definitions, and a “changes” view that tracks unsaved changes side-by-side in a file. Lastly, the new Arduino IDE 2.0 includes an auto-format function that fixes incorrectly indented code in your projects.

A Look at the Added Features in the New Arduino IDE 2.0 RC A change tracker lets you see the changes you've made in an open file.

Remember that the Arduino IDE 2.0, as well as the original version, is open-source. Therefore, you can suggest, add, and review changes for features you’d like to see in the IDE.

Downsides of Upgrading to the New Arduino IDE 2.0

I’ve talked a lot about new features, but I’d also like to mention a few things that you might want to consider before you delete the old Arduino IDE from your computer.

First, most tutorials out in the wild use the classic Arduino IDE, and it will take the Arduino IDE 2.0 some time to catch up. Therefore, I recommend that advanced users upgrade the IDE and beginners stick with both versions for now.

Apart from that, you might have to re-import and re-install some or all external libraries and board support files in the new Arduino IDE, which might take some time depending on your number of libraries and boards.

I also think that the current Arduino IDE 2.0 lacks a few nice-to-have features, such as refactoring support and GIT integration, which would both be immensely helpful for producing better quality software.

Summary

The classic Arduino IDE has received an update that catapults the beloved development environment into 2021. The latest release candidate includes visual changes that improve accessibility and the overall usability and a few new features such as auto-completion and a live debugger. Several minor upgrades, such as an improved search bar and the automatic code formatting tool, help you boost your productivity.

制造商零件编号 ABX00012
ARDUINO MKR ZERO W/ HDR ATSAMD21
Arduino
制造商零件编号 ABX00027
ARDUINO NANO 33 IOT
Arduino
制造商零件编号 ABX00032
ARDUINO NANO 33 IOT WITH HEADERS
Arduino
制造商零件编号 ABX00030
ARDUINO NANO 33 BLE
Arduino
制造商零件编号 ABX00034
ARDUINO NANO 33 BLE WITH HEADERS
Arduino
制造商零件编号 ABX00031
ARDUINO NANO 33 BLE SENSE
Arduino
制造商零件编号 ABX00035
ARDUINO NANO 33 BLE SENSE W/ HDR
Arduino
制造商零件编号 ABX00042
PORTENTA H7
Arduino
制造商零件编号 ABX00045
PORTENTA H7 LITE
Arduino
制造商零件编号 AKX00032
ARDUINO PORTENTA MACHINE CONTROL
Arduino
制造商零件编号 ABX00052
ARDUINO NANO RP2040 CONNECT
Arduino
制造商零件编号 ABX00053
ARDUINO NANO RP2040 CONNECT HDRS
Arduino
制造商零件编号 ATATMEL-ICE
EMU FOR SAM AND AVR MCU KIT
Microchip Technology
制造商零件编号 ATATMEL-ICE-PCBA
EMU FOR SAM AND AVR MCU PCB ONLY
Microchip Technology
制造商零件编号 ATATMEL-ICE-BASIC
EMU FOR SAM AND AVR MCU BASIC
Microchip Technology
制造商零件编号 8.08.00
JTAG EMULATOR FOR ARM CORES
Segger Microcontroller Systems
制造商零件编号 8.19.00
J-LINK BASE COMPACT
Segger Microcontroller Systems
制造商零件编号 8.08.91
J-LINK EDU MINI
Segger Microcontroller Systems
制造商零件编号 8.08.93
J-LINK EDU MINI 12PK
Segger Microcontroller Systems
Add all DigiKey Parts to Cart
TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum