✨ Tiny Cheatsheet Summary Purpose Arduino CLI Command Setup CLI arduino-cli config init Install board core arduino-cli core install esp32:esp32 Create sketch arduino-cli sketch new MySketch Compile sketch arduino-cli compile --fqbn ./MySketch Upload to board (USB) arduino-cli upload -p /dev/ttyUSB0 --fqbn ./MySketch Install library arduino-cli lib install "ArduinoJson" List boards arduino-cli board listall List installed libraries arduino-cli lib list 🛠 Arduino CLI — Most Useful Commands Purpose Command Notes Initialize CLI config arduino-cli config init Creates arduino-cli.yaml Set libraries/sketch folder arduino-cli config set directories.user ~/Arduino Configure custom folders if needed Update board index arduino-cli core update-index Updates list of available board packages Add board package URL arduino-cli config add board_manager.additional_urls Example: ESP32 board URL Install board package arduino-cli core install esp32:esp32 Install core for ESP32, Heltec, etc. List installed cores arduino-cli core list Show installed board platforms List available boards arduino-cli board listall Find correct FQBN Create a new sketch arduino-cli sketch new SketchName Auto-create .ino file and folder Compile a sketch arduino-cli compile --fqbn /path/to/sketch Builds .bin, .elf, .hex files Export binary to specific folder arduino-cli compile --fqbn --output-dir ./build /path/to/sketch Save compiled .bin neatly Upload to board arduino-cli upload -p /dev/ttyUSB0 --fqbn /path/to/sketch Flash sketch to connected device Install a library arduino-cli lib install "LibraryName" Like arduino-cli lib install "ArduinoJson" Install library from GitHub git clone ~/Arduino/libraries/LibraryName For non-indexed libraries Update library index arduino-cli lib update-index Good to run before installing List installed libraries arduino-cli lib list Shows your libraries Show CLI version arduino-cli version Check current Arduino CLI version Upgrade CLI Download latest release manually from Arduino CLI GitHub mosquitto_sub -h localhost -p 1883 -t "#" -v mosquitto_pub -t esp32 -m "{\"cmd\": \"fota\", \"id\": \"test-123\"}" arduino-cli board details -b esp32:esp32:XIAO_ESP32S3