Compiler licenses and source

Return to the compiler

Your original sketch remains yours. Third-party components retain their respective copyrights and licenses. The downloads below are the exact unmodified source packages used for the selected board platforms and approved libraries; their original per-file notices and license texts are preserved inside each archive.

Download the version and checksum manifest

Full license texts: GNU LGPL 2.1, GNU GPL 2, GNU GPL 3. These license texts are the unmodified copies packaged by Debian in /usr/share/common-licenses.

Rebuilding and modifying library code

Use File → Download sketch ZIP in the compiler to save all your source files and BUILD-INFO.txt with the exact board, platform, libraries, and build commands. Extract the sketch into a directory named main. Install the specified Arduino CLI/core/library versions and compile using those commands. To rebuild against a modified library or core, extract and modify the corresponding source archive above and replace that component in your local Arduino environment before recompiling. You may modify library components and rebuild your sketch; this service imposes no additional restriction on reverse engineering for debugging those modifications. Keep this source information with firmware you redistribute and check all licenses applicable to your own code and added components.

The compiler runs unmodified Arduino CLI as a separate server executable. The CLI, IDE, and toolchain executables are not offered as downloads by this page. GCC runtime exceptions apply only to the runtime files bearing those exceptions. These materials provide source and reproducibility information, not a legal clearance or warranty.

Third-party notices

# Arduino compiler third-party notices

This image contains unmodified Arduino CLI as a separate executable, four
board-platform packages, their required tools, and the libraries in the
source repository's `deploy/compiler/arduino-toolchain.lock.json`. That lock is
the authoritative version, download URL, and SHA-256 inventory; it is build
input and is not copied into the runtime image. The build
retains the CLI license and each installed package's shipped license, README,
and copyright files alongside the package. This file summarizes the direct
component licenses; package-level files remain authoritative where a component
is mixed or contains third-party code. This is the Arduino-specific inventory,
not a complete notice inventory for the Debian base and apt-installed system
packages; their packaged copyright files must also be retained for image
redistribution.

| Component | Pinned version | License summary |
| --- | --- | --- |
| Arduino CLI | 1.5.1 | GPL-3.0. The upstream [README](https://github.com/arduino/arduino-cli/blob/v1.5.1/README.md) also contains a separate commercial-use/source-disclosure notice; see [the review](../../docs/development/arduino-licenses.md). |
| Arduino AVR Boards | 1.8.8 | Mixed per-file notices, predominantly LGPL-2.1-or-later. Bundled EEPROM, SoftwareSerial, and Wire are LGPL-2.1-or-later; SPI offers GPL-2.0 or LGPL-2.1; HID has a permissive MIT-style notice. |
| Arduino megaAVR Boards | 1.8.8 | Mixed package and source-file notices; retain all notices from the locked archive. |
| Arduino SAMD Boards | 1.8.14 | Mixed package and source-file notices; retain all notices from the locked archive. |
| Arduino Renesas UNO Boards | 1.6.0 | Mixed package and source-file notices; retain all notices from the locked archive. |
| AVR / ARM GCC toolchains | AVR `7.3.0-atmel3.6.1-arduino5` and `7.3.0-atmel3.6.1-arduino7`; ARM `7-2017q4` | GCC is GPL-3.0. The GCC Runtime Library Exception applies only to files whose headers include it; bundled binutils, GDB, avr-libc/newlib, and other files retain their own licenses. |
| AVRDUDE | `8.0.0-arduino1`, `6.3.0-arduino17`, `6.3.0-arduino9` | GPL-2.0-or-later; retain Arduino packaging changes and upstream notices. |
| arduinoOTA | `1.3.0`, `1.2.1` | GPL-3.0. |
| OpenOCD | `0.10.0-arduino7`, `0.11.0-arduino2` | GPL-2.0-or-later for the program; documentation and some files have separate notices. |
| BOSSA / bossac | `1.7.0-arduino3`, `1.9.1-arduino5` | BSD-3-Clause; preserve copyright and disclaimer. |
| CMSIS / CMSIS-Atmel | `4.5.0`, `1.2.0` | CMSIS application components are BSD or zlib licensed; retain the separate CMSIS license agreement and all Atmel package notices. |
| dfu-util | `0.11.0-arduino5` | GPL-2.0. |
| Servo | 1.3.0 | LGPL-2.1-or-later. |
| LiquidCrystal | 1.0.7 | LGPL-2.1-or-later. |
| Stepper | 1.1.3 | LGPL-2.1-or-later. |

The SD library is deliberately not installed: the selected SD 1.3.0 source is
GPL-3.0, which would add full-project source disclosure obligations for
downloaded firmware according to Arduino's [licensing guidance](https://support.arduino.cc/hc/en-us/articles/4415094490770-Licensing-for-products-based-on-Arduino).

The firmware output links board-core and selected library code. Distributing a
firmware image therefore has separate obligations from using the CLI as a
server-side subprocess. Exact unmodified core/library source archives and original notices are served
by the public compiler source page. Sketch ZIP exports include source and
board-specific rebuild instructions. Hosted publication was authorized by the
owner on 2026-10-20; this is not formal legal clearance. The server image and
CLI/toolchain executables are not offered as public downloads. See
[the review](../../docs/development/arduino-licenses.md) for unresolved questions.

The Arduino word mark and logo are trademarks of Arduino S.r.l. This project is
independent and is not endorsed by or affiliated with Arduino S.r.l. See the
[Arduino trademark policy](https://www.arduino.cc/en/trademark).

Arduino® is a trademark of Arduino S.r.l. This independent service is not affiliated with or endorsed by Arduino.