- name
- arduino-cli
- description
- Provides commands and workflows for Arduino CLI. Use when the user wants to create, compile, or upload Arduino sketches, manage boards (list, attach), install/search/list cores (platforms) and libraries, or configure Arduino CLI. Triggers on phrases like "arduino-cli", "compile sketch", "upload arduino", "install arduino core", or "arduino library".
Arduino CLI Skill
This skill provides guidance for using the arduino-cli to manage Arduino projects, boards, cores, and libraries from the command line.
Quick Reference
1. Configuration & Setup
Initialize the configuration file (usually in ~/.arduino15/arduino-cli.yaml):
arduino-cli config initUpdate the local cache of available platforms and libraries (do this first!):
arduino-cli core update-index2. Board Management
List connected boards to find the port and FQBN (Fully Qualified Board Name):
arduino-cli board listList all supported boards and their FQBN strings:
arduino-cli board listall <search_term>3. Core (Platform) Management
Search for a core:
arduino-cli core search <keyword>Install a core using its ID (e.g., arduino:samd):
arduino-cli core install <core_id>List installed cores:
arduino-cli core list4. Sketch Workflow
Create a new sketch:
arduino-cli sketch new <SketchName>Compile a sketch (requires the board's FQBN):
arduino-cli compile --fqbn <FQBN> <SketchName>*Example:* arduino-cli compile --fqbn arduino:samd:mkr1000 MyFirstSketch
Upload a sketch to a connected board:
arduino-cli upload -p <port> --fqbn <FQBN> <SketchName>*Example:* arduino-cli upload -p /dev/ttyACM0 --fqbn arduino:samd:mkr1000 MyFirstSketch
5. Library Management
Search for a library:
arduino-cli lib search <keyword>Install a library:
arduino-cli lib install "<Library Name>"Adding 3rd Party Cores (e.g., ESP8266)
To install 3rd party cores, pass the --additional-urls flag to your core commands:
arduino-cli core update-index --additional-urls https://arduino.esp8266.com/stable/package_esp8266com_index.json
arduino-cli core install esp8266:esp8266 --additional-urls https://arduino.esp8266.com/stable/package_esp8266com_index.json*(Alternatively, these URLs can be added to the board_manager.additional_urls array in arduino-cli.yaml)*