Arduino Neovim Configuration
This directory contains the Neovim configuration for Arduino development, using Arduino-Nvim with LazyVim.
Installation
- Copy
lua/plugins/arduino.luato your LazyVim plugins directory (e.g.~/.config/nvim/lua/plugins/) - Copy
.arduino_config.luato your Arduino project root
Custom Keybinds
| Keybind | Command | Description |
|---|---|---|
<Leader>mc |
:InoCheck |
Compile and verify sketch |
<Leader>mu |
:InoUpload |
Upload sketch to board |
<Leader>ms |
:InoStatus |
Display board, port & FQBN status |
<Leader>mg |
:InoGUI |
Open GUI for board/port selection |
<Leader>mm |
:InoMonitor |
Open serial monitor |
<Leader>ml |
:InoLib |
Open library manager |
<Leader>mb |
:InoSelectBoard |
Select Arduino board |
<Leader>mp |
:InoSelectPort |
Select Arduino port |
<Leader>mr |
:InoUploadReset |
Upload with manual reset (UNO R4 WiFi) |
Board Configuration
Edit .arduino_config.lua to set your board, port, and baudrate:
return {
board = "studuino:avr:studuino",
port = "/dev/ttyUSB0",
baudrate = "115200",
}
Requirements
The repository setup script can install the command-line prerequisites with:
./setup.sh --with-editor
This installs arduino-cli, the clang package that provides clangd, neovim, and arduino-language-server on Arch Linux. The Neovim plugin dependencies are:
- Telescope.nvim
- nvim-lspconfig for Neovim versions older than 0.11