Arduino IDE 2.0 Hits Public Beta

New Theia-based tool is instantly familiar yet infinitely powerful. Plus dark mode!

For more than a decade and a half, Arduino has been the de facto way to get started with microcontroller development. Inexpensive, easy to use development boards, and a run-anywhere IDE have helped countless makers begin their making journey. But while Arduino's hardware offerings have continued to evolve, all the way up to the dual-core Portenta H7 AI powerhouse, the associated software is still that same Processing/Wiring-based IDE we all know and love, yet can't help feel limited by. So in 2019, Arduino previewed the next generation of Arduino IDEs as part of their Arduino Pro platform of advanced tools and hardware. And today, the fruits of their labor are ready to be shared with the maker community in the form of a public beta.

The world of software development has evolved significantly in recent years, and while the embedded development experience may lag behind, it is certainly starting to catch up. Gone are the days of clunky, proprietary, Windows-only IDEs, as embedded developers, seeing how good the web and back end devs have it, demand more. Free tools like Visual Studio Code have allowed developers to take features like code completion, integrated debugging, and Git integration — once the realm of expensive, paid IDEs — for granted. So when it came to picking a foundation for their new software, Arduino selected the Eclipse Theia open source IDE — itself based on Visual Studio Code — just like Arm did with their new Mbed Studio IDE.

Architecting their solution within Theia means powerful code editing, an integrated terminal and flexible layout out of the box, but Arduino have gone a long way to create an experience that is tailored to their intended audience. On first opening, the IDE is familiar both to users of the original Arduino IDE, and to those of more modern development tools. The familiar workflow of adding Arduino libraries, selecting a board, "Verifying" (compiling) and Uploading is right there, just like the original. In fact, your sketches and libraries from the old IDE will even show up when you open the new tool — even the last sketch you were editing with the classic IDE!

At the same time, some of the clunkier features of the old IDE have been streamlined. Over time, the lists of libraries and boards on the original IDE can become so long as to be completely unwieldy — which the new IDE solves with attractive, searchable sidebar interfaces. Also in the sidebar is the debugger, which for supported boards allows the setting of breakpoints, variable watching and stepping through execution — previously a feature found only in much more advanced tools. If you still want to debug by printing to serial though, there's good news there too: the serial monitor, once an autonomous window, which somehow always seemed to get lost, is now firmly embedded at the bottom of the idea, along with the terminal.

Out of the box, the new IDE should feel very comfortable to users of the original, but if you start poking around in the Preferences, things start to get really exciting. Perhaps this should have been the headline of this article instead of waiting until all the way down here to mention it, but: it's got dark mode!!!! Eye users worldwide will rejoice at the soothing palette that their retinas have come to crave from other tools.

The Theia foundation also offers a lot of flexibility as far as where things go from there. Plug-in support could see the same kind of incredible flexibility that has been achieved with VS Code, whose Marketplace allows the IDE to be completely customized based on a user's preferred languages, tools, techniques, and style. Use of the Electron framework means that it could also be migrated to the web, like GitHub's VS Code-based Codespaces, which set up an entire development environment in your browser with one click — imagine reading a tutorial, and instead of copying and pasting code into your locally-installed Arduino IDE, you click a button and can edit, compile, and upload right there, with no software installation! While Arduino code is currently written in C++, the Theia IDE has support for Python, Javascript, and more, which could facilitate integration of, for example, the burgeoning MicroPython/CircuitPython frameworks — already supported by the Portenta, but not the Arduino IDE. Additionally, its use of the Arduino CLI, itself an incredibly powerful tool when used standalone, squarely cements the new IDE as a serious, professional grade tool for experienced developers.

Now available in beta for Windows, macOS, and linux64, the Arduino IDE 2.0 represents a new era in Arduino development, distilling more than a decade and a half's hard-won lessons into an astonishingly powerful workhorse tool that both beginners and power users will feel right at home with, and will use to create the next generation of incredible maker and professional projects!

Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles