kukucaicndy/embedded_ai_skills/esp32-dev-arduino

Claude Code and agent skill by kukucaicndy/embedded_ai_skills

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

ESP32 Arduino CLI development on Windows/Linux/macOS. Invoke when user chooses Arduino framework for ESP32. Handles arduino-cli install, ESP32 core setup, compile/upload/monitor via CLI.

Install

npx vskill@latest install kukucaicndy/embedded_ai_skills/esp32-dev-arduino

SKILL.md

ESP32 Development with Arduino CLI

Platform Support

OSTerminalInstall MethodPort Format
WindowsPowerShellwinget install ArduinoSA.CLI -eCOM3
Linuxbash`curl ... \sh`/dev/ttyUSB0
macOSbash/zshbrew install arduino-cli/dev/cu.usbserial-*

Overview

Arduino CLI is a single Go binary — no IDE, no Java. Completely independent from ESP-IDF.

Environment Setup

Step 1: Install arduino-cli

Check if already installed:

bash
arduino-cli version

If not found:

Windows:

powershell
winget install --id=ArduinoSA.CLI -e
# Or download: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Windows_64bit.zip

Linux:

bash
curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh
# Binary installs to ~/bin/arduino-cli, add to PATH

macOS:

bash
brew install arduino-cli
Step 2: Configure ESP32 Support (All Platforms)
bash
arduino-cli config init
arduino-cli config set board_manager.additional_urls "https://espressif.github.io/arduino-esp32/package_esp32_index.json"
arduino-cli core update-index
Step 3: Install ESP32 Core (~500MB)
bash
arduino-cli config set network.connection_timeout 600s
arduino-cli core install esp32:esp32

Downloads: platform core, xtensa/riscv GDB, esptool, openocd, mkspiffs, mklittlefs.

Step 4: Verify
bash
arduino-cli board listall | grep esp32

Chip Selection (FQBN)

FQBN = Fully Qualified Board Name. Format: esp32:<family>:<board>

ChipFQBNNotes
ESP32 (WROOM)esp32:esp32:esp32Default
ESP32-S3esp32:esp32:esp32s3AI, USB OTG
ESP32-C3esp32:esp32:esp32c3RISC-V, BLE
ESP32-C6esp32:esp32:esp32c6Wi-Fi 6, Zigbee
ESP32-H2esp32:esp32:esp32h2Thread/Zigbee
ESP32-P4esp32:esp32:esp32p4No wireless

Before Creating a Project

Ask the user to:

  1. Connect ESP32 to computer via USB
  2. Ensure the board is powered on
  3. Find the port:
  • Windows: Device Manager → COMx
  • Linux: ls /dev/ttyUSB*
  • macOS: ls /dev/cu.usbserial*
  1. Auto-detect:

``bash arduino-cli board list ``

Project Lifecycle

Create a Sketch
cpp
// sketch.ino
#include <Arduino.h>
void setup() {
Serial.begin(115200);
pinMode(LED_BUILTIN, OUTPUT);
Serial.println("Hello ESP32 Arduino!");
}
void loop() {
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
delay(500);
}
Compile
bash
arduino-cli compile --fqbn esp32:esp32:esp32 <sketch_dir>
Upload
bash
# Windows
arduino-cli upload -p COM3 --fqbn esp32:esp32:esp32 <sketch_dir>
# Linux
arduino-cli upload -p /dev/ttyUSB0 --fqbn esp32:esp32:esp32 <sketch_dir>
# macOS
arduino-cli upload -p /dev/cu.usbserial-1234 --fqbn esp32:esp32:esp32 <sketch_dir>
Serial Monitor
bash
arduino-cli monitor -p <PORT> -c baudrate=115200 # Ctrl+C to exit

Library Management

CommandPurpose
arduino-cli lib search "mqtt"Search
arduino-cli lib install "ESP32Servo"Install (NOT "Servo"!)
arduino-cli lib listList installed

Common ESP32 Libraries

LibraryInstall NamePurpose
WiFiBuilt-in #include <WiFi.h>Wi-Fi
BLEBuilt-in #include <BLEDevice.h>Bluetooth
ServoESP32ServoServo (NOT Servo)
MQTTPubSubClientMQTT
OLEDAdafruit SSD1306I²C Display

Arduino vs ESP-IDF API

AspectESP-IDFArduino
PWMledcSetup/ledcWriteanalogWrite
ServoN/AESP32Servo
Wi-Fiesp_wifi_*() C APIWiFi.begin()
GPIOgpio_set_level()digitalWrite()
Mix Arduino + IDF APIs
cpp
extern "C" {
#include "esp_wifi.h"
#include "esp_sleep.h"
}

Platform-Specific Troubleshooting

Windows
  • Board detection: Check Device Manager for COM port
  • Upload fails: Hold BOOT + tap EN
Linux
  • Serial permission: sudo usermod -a -G dialout $USER (re-login)
  • Port busy: sudo chmod 666 /dev/ttyUSB0
macOS
  • CP210x/CH340 may need driver: https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
  • Port format: /dev/cu.usbserial-*
All Platforms
  • Core download timeout: arduino-cli config set network.connection_timeout 600s
  • "Servo.h not found": Use ESP32Servo, not Servo

Full CLI Reference

CommandPurpose
arduino-cli versionShow version
arduino-cli config initInit config
arduino-cli core update-indexRefresh index
arduino-cli core install esp32:esp32Install ESP32 core
arduino-cli board listList connected boards
arduino-cli compile --fqbn esp32:esp32:esp32 <sketch>Compile
arduino-cli upload -p <PORT> --fqbn esp32:esp32:esp32 <sketch>Flash
arduino-cli monitor -p <PORT>Serial monitor
arduino-cli lib install <name>Install library

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
55
Repository forks
12
7-day trend score
20

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/kukucaicndy/embedded_ai_skills/esp32-dev-arduino/badge)](https://verified-skill.com/skills/kukucaicndy/embedded_ai_skills/esp32-dev-arduino)

Something wrong with this skill or its page? Tell us.