AVR-GCC 10.1.0 for Windows 32 and 64 bit

This is where I’ll be uploading builds of AVR-GCC for Windows 32 and 64 bit, which will also include Binutils, AVR-LibC, AVRDUDE, Make and GDB. I’ll be trying to keep the builds up to date with the latest tool releases when I can.

The binaries are built from source on a Debian 10 virtual machine with MinGW (GCC 9.1.0 and older were built on an Arch Linux VM), apart from AVRDUDE where the pre-built binaries are obtained from the official download area. Both 32 bit and 64 bit Windows binaries are provided. There’s probably no benefit from using the 64 bit stuff, but all the cool kids are doing it so why not.
A bash script for building AVR-GCC, AVR-Binutils, AVR-LibC and AVR-GDB from source is also provided below, making it super easy to build these tools for yourself.

Included tools

Tool Version
GCC 10.1.0
Binutils 2.34
AVR-LibC SVN with extras
GDB 9.2
AVRDUDE 6.3 (Not included in Linux release)
Make 4.2.1 (Not included in Linux release)

Downloads

LATEST
Download
avr-gcc-10.1.0-x64-windows.zip (97.6 MB)
AVG-GCC 10.1.0 Windows x64 (64 bit)
Downloaded 7055 times
MD5: E30BCC2DF73A822D6E8711810FC39CC4

LATEST
Download
avr-gcc-10.1.0-x86-windows.zip (95.9 MB)
AVG-GCC 10.1.0 Windows x86 (32 bit)
Downloaded 1632 times
MD5: 988122A127086CD234C71E1E27067DAE

LATEST
Download
avr-gcc-10.1.0-x64-linux.tar.bz2 (74.4 MB)
AVG-GCC 10.1.0 Linux x64
Downloaded 876 times
MD5: 91D86BD07EC432E311BC49112FCFC1EC

Upgrading the Arduino IDE

Upgrading the Arduino IDE is pretty easy, though there could be some incompatibilities with certain libraries. Only tested with Arduino 1.8.13.

  1. Download and extract one of the downloads above
  2. Navigate to your Arduino IDE folder
  3. Go to [hardware/tools]
  4. Move the [avr] folder somewhere else, like to your desktop (renaming the folder won’t work, Arduino has some auto-detect thing which sometimes gets confused)
  5. Move the extracted folder from earlier to the [tools] folder and rename it to [avr]
  6. Copy [bin/avrdude.exe] and [builtin_tools_versions.txt] files and [etc] folder from the old [avr] folder to the new one
  7. Done! Open up the Arduino IDE, load up the Blink example, upload it to your Arduino and make sure the LED is blinking!

Known Issues

None

Build Script

This build script will install the required packages, create directories and build the tools from source. This should work on Debian 8+, Ubuntu 16.04+, CentOS 7 and maybe Arch.

Building takes about 1 hour 45 minutes on an Debian Linux virtual machine with 4 cores i5 2500K @ 4GHz and 2GB RAM.

111 comments

4 pings

Skip to comment form

    • Karanbir Soin on December 28, 2020 at 7:15 am
    • Reply

    The file averdude.conf in the etc folder needs to be replaced with the avrdude.conf in your build. . After this I can upluad the sketch using programmer USBASP

    • Karanbir Soin on January 6, 2021 at 2:03 pm
    • Reply

    I upgraded the Arduino IDE as listed on this page.
    The code does not upload. This is the error

    *****
    Arduino: 1.8.13 (Windows 10), Board: "Optiboot on 32-pin cpus, 16MHz, ATmega328p"
    [ADMIN EDIT: shortened massive compile log]
    avrdude: Version 6.3, compiled on Feb 17 2016 at 09:25:53
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
             Copyright (c) 2007-2014 Joerg Wunsch
             System wide configuration file is "D:\Arduino_1.8.13\arduino-1.8.13\hardware\tools\avr/etc/avrdude.conf"
    avrdude: error at D:\Arduino_1.8.13\arduino-1.8.13\hardware\tools\avr/etc/avrdude.conf:1133: programmer type jtagice3_updi not found
    avrdude: error reading system wide configuration file "D:\Arduino_1.8.13\arduino-1.8.13\hardware\tools\avr/etc/avrdude.conf"
    avrdude: error reading system wide configuration file "D:\Arduino_1.8.13\arduino-1.8.13\hardware\tools\avr/etc/avrdude.conf"
    1. Hi Karanbir, I’ve updated the Arduino instructions. bin/avrdude.exe from the old avr folder needs to be copied to the new one.

    • David Watson on January 21, 2021 at 11:45 pm
    • Reply

    I have a question rather than a comment. I’ve just done a new install of Linux Mint 20, installed Arduino 1.8.13 via the software manager which came with avr-gcc 5.4 (2015). Downloaded your binaries and swapped out the necessary files. I have a test unit that record the compiler version and then outputs that info when reset thereby confirming it was compiled with 10.1.0. From terminal however, I enter avr-gcc –version and I still show 5.4. I’m curious to run Arduino-cli and don’t want 5.4 hijacking my build. Any idea how to completely eradicate 5.4 from the system?

    1. I would think avr-gcc was installed as its own package, so searching for the avr-gcc package in the software manager (might be called gcc-avr) and choosing uninstall might do the trick.

Leave a Reply to Henning Cancel reply

Your email address will not be published.

Are you human? *