A user-friendly interactive CLI tool that bridges the gap between Arduino IDE and arduino-cli, perfect for developers transitioning to command-line workflows.
Arduino Interactive CLI (aci) is designed for developers who want to harness the power of arduino-cli without the intimidation of raw command-line interfaces. It provides an intuitive, menu-driven experience while maintaining the efficiency and control of CLI workflows.
Perfect for:
- Developers transitioning from Arduino IDE to CLI
- Advanced users seeking faster workflows
- Anyone who wants a polished TUI experience for Arduino development
- Board Management: Select and configure Arduino boards with ease
- Sketch Operations: Create, edit, compile, and upload sketches
- Bootloader Support: Upload for both old and new bootloaders
- Library Management:
- Install libraries from the Arduino ecosystem
- View installed libraries
- Search and compile library examples
- Core Installation: Support for ESP8266, ESP32, and other 3rd-party cores
- Serial Monitor: Built-in serial communication (V1.0.3+)
- Auto-dependency Management: Automatically installs required tools
- Beginner-Friendly Examples: Built-in starter code (Blink, Serial, etc.)
- TL;DR documentation for quick reference
- Nushell and Fish shell support
Try before installing:
curl -sSL https://raw.githubusercontent.com/Vaishnav-Sabari-Girish/arduino-cli-interactive/refs/heads/main/bash_shell_script/main.sh | bashThe easiest installation method with automatic dependency management:
brew install vaishnav-sabari-girish/arduino-cli-interactive/aciFirst-time setup:
-
Create a GitHub Personal Access Token (PAT) for update notifications:
- Visit GitHub Token Settings
- Create a "Tokens (Classic)" with
repopermissions
-
Add to your shell configuration (
~/.bashrcor~/.zshrc):export ACI_GITHUB_TOKEN="your_token_here"
-
Reload your shell:
source ~/.bashrc # or ~/.zshrc
For Bash script package manager users:
basher install Vaishnav-Sabari-Girish/arduino-cli-interactiveRun with: aci.sh
Note: Manual installation of dependencies required: gum, timer, arduino-cli, and homebrew. If using Basher, ensure Homebrew is installed and added to your PATH.
To upgrade:
basher uninstall Vaishnav-Sabari-Girish/arduino-cli-interactive
basher install Vaishnav-Sabari-Girish/arduino-cli-interactiveClone from your preferred platform:
# GitHub
git clone https://github.com/Vaishnav-Sabari-Girish/arduino-cli-interactive.git
# Codeberg
git clone https://codeberg.org/Vaishnav-Sabari-Girish/arduino-cli-interactive.git
# Gitea
git clone https://gitea.com/Vaishnav-Sabari-Girish/arduino-cli-interactive.git
cd bash_shell_script
chmod +x main.sh
./main.shAdd to your shell configuration:
alias aci="/path/to/arduino-cli-interactive/bash_shell_script/main.sh"Then reload: source ~/.bashrc or source ~/.zshrc
Note: Homebrew installation handles dependencies automatically. Manual installation only needed if installing from source or using Basher.
Recommended: Homebrew
If you don't have Homebrew installed:
macOS/Linux:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Windows Users: Use Windows Subsystem for Linux (WSL) and follow Linux instructions. Learn WSL: NetworkChuck's WSL Tutorial
After installing Homebrew:
brew update
brew install arduino-cliAlternative: Installation Script (Linux/macOS/WSL only)
curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | shPre-built Binaries: Available at arduino-cli releases
π arduino-cli Documentation
A TUI framework by Charm:
# macOS or Linux
brew install gum
# Arch Linux
pacman -S gum
# Nix
nix-env -iA nixpkgs.gum
# Flox
flox install gum
# Windows (via WinGet or Scoop) - WSL recommended
winget install charmbracelet.gum
scoop install charm-gumInteractive progress bar alternative to sleep:
brew install caarlos0/tap/timerInstall Arduino AVR core for basic boards:
arduino-cli board listall
arduino-cli core install arduino:avrSimply type aci in your terminal (or aci.sh if installed via Basher).
brew update && brew upgrade aci# Delete old installation, then:
git clone https://github.com/Vaishnav-Sabari-Girish/arduino-cli-interactive.git
cd bash_shell_script
chmod +x main.sh
./main.shbasher uninstall Vaishnav-Sabari-Girish/arduino-cli-interactive
basher install Vaishnav-Sabari-Girish/arduino-cli-interactivebrew uninstall aci
brew untap vaishnav-sabari-girish/arduino-cli-interactive- π GitHub Pages
- π Codeberg Pages
Generated using onefetch and tokei
We welcome contributions! Please see our guidelines:
Featured On:
Licensed under Apache 2.0



