AVRDUDESS is a GUI for AVRDUDE, a tool for programming Atmel microcontrollers.

Some key features:

  • Supports all programmers and MCUs that AVRDUDE supports
  • Supports presets, allowing you to change between devices and configurations quickly and easily
  • Drag and drop files for easy uploading
  • Automatically lists available COM ports
  • Cross-platform with the use of Mono for Linux & Mac OS X

setup-AVRDUDESS-2.8.exe (858.45 kB)
AVRDUDESS 2.8 (Windows installer)
Downloaded 13259 times
MD5: 39303BD134CD31674322C5176ABC6204

avrdudess_20190209.zip (578.27 kB)
AVRDUDESS 2.8 (Binaries, any OS)
Downloaded 3987 times
MD5: E79A697DA5456C87B9E5C5901E680CB1

Source available on GitHub

Requires .NET Framework 2.0 SP1 or newer. All systems since Windows Vista will have the required version already installed.

Linux & Mac OS X
Can be ran using Mono.
Has not been tested on OS X, but should work.

Installing on Ubuntu 18.04
Install Mono (this is the minimum required, you can use mono-complete for a full install):
sudo apt-get install libmono-system-windows-forms4.0-cil
On older versions of Ubuntu you might need to use libmono-winforms2.0-cil instead.

Install AVRDUDE and AVR-GCC (for avr-size):
sudo apt-get install avrdude gcc-avr

Run AVRDUDESS with mono, you might have to run as root (sudo) so that AVRDUDE can access ports if you haven’t changed any permissions or rules.d stuff:
mono avrdudess.exe


26 pings

