The Arduino community, which develops a series of open-source microcontroller boards, has released the integrated development environment Arduino IDE 2.3, providing an interface for writing code, compiling, uploading firmware to hardware, and interacting with boards during debugging. Firmware development is conducted in a slightly streamlined version of C++ using the Wiring framework. The interface code of the development environment is written in TypeScript (typed JavaScript), while the backend is implemented in Go. The source code is distributed under the AGPLv3 license. Pre-packaged versions are available for Linux, Windows, and macOS.
The Arduino IDE 2.x branch is built on the Eclipse Theia code editor and uses the Electron platform for building the user interface (the Arduino IDE 1.x branch was a self-contained product written in Java). The logic related to compilation, debugging, and firmware uploading has been moved to a separate background process, arduino-cli. The IDE features include support for the LSP (Language Server Protocol), adaptive input autocomplete for function and variable names, navigation tools for code, theme support, Git integration, cloud project storage with Arduino Cloud, and a Serial Monitor.

In this new version, the built-in debugger has been promoted to stable features, supporting live-mode debugging and the ability to use breakpoints. The debugger is based on a standard framework, allowing for easy addition of debugging support for any boards and utilizing the native Arduino IDE interface during debugging. Currently, debugging support is available for all Arduino boards based on the Mbed core, 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 expected to be added soon, after which debugging capabilities will also be available for Arduino-ESP32 boards.
Source: opennet.ru
