Tutorial

Arduino CLI and GitHub Actions: Automatically Compile Every Commit cover image
Arduino CLI and GitHub Actions: Automatically Compile Every Commit
How to compile Arduino sketches on every GitHub push or pull request using Arduino's official Actions (setup-arduino-cli and compile-sketches), including a matrix of board FQBNs.
Running Python and Arduino C++ Together With Arduino App Lab cover image
Running Python and Arduino C++ Together With Arduino App Lab
How to split an App Lab project so Python on Linux handles slow work and Arduino C++ on the microcontroller handles pins, using the App folder layout and the Bridge.
How to Move From Arduino IDE 1.8 to Arduino IDE 2 cover image
How to Move From Arduino IDE 1.8 to Arduino IDE 2
How to install Arduino IDE 2 beside 1.8.19, keep your sketchbook and libraries, reinstall cores if needed, find Serial Monitor and Board Manager in the new window, and only uninstall 1.8 when a project compiles and uploads in 2.
The Bricks catalog in Arduino App Lab
Arduino App Lab Bricks Explained
What an App Lab Brick is, how it differs from an Arduino library, how Bricks run beside Python on Linux, and how to add one from the catalog without treating it as magic.
Arduino IDE 1.8 vs Arduino IDE 2: What's Different? cover image
Arduino IDE 1.8 vs Arduino IDE 2: What's Different?
How Arduino IDE 2 differs from Legacy IDE 1.8.19 in interface, architecture, speed, autocomplete, debugging, Serial Monitor, board support, and library compatibility, and why 1.8.19 still exists.
Understanding Arduino Bridge/RPC on the UNO Q cover image
Understanding Arduino Bridge/RPC on the UNO Q
How the UNO Q Bridge lets Linux Python and the STM32 sketch call each other's functions, including provide/call, the 256-byte limit, and the Arduino Router service underneath.
How to Compile Arduino Sketches Automatically With Arduino CLI cover image
How to Compile Arduino Sketches Automatically With Arduino CLI
How to compile one or more Arduino sketches from a script using Arduino CLI, fail on a non-zero exit code, cover more than one board FQBN, and use a sketch.yaml profile so the compile line stays short.