Skip to content

Third-party material

Everything in this repository is MIT-licensed (see LICENSE) except the files listed here, which belong to other projects and keep their own terms. Each one carries its original licence header — do not replace those with this project's.

Independent project — no affiliation, no endorsement

This project is not affiliated with, authorised by, sponsored by, or endorsed by any of the companies or projects named in it.

Arduino® and UNO®, Qualcomm® and Snapdragon®, STMicroelectronics® and STM32®, Arm® and Cortex®, Zephyr®, Linux®, Debian®, Python®, Microsoft®, Windows®, Visual Studio Code, GitHub®, macOS® and Qwiic® are the property of their respective owners, and may be registered trademarks in some jurisdictions.

They are used here descriptively — to say accurately what this software runs on, builds with and talks to. You cannot explain a Zephyr application that flashes an STM32 over SWD without naming Zephyr and STM32.

No vendor logos or brand artwork appear anywhere in this project, and no vendor binaries are redistributed. If you own one of these marks and object to how it is used, open an issue and it will be changed.

Licences, not trademarks

The rest of this page is about copyright and licensing — which files belong to whom, and under what terms. That is a separate question from the trademark notice above, and the two are easy to conflate: a permissive licence on a project's code grants nothing at all in respect of its name.

File Owner Licence
.vscode/STM32U585.svd STMicroelectronics Apache-2.0
.clang-format The Zephyr Project Apache-2.0

Derived work

mcu/app/src/matrix.c implements the 8×13 LED panel from scratch, but two facts in it were read out of Arduino's own implementation (ArduinoCore-zephyr, loader/matrix.inc, Apache-2.0): which ordered pin pair lights which LED, and the 10 µs slot. That wiring is not described anywhere else — not in the UNO Q datasheet and not in Zephyr's arduino_uno_q board definition, which does not mention the panel at all. The grayscale scheme, the refresh ISR and the register-level MODER/BSRR handling are this project's.

Build-time dependencies

Not redistributed here — you install them yourself, and they are listed for completeness because the firmware links against them:

Licence
Zephyr RTOS (+ MCUboot) Apache-2.0
OpenOCD — built by tools/build-openocd.sh GPL-2.0-or-later
pyserial, gpiod, smpclient BSD-3-Clause / LGPL-2.1 / Apache-2.0
MkDocs + Material for MkDocs BSD-2-Clause / MIT

OpenOCD is GPL. tools/build-openocd.sh builds it from upstream source into /opt/openocd; no OpenOCD code is vendored into this repository.

Inside the site you are reading

This page is part of a site built by Material for MkDocs, and the build copies some of that project's work into the output. That output ships on the USB drive and is served over the network, so it is redistribution and belongs here.

In share/learn/ Owner Licence
assets/stylesheets/, assets/javascripts/ Martin Donath (squidfunk) and contributors MIT
assets/javascripts/lunr/ The lunr.js authors MIT
assets/external/unpkg.com/mermaid@11/ The Mermaid authors MIT
Icons (inlined as SVG) Material Design Icons / FontAwesome / Octicons Apache-2.0 / CC-BY-4.0 / MIT

assets/javascripts/mermaid-init.js sits beside those and is ours, not third-party - it is the few lines that actually call mermaid.run(), which the theme does not.

The privacy plugin is what puts the mermaid and lunr copies there: it downloads at build time anything the theme would otherwise fetch from a CDN while the page is loading, so that a reader with no network still gets a complete site. The consequence is that the copies travel with the drive, which is the point, and which is why they are listed.

None of it is in this repository — share/learn/ is generated output and is in .gitignore. Rebuild it with tools/build-docs.sh.

Downloaded onto your board, never redistributed

share/fetch-vscode.sh downloads Microsoft's official Visual Studio Code installers onto the board so it can hand them to a laptop that has no internet of its own — over the USB fileshare and over unoq-learn.

Owner Terms
VS Code installers (.exe, .zip, .deb, .tar.gz) Microsoft Microsoft Software Licence Terms

They are not in this repository and are not published by this project. They are fetched from update.code.visualstudio.com at the moment you run that script, onto your own hardware, and land inside unoq-share.img which is likewise not tracked here. Handing them on to other people is redistribution and is governed by Microsoft's terms, not by this project's MIT licence.

Note that the official builds are not the MIT-licensed vscode source — they add Microsoft-proprietary components. If you would rather ship something freely redistributable, point the script at VSCodium builds instead.

Not included

Earlier revisions of this project kept a backup/ directory holding Arduino's stock MCU firmware image, Arduino's remoteocd helper binary, and OpenOCD target configuration files. Those are other people's build artefacts and are not this project's to redistribute, so they are not published here and have been removed from the git history.

If you want the stock firmware back on your own board you need your own copy, taken before you purge the Arduino tree — see Keep your own copies in the README for the commands. mcu/restore-arduino-firmware.sh uses it via STOCK_FW.