Arduino programming language and the Arduino IDE are the most popular software development tools for the makers market, but it lacks some of the features found in professional tools like autocompletion and the ability to add breakpoints via a debugger, and that’s why the company announced its work on the Arduino Pro IDE in 2019. Work is now nearing completion with the release of the beta version of the Arduino IDE 2.0 based on the Eclipse Theia framework.
The user interface has been revamped with easy access to the newly added debugger, as well as the boards manager and libraries manager on the left side of the interface, the possibility to type the name of the board, and autocompletion of variables and functions from your code and installed libraries.
Pressing F12 while on a function name will bring you directly to the corresponding code in another tab, or alternatively, you can right-click to select Peek definition or press Ctrl+Shift+F10 to open a new section with the function code.
The interface is also said to be more responsive, and offers faster compilation.
As noted previously, another important change is the addition of a live debugger that allows you to insert breakpoints, check the call stack, watch the value of local and global variables, and more.
It should be noted that the debugger only supports Arduino boards based on the SAMD and Mbed platforms, meaning the MKR family, Nano 33 IoT, Nano 33 BLE, Portenta, and Zero). Support for third-party boards will be possible by adding configuration parameters and a debugging probe such as the Segger J-link to the JTAG pins on the board.
You can download and try out Arduino IDE 2.0 beta for the x86 64-bit version of Windows, Linux, or Mac OS operating system. For more information about other new features such as the ability to run multiple serial consoles in parallel, check out the getting started guide.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
I wonder why they bothered with eclipse.. a meta-plugin for vscode, like platform.io, would have been enough. Hell, Arduino-plugins already exists for eclipse.. i really don’t see a point for yet another oem eclipse version that gets outdated when a new eclipse version is released
The interface of Theia (on their site) looks much like Atom/VSCode. Browsing the GitHub repo, it is in fact js/ts sources – I think it is not based on Eclipse Java codebase /OSGI, but maybe it is Electron? It also claims to support VSCode extensions protocol.
It’s explained on Arduino’s announcement blog:
Ok, that’s interesting. Thanks. Nvm then ?
I hope they retain/pull in the customization VS Code offers
Platformio is very nice to handle big projects but it’s not perfect : there is sometimes strange behavior, bugs and little things to know.
I hope that this arduino ide will reduce the lack of features of the arduino IDE with more reliability !
It’s also not as integrated as Arduino. Makes it harder for beginner to include libraries. But I really like platformIO in general. They have a great set of tools.
Eclipse gives me the hibbie jibbies
Eclipse is the worst of Java IDEs. Java promised that all code needs to be compiled once and runs everywhere. Well, it only applies to pure Java code. Eclipse depends on platform specific binaries at its core.
Eclipse Theia is a completely different framwork and it’s the same technology used in Visual Studio Code. This IDE has got nothing to do with the old Java based Eclipse IDE
Let’s hope it’s not as unusable as the 1.x one. Basically extremely unresponsive, and with an auto-indenting editor that is always wrong and that you cannot disable, the only editor that I’ve seen that constantly forces you to use the left arrow to go back to where you were before it started doing crap to help you. It’s nice if they include an easier access to the debugger, but I’m a bit worried about the space left available for the code on the screen with that huge left bars taking 1/3 of the screen to display a few useless lines… Read more »
I’m not sure which IDE you’re talking about. the Arduino IDE 1.x is not auto-indenting (unless you issue the “auto Format” command) can you tell me which one you’re describing?
The “standard” one, I don’t know how you’d call it, the one you see everywhere. 1.8.x here for example. Just try to enter “if (a) {” then press enter and you’ll see that it *does* auto-indent *and* inserts a closing brace after the point where you’re typing. I never figured how to disable this and it is extremely irritating when modifying some existing code, especially since it always indents that part, making things further wrong. For example, let’s say you have the following: if (condition) do_something(); 12 if (condition) do_something(); Now you want to add a second instruction before or… Read more »