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 & macOS
Like AVRDUDESS? Leave a tip!


AVRDUDESS-2.13-setup.exe (1.95 MB)
AVRDUDESS 2.13 (Installer for Windows Vista and newer)
Downloaded 54798 times
MD5: FC1C306CCA78D5FB3A1058F35EA44A46

AVRDUDESS-2.13-portable.zip (596.72 KB)
AVRDUDESS 2.13 (Portable for any OS)
Downloaded 22076 times
MD5: 42A5DD458425F18F82C82AE30A4D5934

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 & macOS
Can be ran using Mono.
Has not been tested on macOS, but should work. Might need the --arch=32 argument.
mono --arch=32 avrdudess.exe

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


36 pings

Skip to comment form

    • Dave on May 19, 2020 at 4:34 am
    • Reply


    I’m getting this error when i launch Avrdudess.exe on windows 7 Pro. It used to work fine up until recently. I tried both the installer and portable version still the same error. I tried disabled the AV still not working. I also tried another pc and it loads fine any idea why it doesn’t work on this computer anymore? Thanks

    ERROR: avrdude is missing!
    >>>: avrdude

    1. Hi Dave, in options make sure the avrdude location is blank so it tries to find it automatically. If it’s already blank then try setting it to the install location of avrdudess.

        • Dave on May 21, 2020 at 5:47 pm
        • Reply

        Thank you, I empty that field an it works now.

    • George on May 22, 2020 at 1:35 am
    • Reply

    Hey Zak,
    Is there a way to encrypt a hex file or an arduino code and upload it. Handy when sharing files but not the code itself.

    1. Hi George, hex files don’t contain your original code, but compiled code (in Intel Hex format). It can be disassembled, but then you end up with assembly code. If you really want to encrypt your stuff then you’ll need a bootloader that can decrypt it when uploading to the Arduino, like this one https://github.com/sirgal/AVR-EAX-AES-bootloader
      Make sure to set the lock bits so that the decrypted code can’t be read from the flash afterwards.

    • Joseph T Tannenbaum on June 17, 2020 at 2:06 am
    • Reply

    I just ran into a problem I don’t remember having before. I can load an Nano with the ch340 chip from the arduino ide, but it hangs in Avrdudess ver 2.12. Does avrdudess recognize the port with the ch340? I don’t remember if I loaded a nano this way before.

    1. The CH340 shows as a standard serial port so there shouldn’t be any issues there. Are you able to press stop when it hangs, and does it show anything in the console output?

    • Micha on July 2, 2020 at 6:08 pm
    • Reply

    Is there a way to load a preset automatically when it starts? I had set it up like this before, but I can’t remember how I did it. I don’t mean the “Load previous settings” Option. The presets always start with default and not with the last used preset.

    1. Hey Micha, you can specify the preset to as the first command line argument – C:/path/to/avrdudess.exe "Your Preset Name"

        • Micha on July 3, 2020 at 4:30 pm
        • Reply

        Hi Zak. Thank you for your answer. But unfortunately I still don’t understand exactly how to do it. I created a preset for my USBasp programmer at Preset Manager. But every time I open avrdudess again, the preset is back to default. I can select my preset for my USBasp in the list, but I want it to be activated automatically when avrdudess starts. I’ve already looked in … \ AppData \ Roaming \ AVRDUDESS \ config (and) \ presets, but I can’t find a way to change it.

        1. In older versions it would load your previously loaded preset (which would wipe any changes you did after loading the preset), but in newer versions it loads all of the previous settings instead (hex file, fuse settings, which options were ticked etc). Preset is set to Default, however it isn’t actually loading the Default preset (I should maybe set the preset box to a blank name). The best way to specify a preset to load when opening would probably be to create a new shortcut to avrdudess.exe, right click it and go to properties then at the end of the Target box add a space then the name of your preset in quote marks.

    • Eitan on July 20, 2020 at 12:57 pm
    • Reply

    Hi Zak
    The GUI is not showing up,but still exist in process list.
    I have installed the AVRDUDESS portable on a new win10 and it showed the GUI OK.
    I have changed the avrdude path to the arduino location.
    And after restart The GUI is not showing up,but exist in process list.
    I have tried also the installer version of AVRDUDESS but no change.GUI does not appear anymore.
    What is the solution?

    1. Hi Eitan, looks like you’ve found a bug! If AVRDUDESS can’t find avrdude.exe then it won’t be able to start up (arduino avrdude.exe is in arduino-x.x.x\hardware\tools\avr\bin, though AVRDUDESS already comes with its own avrdude.exe and .conf).
      The easiest way to fix this is to go to C:\Users\USERNAME\AppData\Roaming\AVRDUDESS and delete config.xml.

        • Eitan on July 20, 2020 at 2:12 pm
        • Reply

        Thanks Zak
        It worked like a charm.
        In the portable version, Why not putting the config.xml file in the same directory of the AVRDUDESS?
        Best Regards

        1. Awesome 😀 Yea I forgot about making the portable version read from its own directory instead of the user data folders. That will be fixed in the next release.

    • Nirosh on July 25, 2020 at 12:10 pm
    • Reply

    Hi Zak,

    I got “ERROR: Update check failed: Error: SecureChannelFailure (The authentication or decryption has failed.)” while I open the avrdudess application.

    I tried to find a solution in google but unfortunately couldn’t find a proper solution for that.
    Can you give me a solution? please..

    1. This is usually caused by using an old operating system (like Windows XP) that does not support the newer encryption methods used by the web server.

    • Hugo on December 17, 2020 at 6:15 pm
    • Reply

    Hi Zak
    After installing mono (MonoFramework-MDK- and avrdudess 2.13 version on macOs 10.11, and print in the terminal:
    mono –arch=32 /Applications/avrdudess-2.13/avrdudess.exe (the –arch=32 argument was mandatory otherwise it caused a big native failure)
    I get:
    WARNING: The runtime version supported by this application is unavailable.
    Using default runtime: v4.0.30319
    However the avrdudess window is displayed after 3 min and looks OK, but i haven’t tried yet to upload
    what is the runtime lib version it tried to find ?

    1. Hey Hugo, it was probably looking for v2.0.50727 as I’ve included it as a supported runtime so the program can run on Windows XP. The warning can be safely ignored.

    • plouf on February 28, 2021 at 5:33 pm
    • Reply

    when trying to identify a TPI device (tiny4-5-9-10..) in DETECT avrdudess adds a -p m8 in the end making it unreadable
    but via command line with -p t10 it does recognise

    is this configurable in avrdudess so when changing CPU the “detect” will add the corespoding -p XYZ_AVR ??

    1. Hi Plouf, this is a known issue that I’ll be improving at some point. See this: https://github.com/zkemble/AVRDUDESS/issues/26

        • plouf on February 28, 2021 at 6:26 pm
        • Reply

        hm i see

        to me eitehr a new button should be added like “verify id” where the above selected MCU will send the correct command (imho relative easy)

        or try sequent all protocols (very slow)

        1. I could add a verify ID button then. It will be a separate function from auto-detect as that is not supposed to know what the MCU is which is why it needs to try each protocol. Checking each protocol isn’t slow, avrdude usually exits with an error pretty much instantly.

            • plouf on February 28, 2021 at 6:51 pm

            whatever is easier , i think button is easy enough, i see post for the “problem” last some time so
            i think this would help 🙂

            personaly i had spend a lot of days to uderstand what going on (i had additional problem with programmer)

            and the above propblem was mention only in github, i mean it would help some more ppl 😉

    • janek on March 22, 2021 at 11:34 pm
    • Reply

    Program is very nice, i haven’t problems yet. I only miss the fusebit editor 🙂

    • Ajay Kumar on April 9, 2021 at 9:38 am
    • Reply

    Every time i try to READ Flash from my Arduino Mega, It reads but says FAILED to write to file and also say cannot open file.

    I have tried running it in admin mode, and changed the file to some other locations (Desktop, D:\ etc) but it never writes.

    I have Windows 10 x64 Installed.

    1. Hey Ajay, post the output log of avrdudess.

    • sergei granin on April 10, 2021 at 3:06 pm
    • Reply

    hi, try to work atxmega128a1 – dont see fuses and other with errors.
    what to do?


    1. Hi, AVRDUDESS only supports extended, high and low fuse bytes. Xmega devices don’t have these fuses, though I do plan on adding support for the xmega fuse bytes at some point.

    • Inacio Morais on May 7, 2021 at 12:25 am
    • Reply

    Thank you, Zek! Your sotware is great. My FTDI232 worked fine after selecting ‘Wiring’ and disabling flash erase (-D).

    • DeepDivingDelight on May 19, 2021 at 10:50 pm
    • Reply

    Hey there Zak,

    Just an FYI to you: AVRDUDESS will not function under any version of MacOS beyond Mojave 10.13. This is because Apple completely and totally removed any capacity to run 32-bit software of any sort.

    I’ve been trying to get this program to run on MacOS Big Sur 11.3.1, and I did keep getting this error:

    “WARNING: The runtime version supported by this application is unavailable.
    Using default runtime: v4.0.30319
    WARNING: The Carbon driver has not been ported to 64bits, and very few parts of Windows.Forms will work properly, or at all”

    I’m not sure how big of an ask this would be for you, but is it possible for you to port this program over to a different framework instead of using WinForms?

    1. Heya, well, it would take waayyy too much time to learn and port everything to a different cross-platform framework. Though it looks like Mono might add 64-bit support at some point, scroll right to the bottom and there’s been some new comments in the past few weeks – https://github.com/mono/mono/issues/6701
      But I’m not very familiar with Mono and Carbon and all that stuff so they could be going on about something completely unrelated hah.

        • Alex on May 23, 2021 at 3:33 pm
        • Reply

        Hello, Zak!
        I use STK200 programmer on LPT1 under WXP SP2
        AVRdude 6.3 with your installable GUI reports problems with LPT (all issues with NET Frameworks and GiveIO were solved). At the same time AVRdude with alternative GUI works OK with this programmer (as well Ponyprog does). I need AVRdudess because it is anounced to be compatible with all chips supported by current version of the AVRdude (I need to read/write Xmega32D4. Please suggest some steps to fix it.

        1. Hey Alex, what exactly does the error message say?

    • Alexij on May 25, 2021 at 3:41 pm
    • Reply

    thanks for your reply 🙂

    the exact message is:
    Unable to detect MCU
    avrdude.exe: port name “LPT1” is neither lpt1/2/3 nor valid number
    avrdude.exe: can’t open device “LPT1”
    avrdude.exe: failed to open parallel port “LPT1”
    AVRDUDE command prefix is
    -c stk200 -p m8 -P LPT1

    Also I can send you snaps of the “success message” from AVRPROG with the same port (LPT1), the same chip (Atmega8) and the same programmer (STK200)

    1. Looks like you’re running a very old version where LPT was in uppercase (it should be lowercase lpt), you’ll need to update your AVRDUDESS or manually type lpt1 into the port box. Screenshots can be uploaded here https://imgur.com/

  1. […] Saya mengunakan avrdudess, […]

  2. […] a mikrokontroller programozásával kezdtem. Ehhez egy Arduino-ISP programozót és az Avrdudess programot használtam. A mikrokontrollert egy próbapanel és 6db összekötő vezeték […]

  3. […] bir kristal veya internal kristali kullanacaksanız kristal değerine uygun sigorta ayarlarını AVRDUDES adlı yazılımla çipinize […]

  4. […] knapp 10 EUR, das Treiber-Programm „zadig“ der Firma Akeo für den USBasp, das Programm AVRDUDESS und die neue Firmware als *.HEX-Datei (letztere ist „gut versteckt“, den Weg dorthin […]

  5. […] von Simon, VK3ELH, zum Vorgehen gelesen und meinen USBasp-Programmer angeschlossen hatte (zadig und AVRDUDESS waren bereits installiert), lief alles wie am Schnürchen. Das Flashen dauerte keine 20 Sekunden […]

  6. […] forums and blogs people were using either Windows or Linux. I was using the software AVRDUDES from https://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/ in particular the portal exe […]

  7. […] with these directions and my new found confidence, I fired up AVRDUDESS (which I just recently discovered is a cool GUI for the avrdude program, NEAT) and got to […]

Leave a Reply to Zak Kemble Cancel reply

Your email address will not be published.

Are you human? *