Skip to comment form

    • Silviu on October 23, 2018 at 11:13 am
    • Reply

    Hi Zak,

    I use USBASP and I need to use PDI interface to write the ATXMEGA flash memory,
    Here is the project and the patches:
    which can be used.
    But I didn’t have success to add this to your wonderful tool AVRDUDESS. I’m sure that you have a lot of experience in this kind of things. So, do you think that can you find some time to add this patch to your AVRDUDESS in order to works also on PDI for ATXMEGA and USBASP?

    Or if you find any solution here, it will be very helpful for me!

    Many many thanks!

    1. Hey Silviu, it’s not AVRDUDESS that needs to be updated for PDI support, but AVRDUDE (which is in the install location of AVRDUDESS) and the USBasp programmer firmware. It looks like the things you need can be downloaded from here https://gearfoxblog.wordpress.com/2016/05/29/usbasp-with-pdi/ (near the bottom), replace the avrdude.exe that comes with AVRDUDESS with the one from the link. I’ll also see about including the PDI stuff in avrdude in a future release.

    • Adam Cullen on November 1, 2018 at 6:29 am
    • Reply

    Hi Zak,

    I’ve just installed AVRDUDESS on a Win 10 x64 machine. I get the following errors:

    ERROR: avrdude is missing!
    ERROR: avrdude.conf is missing!
    WARNING: Programmer ‘usbasp’ not found
    WARNING: MCU ‘t85’ not found

    avrdude and avrdude.conf are in the AVRDUDESS folder. usbasp programmer was in the usb port and driver correctly installed.

    I suspect that the issue is that AVRDUDESS is installed in C:\Program Files (x86)\AVRDUDESS rather than C:\Program Files\AVRDUDESS? Is there any way to address this?

    Thanks in advance,

    1. Hey Adam, Program Files (x86) is the correct place since it’s a 32-bit application. It might be your anti-virus blocking it for some reason, try disabling it for a bit. If that doesn’t work try manually setting avrdude and avrdude.conf locations to “C:\Program Files (x86)\AVRDUDESS” in the Options dialog, also check to make sure avrdude.exe and avrdude.conf are actually in that location (they should have been installed there).

    • Jason on December 9, 2018 at 7:46 am
    • Reply

    i scanned with immunet by clamav and found it as having Trojan down loader and deleted the file . can you fix program so that it is not detected as threat. i had to reinstall all the chain to get it working

    1. Hey Jason, it would be best to report the false positive to the AV vendor. Alternatively you can try the .zip download instead of the .exe installer.

    • Calvin on January 16, 2019 at 1:00 am
    • Reply

    Are the Arduino Pro Micro clones supported? Uses the ATmega32u4 chip. That chip is not showing up on the MCU list and using the detect button results in this:
    avrdude.exe: stk500_recv(): programmer is not responding
    avrdude.exe: stk500_getsync() attempt 10 of 10: not in sync: resp=0xa5
    avrdude.exe: ser_drain(): read error: The device does not recognize the command.

    I have Arduino selected as the programmer and I’ve selected com 5 (from windows 10 device manager). I have uninstalled and reinstalled your program multiple times hoping that would solve the issue. I have tried it on 2 of the pro micros with the same results. They are supposed to have the Leonardo bootloader installed on them.

    1. Hey Calvin, it looks like the main problem is that the Pro Micro enters the bootloader by opening the serial port at 1200 baud then closing it. AVRDUDESS doesn’t have support for doing that at the moment (was mentioned here https://github.com/zkemble/AVRDUDESS/issues/3). The Arduino IDE also uses ‘avr109’ as the programmer rather than arduino, I’m not sure if they’re compatible, but once in the bootloader try using ‘Atmel AppNote AVR109 Boot Loader’ programmer instead.

        • Calvin Brown on January 17, 2019 at 5:10 am
        • Reply

        I was finally able to get it to work yesterday using the Arduino IDE with the Sparkfun profiles for pro micro. I bought the pro micro’s for an arcade controller project. I plan to use one to make a spinner control and the other for a trackball.

    • Dmitry on January 21, 2019 at 7:15 am
    • Reply

    I have selected:
    Programmer – “Atmel-ICE (ARM/AVR) in JTAG mode”
    Port – USB
    MCU – ATmega32
    So, command line was right: “-c atmelice -p m32 -P usb”
    Then have pressed “Detect” button.

    In the message window:
    avrdude.exe: jtag3_initialize(): part ATmega8 has no JTAG interface

    Same command line passed to avrdude directly works fine:
    …avrdude -c atmelice -p m32 -P usb
    avrdude: AVR device initialized and ready to accept instructions
    Reading | ################################################## | 100% 0.11s
    avrdude: Device signature = 0x1e9502 (probably m32)
    avrdude: safemode: Fuses OK (E:FF, H:08, L:3F)
    avrdude done. Thank you.

    1. Hi Dmitry,
      Avrdude needs an MCU specified before it will attempt to do anything, but the MCU is not known if it’s doing an auto-detect so I hardcoded in the ATmega8. However, there are multiple types of programming interfaces (debugWire, HVSP, ISP, JTAG, PDI, PP, TPI), so the interface avrdude uses depends on the programmer and MCU combination. Some programmers will automatically use the correct interface based on the MCU (like the USBASP will switch between ISP and TPI), while other programmers need to have it manually set (like the Atmel ICE).
      In your case it’s trying to use the JTAG programmer with an ATmega8 which doesn’t have JTAG, so it fails.
      I’ll have a go at making AVRDUDESS have a guess at choosing an MCU with the correct interface when auto-detecting for the next version.

    2. Hi zak,

      Δ° want to use 2 usbasp at the same time.
      or how to select the two usbasp installed on the computer during uploading atmega328.?

      1. Hey Bahadir, have a look at this, it’s for the USBtinyISP, but might work for USBasp too – https://electronics.stackexchange.com/questions/130984/can-avrdude-address-individual-usbtiny-programmers you will need to put the usb:bus-0:\\.\libusb0-0001--0x1781-0x0c9f stuff into the “Port (-P)” box just under the programmer selection.

    • jimmy on January 24, 2019 at 12:11 pm
    • Reply

    Hello, i can detect the processor and read the fuses just fine with avrdudess but when trying to burn the bootloader with arduino ide i get following error:

    avrdude: error: program enable: target doesn’t answer. 0
    avrdude: initialization failed, rc=-1
    Double check connections and try again, or use -F to override
    this check.

    I am sure my connections are good, I think otherwise it wouldn’t be possible to read the fuses, or is it? I’m using USBASP as programmer

    1. Hey Jimmy, connections are fine if fuses can be read. It might be that the Arduino IDE is running the programmer too fast for the controller. Most new AVRs run at 1MHz from the internal RC. If it’s an ATmega328 then try setting the low fuse to 0xE2 so that it runs at 8MHz.

    • Mik on January 24, 2019 at 9:28 pm
    • Reply

    Hello, in the new version 2.7 does not work presets settings from version 2.6

    1. Hey Mik, I’m not having any troubles with presets form older versions. Could you give some more details about what exactly happens (do they still show up in the list, etc)?

        • Mik on January 24, 2019 at 11:02 pm
        • Reply

        Thank you for your response,
        after upgrading to v 2.7 does not work from preset version 2.6 and when installing clean in 2.7, the default profile will still be in the preset from version 2.7 when the program is restarted again, even if I choose another setting that is active.

        1. Ah yeah, I’ve changed it so that instead of saving the preset you last used it will now save all of the other configuration settings. That way it will keep things like the flash and EEPROM file locations, as it is easier to select a preset than it is to setup all the other things each time. You can also specify a preset to load by passing the name of it as the first argument like:

          "C:\Program Files (x86)\AVRDUDESS\avrdudess.exe" "Arduino as ISP"

            • Mik on January 24, 2019 at 11:36 pm

            It does not matter, I’m going back to version 2.6 this is unclear, I have the same MCU with other fuses setting and I would have to always re-select the profile to make sure which settings are selected. Thank you for info MIK

            • Mik on January 24, 2019 at 11:45 pm

            p.s. logical is the display of the name of the selected profile (version 2.6 and below) if I set anything and is still shown ” default ” so it is a step back.


          1. Yes, it no longer loads the last used preset. It loads each individual setting instead. If you load a preset, then close and open again it will still have all of the same settings, but they are no longer associated with a particular preset.

            However, you are right that it should not display “Default” when opening the program, a blank entry would be better.

            Presets were designed to be a one-way set of configuration options. I guess I should perhaps implement a “Profile” system, where you load a profile and any changes are automatically saved to that profile, and the last used profile is then loaded when the program opens.

            • Mik on January 25, 2019 at 5:25 am

            Yes, but that’s how it worked until version 2.6. In version 2.7 I choose any profile, it will be displayed default and it is not clear and I say it all the time.

    • Adriano on January 26, 2019 at 9:19 am
    • Reply

    Ciao ,Zack

    I made Chan HVP programmer https://evertdekker.com/?p=504 and I want to know if is possible to use it with Avrdudess for programm rstdsbl attiny 85 or reset fuse bits ,i can use xp and windows7 with an old pc that have a paralel port .Usbasp chinese works very good with libusbK driver on both xp and 7,but now ,i need something HVP home made (i don’t want to spend ,i am beginner with Mcu )

    1. Hey Adriano, I have no idea if it’ll work, hah, you will have to try it. This program is only a UI frontend for avrdude. There are tutorials for using an Arduino as a HV programmer which will probably be easier than trying finding a computer with a parallel port, like this one https://mightyohm.com/blog/2008/09/arduino-based-avr-high-voltage-programmer/

    • juergen on January 28, 2019 at 1:22 am
    • Reply

    I used avrdudess 2.6 for some time and got the update message today.
    So i downloaded the 2.7 installer exe and tried to run it.
    After starting, it from an explorer widow, it locks it for several minutes (ok, i am using a cheap laptop which is not very fast…).
    After that, i only get a borderless, not resizeable, window which contains weird (asian style) characters, a scrollbar and a close [X] icon on the top right.

    So whats wrong with it (or my laptop)?

    As a solution i downloaded the zip and just copied its files over the 2.6 installation… πŸ˜€

    A yeah… I use Windows 10 pro x64 insider preview…

    1. Oooook, that’s pretty weird, could you post a screenshot of it? There hasn’t been any changes since 2.6 that might cause something like that :/

        • juergen on January 30, 2019 at 4:46 am
        • Reply

        Ok. I made a screenshot but i have no idea how to post it here.

        1. You’ll need to upload it to an image hosting site like https://imgur.com and post the link here.

            • juergen on January 30, 2019 at 6:52 pm

            Ok. Made it.
            So here is the link:

          1. Huh, I’ve never seen that before! Maybe something got corrupted? Have you tried downloading the installer again and running it?

            • juergen on January 31, 2019 at 12:46 pm

            I downloaded it 3 or 4 times. Everytime it fails.
            So now i got it.
            I enabled in Windows Setup the .net s.5 features (sorry, do not remember them…) as the .net 3.5 installer also refuses to work..
            Then i tried to install avrdudess once more.
            Now, the cryptic popup turned out to be awindows defender message, telling me that i does not alow the installaton of an untrusted app and s on… πŸ˜‰
            Clicking on ore information in the popup enabled the ‘install anyway’ button and the installer starts.

            Very strange.

    • Adriano on January 29, 2019 at 1:45 pm
    • Reply

    Thank you for response ,
    i will buy an Arduino ,for now i try to use avrdudess(avrdude )with Pony Prog STK200 i have , and i give this error
    ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
    avrdude.exe: can’t open device “giveio”

    avrdude.exe: failed to open parallel port “LPT1”

    avrdude.exe done. Thank you.

    Mine STK200 Pony Prog with pony prog work very well
    I try to install giveio sys in windows 32 /drivers and make the same error
    i try to install giveio in c /avrdudess and the same
    How can i fix this
    Thank you very much

    1. I don’t think I’ve used giveio stuff before. I think it would be best to google “avrdude giveio”, lots of stuff there.

    • Silviu on January 31, 2019 at 11:14 pm
    • Reply

    Hello Zak,

    Many thanks for you tool, your work and your efforts to keep it up to date. If you can to help me more, I need an advice from you. I used USBASP and I program ATXMEGA microcontrollers using PDI interface. The problem is after the flash programming using AVRSUDESS , the uC is not reseted, but if I press Detect button, the uC is reseted. Do you know how can I change the USBASP firmware, of if you have any other idea, to automatically RESET the uC after it is flashed?

    Many many thank!

    1. I’ve never used an xmega or the PDI interface for programming before, but this sounds like an avrdude issue rather than an avrdudess thing. You can download the USBasp firmware at the offical site.

    • Evan on February 6, 2019 at 5:03 pm
    • Reply

    Hi Zak,
    I cannot use your GUI with parallel port LPT1, even if avrdude works with it just fine. The reason is that, avrdude expects the keyword lpt1 in -P parameter in small letters and NOT LPT1 in caps, as your GUI uses. The same is true for the other standard ports. Names should be in small letters. I guess this is something easy to fix.
    Thank you.
    Awaiting a new release.

    1. Hey Evan, yes you’re right! LPT should be lower case, though the COM ports work with either upper or lower case. Easy fix πŸ™‚

    • Hamid on February 16, 2019 at 12:36 pm
    • Reply

    Didn’t work on MacOS 10.14.3
    see description here

    1. Hey Hamid, it looks like you need to use the 32-bit version of Mono, which from what I can tell can be ran using the --arch=32 option.

      mono --arch=32 avrdudess.exe

    • janos on March 6, 2019 at 7:04 am
    • Reply

    Greatt GUI. I cannot find ATmega48PA in the supported MCUs list only 48,48P,48PB. Should I use any of those 3 or it is not recommended?

    1. Hey Janos, it looks like the PA and P versions are functionally the same and have the same signatures, just that the PA has lower current consumption. Selecting the ATmega48P should work.

    • Darius on March 18, 2019 at 4:00 pm
    • Reply

    It does not support AT89S52 (ISP). Can you count in the future that it will be?

    1. Hi Darius, looks like someones already made a tutorial on adding the AT89S52 to AVRDUDESS – https://www.instructables.com/id/Programming-AT89s52-Using-USBasp-ISP-Programmer/
      I’ll add it into the next release.

        • Bercik on March 19, 2019 at 2:28 pm
        • Reply

        Hi to all πŸ™‚
        Darius, you can also download the latest config file from avrdude repo: http://svn.savannah.gnu.org/viewvc/avrdude/trunk/avrdude/avrdude.conf.in by clicking “download” link next to to the last revision number and save it as “avrdude.conf”. The actual rev is 1422. (BTW: It works only with version 6.3 of avrdude).
        Zak, you could add this to next release of avrdudess.

          • Bercik on March 19, 2019 at 2:34 pm
          • Reply

          Ok, now I see that svn file doesn’t have AT89S52 specs, although it’s latest. :/

    • Tash on April 5, 2019 at 12:50 am
    • Reply

    Hi Zak. Thanks for the great program.
    How can I backup presets in case of reinstalling Windows, transferring to another PC, etc.? Where are they generally stored? As I understand it, not in the presets.xml file located in the program folder. I would like to do this automatically, saving the preset file using my backup program, not manually using the “Export” option. But I do not know where the presets are stored.

    1. Hi Tash, presets and configuration files are stored in %appdata%/AVRDUDESS.

    • Tash on April 5, 2019 at 2:16 pm
    • Reply

    Thank you!

    • Rafael Cabelo on May 5, 2019 at 2:58 pm
    • Reply

    Hi, how to use with Arduino as ISP? I have the Arduino UNO programmed as ISP and I am trying to upload to another Atmega8. At avrdue application I select programmer “Arduino” and the respetive COM port but when I click “detect MCU” it does not recognizes the Atmega8. Its detects the Arduino UNO only.

    1. Arduino as ISP is always a difficult one to get working. Try setting the programmer to one of the “Atmel AVR ISP” variants, or “Atmel STK500”. Make sure baud rate is set to 19200.

    • Karanbir on May 15, 2019 at 4:48 am
    • Reply

    When I use avrdudessI I get this error when detect is clicked

    // WARNING: Unable to detect MCU

    avrdude.exe: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor=’www.fischl.de’ product=’USBasp’

    avrdude.exe done. Thank you. //
    and when i use this command from command prompt
    // D:\Arduino_1.8.9\arduino-1.8.9\hardware\tools\avr\bin>avrdude -C..\etc\avrdude.conf -c usbasp -p m328p -P usb -B 0.5 -F -e -U flash:w:”D:\Arduino\usbasp.2011-05-28\bin\firmware\usbasp.atmega8.2011-05-28.hex”:a //
    The response is
    // avrdude: set SCK frequency to 1500000 Hz
    avrdude: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.03s

    avrdude: Device signature = 0x1e9307 (probably m8)
    avrdude: Expected signature for ATmega328P is 1E 95 0F
    avrdude: erasing chip
    avrdude: set SCK frequency to 1500000 Hz
    avrdude: reading input file “D:\Arduino\usbasp.2011-05-28\bin\firmware\usbasp.atmega8.2011-05-28.hex”
    avrdude: input file D:\Arduino\usbasp.2011-05-28\bin\firmware\usbasp.atmega8.2011-05-28.hex auto detected as Intel Hex
    avrdude: writing flash (4700 bytes):

    Writing | ################################################## | 100% 1.24s

    avrdude: 4700 bytes of flash written
    avrdude: verifying flash memory against D:\Arduino\usbasp.2011-05-28\bin\firmware\usbasp.atmega8.2011-05-28.hex:
    avrdude: load data flash data from input file D:\Arduino\usbasp.2011-05-28\bin\firmware\usbasp.atmega8.2011-05-28.hex:
    avrdude: input file D:\Arduino\usbasp.2011-05-28\bin\firmware\usbasp.atmega8.2011-05-28.hex auto detected as Intel Hex
    avrdude: input file D:\Arduino\usbasp.2011-05-28\bin\firmware\usbasp.atmega8.2011-05-28.hex contains 4700 bytes
    avrdude: reading on-chip flash data:

    Reading | ################################################## | 100% 1.07s

    avrdude: verifying …
    avrdude: verification error, first mismatch at byte 0x0000
    0xff != 0x3b
    avrdude: verification error; content mismatch

    avrdude: safemode: Fuses OK (E:FF, H:C9, L:FF)

    avrdude done. Thank you. //
    Can you guide me please as to what is happening .
    Regards for your time.

    1. Hey Karanbir, have you tried running AVRDUDESS as admin? If that doesn’t work, what happens when you run the avrdude.exe in the AVRDUDESS install folder from command promt?

        • Karanbir on May 16, 2019 at 1:54 am
        • Reply

        Hi Zak,
        Thanks for your deliberations. In one of the comments on pg 3 you had suggested using Zadig to install the drivers. I did that and now it works ok.
        I was baffled as this behaviour occurred suddenly while trying to program an Arduino Uno Atmega through the six pin ICSP header. Must’ve mixed up something.. I am relieved that this is over.

    • Karanbir on May 18, 2019 at 4:49 pm
    • Reply

    Hi Zak,
    Does AVRDUDESS work with this firmware for usbasp


    1. Dunno, you’ll have to try it πŸ˜›

    • Karanbir on May 19, 2019 at 5:41 pm
    • Reply

    Tried it it works!

  1. […] are going to use third-party GUI Application for this which is also open source. You can download AVRDUDESS here. You may use command line version if you feel comfortable but I will recommend using this […]

  2. […] is supported by AVRDUDE. There is a graphical front-end for AVRDUDE that makes life easier called AVRDUDESS. For setting the fuse bits, this also […]

Leave a Reply

Your email address will not be published.

Are you human? *