Skip to content

🤖 arduino-cli

arduino-cli is a command-line tool that provides all the features of the Arduino IDE, allowing you to manage boards, libraries, and sketches from the terminal.

🛠 Installation

Instructions on how to install the application or tool.

arduino-cli

brew install arduino-cli

Install esp32 core

arduino-cli core install esp32:esp32

Verify installed core properly

arduino-cli core list
Output
ID          Installed Latest Name
esp32:esp32 3.2.1     3.2.1  esp32

.arduino15/arduino-cli.yaml

library:
  enable_unsafe_install: true

Dependencies

(
  arduino-cli lib install --git-url https://github.com/mathertel/OneButton.git
  arduino-cli lib install --git-url https://github.com/FastLED/FastLED
)

Compile

arduino-cli compile --fqbn esp32:esp32:esp32s3 USB-MSC.ino

⚙ Config

arduino-cli can be configured with a arduino-cli.yaml file.

arduino-cli.yaml

board_manager:
  additional_urls: []
daemon:
  port: "50051"
directories:
  data: /home/user/.arduino15
  downloads: /home/user/.arduino15/staging
  user: /home/user/Arduino
library:
  enable_unsafe_install: false
logging:
  file: ""
  format: text
  level: info
metrics:
  addr: :9090
  enabled: true
output:
  no_color: false
sketch:
  always_export_binaries: false
updater:
  enable_notification: true

📝 Usage

Here are some common arduino-cli commands.

arduino-cli upload --port /dev/ttyACM0 --fqbn esp32:esp32:esp32s3 USB-MSC.ino

Core Commands

  • arduino-cli core search: Search for a core.
  • arduino-cli core install: Install a core.
  • arduino-cli core list: List installed cores.

Library Management

  • arduino-cli lib search: Search for a library.
  • arduino-cli lib install: Install a library.
  • arduino-cli lib list: List installed libraries.

Sketch Management

  • arduino-cli sketch new: Create a new sketch.
  • arduino-cli compile: Compile a sketch.
  • arduino-cli upload: Upload a sketch to a board.

🔗 References