Build and upload Arduino sketches with arduino-cli: pick board and port from the status bar, verify with errors in Problems, upload, open the serial monitor, and install libraries and cores.
Maintained. No sign-in. No telemetry. Works in VS Code, Cursor, Windsurf, VSCodium and other editors that use Open VSX.
Features



- Board and port in the status bar. Open a sketch and pick the board and serial port from the status bar. Connected boards are listed first, with their port, and every installed board is available. The choice is saved in the sketch's
sketch.yaml (default_fqbn, default_port), the same file arduino-cli and Arduino IDE 2 use, so it follows the sketch.
- Verify and Upload from the ✓ and → buttons in the editor's title bar, or Ctrl+Alt+R and Ctrl+Alt+U. Output appears in the terminal, and compiler errors and warnings land in the Problems panel at the right line.
- Serial monitor in a terminal at the baud rate you choose.
- Libraries and boards. Search and install libraries by name, and install board platforms (
arduino:avr, esp32:esp32, rp2040:rp2040…).
- New Sketch creates a sketch folder and opens it.
.ino files open as C++, so the C/C++ extension or clangd can give IntelliSense.
- Replaces Microsoft's deprecated Arduino extension, and works in VS Code, Cursor, Windsurf and VSCodium. Needs arduino-cli.
Commands
| Command |
What it does |
Nifty Tools for Arduino: Verify (Compile) |
Compile the sketch (Ctrl+Alt+R) |
Nifty Tools for Arduino: Upload |
Compile and upload (Ctrl+Alt+U) |
Nifty Tools for Arduino: Open Serial Monitor |
Open the serial monitor |
Nifty Tools for Arduino: Select Board… / Select Port… |
Choose the board or port |
Nifty Tools for Arduino: Install Library… |
Search and install a library |
Nifty Tools for Arduino: Install Board Platform… |
Install a core |
Nifty Tools for Arduino: New Sketch… |
Create a sketch |
Settings
| Setting |
Default |
What it does |
nifty.arduino.cliPath |
|
Path to arduino-cli, if it isn't on the PATH |
nifty.arduino.baudRate |
9600 |
Serial monitor baud rate |
nifty.arduino.compileArguments |
[] |
Extra arguments for arduino-cli compile |
Arduino is a trademark of Arduino SA. This extension isn't affiliated with or endorsed by Arduino.
Install
- VS Code: search for "Nifty Tools for Arduino" in the Extensions view, or install from the Visual Studio Marketplace.
- Cursor, Windsurf, VSCodium, Kiro, Antigravity: install from Open VSX.
Privacy
This extension collects no telemetry and needs no account.
- Nifty Struct Layout: C/C++ Struct Padding: See the memory layout of C and C++ structs: offsets, sizes, alignment and padding on hover and inline, a fix that reorders fields to save space, and hex, binary and char hovers for numbers. (Open VSX)
- Nifty .NET Explorer: Solution & Test Explorer: A solution explorer and test explorer for .NET in VS Code, Cursor, Windsurf and VSCodium: projects, references and files from .sln/.slnx, and xUnit, NUnit and MSTest tests in the Testing view. (Open VSX)
- Nifty C# Scratchpad: Run C# Snippets & NuGet: Run C# snippets instantly with NuGet packages and rich Dump() output, a LINQPad-style scratchpad and Polyglot Notebooks replacement. (Open VSX)
- Nifty C# Templates: New Class, Record & Namespace: New C# class, interface, record, enum, test and controller files with the right namespace, plus namespace syncing. (Open VSX)
- Nifty Code Runner: Run Code in 25+ Languages: Run the current file or selection in 25+ languages in the terminal, with input support, your own commands and no telemetry. (Open VSX)
- Nifty Colors: Swatches & Picker in Every Language: Colour swatches and VS Code's picker in any file: CSS, Tailwind, Flutter, Swift, Android, C# and Unity colours. Convert formats and check WCAG contrast on hover. (Open VSX)
See all 100+ Nifty extensions and web tools at https://getnifty.dev
| |