
A Docker container is used to produce the Linux build of Arduino IDE. The dependencies of the build are pinned to a specific version in the Dockerfile in order to ensure a stable environment in the images. One such dependency is Git. The version of Git available from the package repository of the Ubuntu 18.04 distro used for the image is too outdated to be used for this purpose. For this reason, a PPA is used as the source for the Git package. Unfortunately the maintainers of the PPA remove the previous package every time they add a package for a newer version of Git. This breaks the version pinned installation of the Git package: 5.515 E: Version '1:2.42.0-0ppa1~ubuntu18.04.1' for 'git' was not found For this reason it is necessary to unpin Git in the Dockerfile. This will cause whichever version is available from the PPA to be installed each time the image is built. Although not ideal for this application, that shouldn't cause any problems in practice since Git has quite a stable and carefully maintained interface.
Arduino IDE 2.x
This repository contains the source code of the Arduino IDE 2.x. If you're looking for the old IDE, go to the repository of the 1.x version.
The Arduino IDE 2.x is a major rewrite, sharing no code with the IDE 1.x. It is based on the Theia IDE framework and built with Electron. The backend operations such as compilation and uploading are offloaded to an arduino-cli instance running in daemon mode. This new IDE was developed with the goal of preserving the same interface and user experience of the previous major version in order to provide a frictionless upgrade.
Download
You can download the latest release version and nightly builds from the software download page on the Arduino website.
Support
If you need assistance, see the Help Center and browse the forum.
Bugs & Issues
If you want to report an issue, you can submit it to the issue tracker of this repository.
See the issue report guide for instructions.
Security
If you think you found a vulnerability or other security-related bug in this project, please read our security policy and report the bug to our Security Team 🛡️ Thank you!
e-mail contact: security@arduino.cc
Contributions and development
Contributions are very welcome! There are several ways to participate in this project, including:
- Fixing bugs
- Beta testing
- Translation
See the contributor guide for more information.
See the development guide for a technical overview of the application and instructions for building the code.
Donations
This open source code was written by the Arduino team and is maintained on a daily basis with the help of the community. We invest a considerable amount of time in development, testing and optimization. Please consider donating or sponsoring to support our work, as well as buying original Arduino boards which is the best way to make sure our effort can continue in the long term.
License
The code contained in this repository and the executable distributions are licensed under the terms of the GNU AGPLv3. The executable distributions contain third-party code licensed under other compatible licenses such as GPLv2, MIT and BSD-3. If you have questions about licensing please contact us at license@arduino.cc.