Arduino IDE 2.3: Enhanced Development Environment

The Arduino community, which is developing a series of open source boards based on microcontrollers, published release of the integrated development environment Arduino IDE 2.3, which provides an interface for writing code, compiling, downloading firmware to equipment and interacting with boards during the debugging process. Firmware development is carried out using a slightly stripped-down version of C++ with a framework Wiring. The development environment interface code is written in TypeScript (typed JavaScript), and the backend is implemented in Go. Thanks for reading texts spread licensed under AGPLv3. Prepared ready-made packages for Linux, Windows and macOS.

The Arduino IDE 2.x branch is based on the Eclipse Theia code editor and uses the Electron platform to build the user interface (the Arduino IDE 1.x branch was a standalone product, written in Java). The logic associated with compilation, debugging and loading of firmware is moved to a separate background process arduino-cli. The IDE's features include: LSP (Language Server Protocol) support, adaptive autocompletion of function and variable names, code navigation tools, theme support, Git integration, support for storing projects in the Arduino Cloud, serial port monitoring (Serial Monitor) .


In the new version, the built-in debugger has been transferred to the category of stable features, supporting debugging in live mode and the ability to use breakpoints. The debugger is based on a standard framework, which makes it easy to add debugging support for any board and use the standard Arduino IDE interface for debugging. Currently, debugging support is implemented for all Mbed core based Arduino boards such as GIGA R1 WiFi, Portenta H7, Opta, Nano BLE and Nano RP2040 Connect. Debugging support for boards based on the Renesas core, such as UNO R4 and Portenta C33, is planned to be added in the near future, after which debugging will also be available for Arduino-ESP32 boards.

Thanks for reading: