Juli 2024


Active supporter of WikiPedia
Support Wikipedia


Profile for uwezi

Einen AVR-Programmer hacken

Leider ist der Eintrag nur auf Amerikanisches Englisch verfügbar.

155 comments to Einen AVR-Programmer hacken

  • […] статью, а так же переработанный исходник в Atmel Studio 4. Hacking AVR programmer, судя по всему была проблема с этим программатором в […]

  • […] GreenPhotons: Hacking an AVR programmer […]

  • […] This is a follow-up of my most popular post, Hacking an AVR programmer. […]

  • uwezi


    For everyone who has problems with programmers which are using the ATmega88 instead of an ATmega8(L/P/…):

    I just bricked (it seems) an USB programmer of my own design, where I used an ATmega88. It is completely unresponsive after flashing the Fischl firmware from 2011, even though it uses Thomas Fischl’s exact board layout.

    I am not yet sure why or even how this could happen – the chip should always be responding to the serial programming commands unless you disable serial programming with the corresponding fuse. However, I only uploaded the .hex file with the flash code without touching the fuses.

    I hope that this will help me diagnosing the ATmega88-related problems reported here in the comments, but first I will replace the ATmega88 with an ATmega8 and try again…


  • Roman

    i got v4.0 dongle – it uses atmega88, i used the updated firmware and fuses, but still can’t make it to work

  • […] Most of the time I design and debug my AVR projects on solderless breadboards nowadays. And for that I have been using some different types of programmers by now: starting with the good old STK500, to different versions of USBasp clones from Chinese sellers on eBay. […]

  • Toygar

    Hi there i have v3.02 and i try orginal usbasp firmware , your modified firmware and Atmega88 modified firmware. Your firmware and Atmega88 got bluelight but my pc says (win 8.1 ) this device not recgonized may be it corrupted. What can i do ?

    and Lfuse : EF
    HFuse C9
    E Fuse 01
    LB 3f it is correct ?

    i don’t set LB and E fuse. Only L and H.

    Thanks for article.

    • Toygar

      Hi there i used Fernando’s Hex File and LFuse FF HFuse DF

      it is OK ! USBasp detecting by my pc.

      Thanks for all things and this article.

      Thank you very much 🙂

  • Shyam

    I have USBISP programmer for 89S52 and AVR which has 12MHz operating Atmega8 chip and 6 pin header for ISP programming, for which I do not have source code. I will like to get source code in HEX and C. I want to program in another Atmega8 to replace the chip and perhaps do some code modifications also.

    This is student project work and I want them to try this.



    • uwezi

      You should check the exact layout of your programmer and see if it matches the Fischl AVR-asp. In that case you can find the source code and the .hex file on Fischl’s homepage which I have linked in my post.

  • Eric Jorgensen

    I recently purchased one of these usbisp dongles w/ aluminum shell from an aliexpress vendor for about $2.50 shipped, and of course it shows up as a HID device out of the box.

    I’m new to this avr stuff but not entirely new to embedded systems. I bought this because i have an adafruit clock that i want to upgrade the firmware on, and figured it would be handy going forward – for $2.50 right? That way i don’t have to figure out how to use an arduino as an avr programmer.

    So I’ve messed with this long enough that i not only have a $1.80 arduino nano clone in a breadboard set up with the ArduinoISP sketch that comes with the Arduino IDE these days, I even made a cable to go from the breadboard to the usbisp without having to remember which arduino pin goes to which usbisp pin.

    board is marked mx-usbisp-v3.02 and has a mega88 chip.

    Despite coming across warnings that the avrdude that comes with the arduino ide doesn’t work well, it turns out to be the one that actually works on this system without some kind of libusb0 conflict.

    Along the way i discovered „avrdude gui“ and discovered that it doesn’t work for poop.

    The command line i landed on that seems to have worked:

    "C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe" -p m88 -c arduino -C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -P com7 -U flash:w:"C:\Users\Eric\Downloads\ATmega88b.hex":a -e -v -v -b 19200

    Of course, I made the mistake of changing the fuses to HFUSE=0xc9 LFUSE=0xef which disabled my device. Setting them back to HFUSE=0xDF and LFUSE=FF seems to have it going.

    I used Fernando’s hex file. Which was 2kb bigger the 2nd time i downloaded it.

    So yeah it’s been an interesting journey. And, thanks.

    • Zol

      how cool! mine is also that v3.02 version with Mega88, and the modified .hex + fuse bits worked! many thanks!

    • uwezi

      I have very good experience with AVRDUDESS as a gui to avrdude.

      • Eric Jorgensen

        Oh it looks great. But for whatever reason i am having issues resolving libusb0 dependencies. Prior to getting this chinese dongle, the only libusb app i had installed was the arduino ide, which comes with some version of it which was unable to please the avrdude binary i downloaded, or avrdudess.

        • uwezi

          Hi Eric,

          I have seen this issue two days ago on a computer in on of our student labs. The reason was that the USB drivers for the Fischl USBasp programmer had not been installed at all.

          You need to install these drivers, which you will find at Fischl’s homepage: http://www.fischl.de/usbasp/.

          Oh yes and by the way: Windows 8 will of course complain that it is an unsigned driver and currently I don’t know how to work around this „safety“ feature, but I know that it’s possible.

          • Eric Jorgensen

            Initially, yes, i didn’t have the usbasp drivers installed. I never previously had any device that would work with that driver.

            So I configured an arduino as an avr programmer so i could get the chinese dongle reprogrammed.

            And that was when i ran into libusb0 issues. avrdude and avrdudess both complained about no libusb. I tried installing libusb0 from the main repository which resulted in a different error status that probably means something about conflicting versions of the same library (but gave only a „could not start, 0x????????“ sort of error).

            I was able to get the dongle flashed using the copy of avrdude that gets delivered with the arduino ide, and then after removing my previous hackneyed attempts at fixing libusb0 and installing the USBasp drivers, I was able to use the chinese dongle to re-flash the arduino boot loader on an arduino nano with a bricked fake ftdi chip.

            I guess at this point i should try avrdudess again – perhaps the way the USBasp drivers installs libusb0 has fixed the issue?

          • uwezi

            I would give it a try!

            When I saw the libusb error message recently AVRdudess was still starting – perhaps you could then configure it to use the working avrdude which came with the Arduino framework?

  • Thank you for the firmware update. I had corrupted my Baite USBasp_H6 and after uploading your firmware the LED lit and I knew it was recovered.

    Thank you.

Leave a Reply to uwezi




You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>