Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>AVR Builder & FlasherNew to Visual Studio Code? Get it now.
AVR Builder & Flasher

AVR Builder & Flasher

avr-tools-dev

| (0) | Free
Compile and flash AVR microcontroller projects with avr-gcc and avrdude (USBasp and other programmers) — no Makefile required.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

AVR Builder & Flasher

Compile and flash AVR microcontroller projects straight from VS Code using avr-gcc and avrdude — no Makefile required. Works with USBasp and any other avrdude-supported programmer.

GitHub LinkedIn Full User Guide

📖 Read the full user guide — installation, configuration reference, troubleshooting, and FAQ. 🔗 Built by Youssef Abdelhakem · More projects on GitHub

Prerequisites

Install these and make sure they're on your PATH (or point to them explicitly in settings — see below):

  • avr-gcc / avr-objcopy / avr-size (AVR-GCC toolchain)
  • avrdude
  • USBasp driver (Windows: libusb via Zadig; Linux: udev rule for the 16c0:05dc device; macOS: usually works out of the box with avrdude from Homebrew)

Quick checks:

avr-gcc --version
avrdude -v

Project layout

The extension expects your workspace to look like this (folders are configurable):

my-project/
  src/            <- all .c/.cpp files here (searched recursively)
    main.c
  build/          <- created automatically: .o, .elf, .hex

Commands

Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) or use the status bar buttons in the bottom right:

Command What it does
AVR: Build Compiles all sources, links, produces .hex
AVR: Flash Builds, then flashes the .hex via avrdude
AVR: Build and Flash Same as Flash (build always runs first)
AVR: Clean Deletes the output directory

Build/flash output streams live into the "AVR Builder" output channel.

Settings

Configure per-project in .vscode/settings.json (Workspace settings), or set defaults in your User settings. All are under the avrBuilder.* prefix.

{
  "avrBuilder.mcu": "atmega328p",
  "avrBuilder.fcpu": 16000000,
  "avrBuilder.programmer": "usbasp",
  "avrBuilder.port": "usb",
  "avrBuilder.baudRate": 0,
  "avrBuilder.sourceDir": "src",
  "avrBuilder.outputDir": "build",
  "avrBuilder.projectName": "",
  "avrBuilder.optimizationLevel": "-Os",
  "avrBuilder.extraCFlags": [],
  "avrBuilder.extraAvrdudeFlags": [],
  "avrBuilder.avrdudeConfigPath": "",
  "avrBuilder.avrGccPath": "avr-gcc",
  "avrBuilder.avrObjcopyPath": "avr-objcopy",
  "avrBuilder.avrSizePath": "avr-size",
  "avrBuilder.avrdudePath": "avrdude",
  "avrBuilder.showSizeAfterBuild": true
}

Notes:

  • port defaults to "usb", correct for USBasp (it's not a serial device). For serial programmers (Arduino-as-ISP, stk500, etc.) set it to your actual port, e.g. "COM5" or "/dev/ttyUSB0", and set baudRate (e.g. 19200 or 115200).
  • projectName controls the output .elf/.hex base name; leave blank to use the workspace folder's name.
  • If a tool isn't on your PATH, set its full path, e.g. "avrBuilder.avrGccPath": "C:\\avr-gcc\\bin\\avr-gcc.exe".

Installing the extension

You'll have received an avr-builder-1.0.1.vsix file. Install it with either method:

VS Code UI: Extensions view → ... menu (top right) → "Install from VSIX..." → select the file.

Command line:

code --install-extension avr-builder-1.0.1.vsix

Building from source (optional)

npm install
npm run compile
npx vsce package

This produces a fresh .vsix in the project root.

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft