Skip to main content Link Search Menu Expand Document (external link)

Arduino UOS

UOS Logo

Arduino UOS allows dynamic run-time control over Arduino devices. The suggested method for flashing this firmware is using the arduino-cli tool. This can be installed via the brew package manager (linux/macOS) or via the chocolatey package manager (window).

With the arduino-cli you want to ensure you have the most up-to-date platform core installed for the microcontroller you plan to use. Specifics regarding specific hardware are outlined in the Supported Hardware section below.

arduino-cli core update-index

You should download the latest stable firmware from the repository tags. Once unpacked, navigate into the root dir and compile / upload to your device (arduino nano on COM3 used in the example).

cd UOS-Arduino
arduino-cli compile --fqbn='arduino:avr:nano'
arduino-cli upload --fqbn='arduino:avr:nano' --port='COM3'

Supported Hardware

Arduino Uno

Native support via the arduino:avr platform core.

  • FQBN: arduino:avr:uno

Arduino Nano

Native support via the arduino:avr platform core.

  • FQBN: arduino:avr:nano

Raspberry Pi Pico

The raspberry pi pico is supported in the arduino uos implementation via the helpful opensource platform core arduino-pico. This is an un-official 3rd party core, but is easy to use.

  • FQBN: rp2040:rp2040:rpipico

Note: Officially only a vanilla rp2040s on the pico board are support in standard configurations. In theory variations are supported but this is beyond the scope of the project.

Getting Started

If you are using the arduino-ide, add the arduino-pico URL via the board manager. If you are using the arduino-cli, we can run the following commands to achieve the same (See installing support for 3rd party board cores).

Create a config file if one doesn’t already exist.

arduino-cli config init

Modify the config to add the arduino-pico core url using your favourite text editor. This is a simple yaml file so just make sure the board_managher.additional_urls list contains the correct URL.

  additional_urls: [""]

Source Code