When I started using USBasp (a great programmer for AVRs), I soon realized that the avrdude (the software for driving USBasp) is not much usable. Sometimes it irritates me a lots because of its command line interface. Also the avrdude-gui is not much helpful as it was just calling the avrdude in background. It cannot write/read the fuse bytes easily and reading the chip content was impossible. I made many changes to the software to make it more useful but Finally I decided to write a fresh new software from scratch and eXtreme Burner - AVR was born!
The eXtreme Burner- AVR has full graphical user interface (GUI) and can be used much more easily.
Screen shots
Fig.: GUI Software for USBasp |
Fig.: GUI Software for USBasp - Burn Progress. |
Fig.: GUI Software for USBasp - Task Complete ! |
Linux Version !
Finally the much awaited Linux Port is here ! Now you can use eXtreme Burner - AVR on Linux too!
Please send feedbacks, responses and screen shots to my email avinash[AT]extremeelectronicsXYZ[DOT]co.in (Remove XYZ and replace [AT] with @ and [DOT] with .
Fig.: eXtreme Burner - AVR on Linux (Fedora 10) |
Fig.: eXtreme Burner - AVR on Linux (Fedora 10) |
Note On Installing
- You need a GUI Desktop Environment Like GNOME or KDE (All Modern Distro Come with at least one of them, so don't worry)
- You need wxGTK installed (Use your OS's Package Manager to Install)
- You need libusb installed (Use your OS's Package Manager to Install)
- You need to run the app by root privilege to access the USB Port (Some day I will find a fix for it, if you know it please let me know !)
- Download the archive and extract in some place.
- Start terminal and log in as root using su root command and enter the root password.(In Ubunto type sudo su and then your user password)
- Go to the folder where you place eXtreme Burner - AVR
- type ./avrprog to start the app.
- Now you can use the graphical interface to work with AVR chips. The interface is exactly same as MS Windows version of eXtreme Burner.
Be generous, Please donate
If you use eXtreme Burner - AVR and find it useful, please donate. We would be very thankful to you.
Download
- Download eXtreme Burner - AVR v1.0 for Microsoft® Windows® XP® or Better.
- Download eXtreme Burner - AVR v1.1 for Microsoft® Windows® XP®, Vista®, 7 (both 32 and 64 bit versions). This version has the drivers built into the installer.
- Download eXtreme Burner - AVR v1.2 for Microsoft® Windows® XP®, Vista®, 7 (both 32 and 64 bit versions). This version has the drivers built into the installer.
- Linux Version
- Linux Version for Ubuntu 10.10 (New)
Note
If you are getting this error, "No Supported Programmer Found" then please delete "libusb0.dll" and "libusb0.sys" from the folder where you have installed the software. Ex "C:\Program File\eXtreme Burner - AVR"
Feedback
This is first public release so please send your suggestions and bug reports. Please don't hesitate to leave your comment here.
Testimonials
I'm happy you like the donation. I am ex Atmel engineer. I really like your software. Please keep writing. Don't stop for a minute! -Frank :)
Translators
Peoples interested in translating the app may get more information on this page.
Thanks to Donors
- Frank Decmar
- Stig Wikstrom
- Martin Maucher
- Sylvain Pau
- Pojan Dehnvai
- Garry Ackerman
- Tim Thiede
- Veronika Schmidtova
- Daniel Yanev




@shreyas
Hai shreyas..you can install drivers for usbasp currently available at
http://www.fischl.de/usbasp/usbasp.2009-02-28.tar.gz
it’ll work perfectly with Windows7 64bit OS,as i’m working with it.
Hi avinash why cant you add 89S series microcontroller in this software. I have already posted one here in my site http://www.8051projects.info/blogs/usb-8051-avr-programmer.html
but it uses progisp which is in chinese & English with changed firmware for atmega8.
Please have a look on it.
Hi, seems that there is existing serious trouble regarding the install procedure in the Linux. I use Ubuntu 10.10, and there is simply no way to make your program workable. Either the “Fatal Error: Mismatch” (exact report as noticed guys above), or reported missing lib files.. Please let us to know what exact installable package (.deb, acceptable for the Ubuntu) is the right solution and where is possible to get it. The above mentioned RPM (wxGTK-2.8.4-3.0.120asp.i386.rpm), even converted by the Alien, doesnt work in the Ubuntu
@Jwwebber,
I know the problem exists. I will recompile it under Ubuntu 10.10 an soon as I have some free time and post here.
Currently it works under Fedora only.
With regard to your Linux version, I haven’t read the entire blog so I’m not sure if this has already been discussed.. It is a very serious security problem to have to run a program as root and there is a fairly simple way to work around that on systems that run udev (kernel 2.6+ I believe). Essentially the problem stems from the fact that the kernel is creating the device node for the USBasp device as being owned by user and group ‘root’ and that needs to be changed. The man pages for udev can be confusing so here’s the short fix:
In /etc/udev/rules.d/ a rule file is needed for the USBasp rules (which must be created as root!). I use the file name “70-persistent-usbasp.rules”. The file contains:
ATTRS{idVendor}==”16c0″, ATTRS{idProduct}==”05dc”, GROUP=”dialout”, MODE=”0664″
SUBSYSTEM==”usb”, ATTR{product}==”USBasp”, ATTR{idVendor}==”16c0″, ATTR{idProduct}==”05dc”, SYMLINK+=”USBasp%n”
The first line (ATTR{idVendor}..) identifies devices that have the specified vendor and product ids (e.g the ids of the USBasp) and specifies that the /dev node should be owned by the group ‘dialout’. The group name can be changed to any valid group if dialout doesn’t work for you. Now anyone who is a member of the group dialout will have read/write access to the USBasp without having to be root.
The second line is optional, it creates a convenient symbolic link in the form of /dev/USBasp? where ‘?’ is a number (starting at 1). If multiple devices are plugged in then each will get a unique link (e.g. USBasp1, USBasp2, ..). I have other tools that work directly on this link so it’s more convenient than looking for the device in the usb tree.
I hope you find this helpful. Feel free to ask for clarification if I haven’t described something clearly enough.
can’t wait for working ubuntu version
method shown in post #189 doesn’t work for me. ATM i’m on ubuntu 9.10 32 bit
Hi All !!!
I have compiled it specifically for Ubuntu 10.10 too! So it should run with out frills on latest Ubuntu release.
Please check and Inform.
thankyou a million times!!!
i verified, program runs on Ubuntu 9.10 and im able to read and write to Atmega8
at the beginning program didn’t saw the programmator (perhaps due to usb restrictions), but in one forum i found this:
———————————————————————-
The following should get it working – it only allows access to USB devices by users in the “usbusers” group (I have you add root to the group because I’m not sure if the keyboard, mouse, printer, etc., would work otherwise).
In a terminal window (applications/accessories/terminal) type:
sudo addgroup usbusers
sudo adduser usbusers
sudo adduser root usbusers
sudo gedit /lib/udev/rules.d/100-local-permissions.rules
This should call up the editor and the file shown should be empty.
Add the following to the file shown:
# USB access limited to users in usbusers group
SUBSYSTEMS==”usb” MODE:=”0666″ GROUP:=”usbusers”
Save the file, exit the editor and close the terminal window.
Now plug in one of your USB flash drives (if external USB hard disk, you must unplug it and then plug it back in for the rule to affect it).
———————————————————————-
It helped me solve my problem, hope it will help someone else too
@zelija
Regarding post #189 not working for you.. I’m not sure which kernel Ubuntu 9.10 is using but you can check to see if it has a man page for udev. I’m pretty sure that Ubuntu has always used udev for dynamic device management but I might be mistaken. The machine that I’m using it on is running Ubuntu 10.04 (LTS). Also, the udev file that I described in my post only contains 2 lines (with the second one being optional) but the post broke the second line over two lines so it might mistakenly look like 3 lines. You might want to check that if 9.10 is running udev but things aren’t working for you. You might also want to check the udev man page to make sure the custom rules.d directory in 9.10 is under /etc/udev/ or if it was put somewhere else (probably unlikely).
@jeilja
Regarding post #192.. You should never edit files in /lib/udev/rules.d because these files are likely to be overwritten by software updates. If you look at the man page for udev you will find find reference to /etc/udev/rules.d as the place for customization. This is why my post (#189) indicated that the change should be placed in the /etc/udev/rules.d directory. Also, FYI, root has access to everything so you should never need to add root to a special group (e.g. usbusers).
Something that I forgot to mention on my initial post (#189) is that when making this kind of udev group customization, you should make certain that the group you specify is actually a valid group on your system (usbusers is not a valid group in 10.04 Ubuntu)
.. You might also want to carefully consider whether or not it’s a good idea to make all USB devices accessible to users (as opposed to just a single type of device like the USBasp) because it presents a significant security risk.
I installed the ubuntu 10.10 version.
error while loading shared libraries: libwx_gtk2u_richtext-2.8.so.0: cannot open shared object file: No such file or directory
I have no clue where to get that file. synaptic does not know it.
Fred
hi all,
I may be treading on known territory can I make USBASP work with ATmega8L instead of ATmega8PU(are they the same thing)?
thanx in advance
@yawar,
yup. u can make it with atmega8L-8PU as well. Just adjust the fuse bits for 8Mhz crystal and use a 12Mhz crystal with the U-C instead of a 8Mhz…
Cheers
Hi, Avinash!
I tried the fresh Ubuntu version, and it doesn’t work for me. I’ve got an error, that the program can’t find shared library libwx_gtk2u_richtext-2.8.so.0 although the library itself is present under /usr/lib . Ubuntu 10.10. Any advice?
Avinash,
I run ArchLinux with wxgtk 2.8.11-2
avrprog says:
Fatal Error: Mismatch between the program and library build versions detected.
The library used 2.8 (no debug,Unicode,compiler with C++ ABI 1002,wx containers,compatible with 2.6),
and your program used 2.8 (no debug,Unicode,compiler with C++ ABI 1002,wx containers,compatible with 2.4,compatible with 2.6).
Aborted
Any clue? thanks!
daniel
Hi,
this extreme burner is a great tool but I have one problem using him. It does not support ATmega 328P chip. So there is no way to program this chip with ex burner??
Thanx!
@ RULSAN
Read out the post # 89 and follow the procedure for editing the xml file.
Cheers
hi avinash,
please tell me how to change SPI clock frequency in extreme burner programer?
Hello All
I am using Ubuntu 10.10 on a Sony PCG-K37 laptop.
I am using a USBAsp programmer from ProtoStack.
When I run avrprog I get this message
root@dadslt:/home/mike/avr/xAVR# avrprog
Chip signature bytes: 0xff 0xff 0xff 0xff
Error: Unknown chip. Check cables.
Aborted
When I run lsusb I get
root@dadslt:/home/mike/avr/xAVR# lsusb
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 005: ID 16c0:05dc VOTI shared ID for use with libusb
Bus 002 Device 002: ID 046d:c51b Logitech, Inc. V220 Cordless Optical Mouse for Notebooks
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
The VOTI device is the USBAsp device.
What is wrong?
Thanks.
@Jafolives
Your target board has the fault. Which MCU you are trying to program?
Post screen shots and photo of your target on the forum.
http://forum.extremeelectronics.co.in/
Also read this guide
http://extremeelectronics.co.in/downloads/usbavrprogrammer/docs/IntroductionToISP.pdf
Thank you
I can connect just fine with avrdude.
I am using a development board from protostack. It’s schematic almost exactly matches the one in the guide in post 204.
Any thoughts?
Fine. if you don’t have answer so be it. Telling me Windoze is the answer just doesn’t cut it. The claim is that eXtreme Burner works with Linux too. If that just isn’t true don’t waste the time of serious hobbyists. Remove the bogus information from the Internet.
Thank you.
Ruslan,
for atmega328p
add this to your chips.xml file in the data dir
ATmega328p
32768
1024
0x000F951E
****256** <—not to sure this line
YES
YES
YES
YES
YES
.\Images\Placements\ZIF_DIP_40.bmp
not to sure on the line in ****, but I was able to program fuses and flash successfully with these settings. Make sure to remove the *** and <— when you paste.
It someone would like to inform the significance of the line, I would be gratefull. (I have looked through data sheets for all other parts listed and cannot find the appropriate values.)
I don’t know why but the formatting was lost
ATmega328p
32768
1024
0x000F951E
256
YES
YES
YES
YES
YES
.\Images\Placements\ZIF_DIP_40.bmp
for atmega328p
ATmega328p
32768
1024
0x000F951E
256
YES
YES
YES
YES
YES
.\Images\Placements\ZIF_DIP_40.bmp
this works for me, I can program fuses and flash.
I’m not to sure on the PAGE section, if someone could add someinfo as to the value it represents.
Problem on Ubuntu 11.4 [64b]
./avrprog: error while loading shared libraries: libwx_gtk2u_richtext-2.8.so.0: wrong ELF class: ELFCLASS64
all missing libraries problems for 64-bit systems I fixed as described here:
http://www.debian-administration.org/articles/534
I work with Debian and I did following:
1. Downloaded libwxgtk2.8-0_2.8.10.1-3.1_i386.deb and libwxbase2.8-0_2.8.10.1-3.1_i386.deb
2. sudo dpkg -X /mnt/sda5/downloads/libwxgtk2.8-0_2.8.10.1-3.1_i386.deb /emul/ia32-linux
3. sudo dpkg -X /mnt/sda5/downloads/libwxbase2.8-0_2.8.10.1-3.1_i386.deb /emul/ia32-linux
4. export LD_LIBRARY_PATH=/emul/ia32-linux/usr/lib:/usr/lib
5. ./avrprog
if somebody want to build the hardware for this he may check out this link
for usb avr programmer schematic go to this link
http://microembeded.blogspot.com/2011/04/usbasp-usb-programmer-for-atmel-avr.html
Hello Avinash
i liked ur s/w
can u tell me from which language u hav developed it?
can u send me source code plz?
@Vikrant
NOT at all!
hello
i have been using this nice app for a while
till…..
1-the other day i was tried to program ATMEGA48PA(chip sig=0x1E920A)but it is not supported and your app only works with ATMEGA48(chip sig=0x1E9205)i think.
2-there is another problem too! whenever i want to program my ATMEGA128 the app only programs 64K of its Flash!!!!!!not capable of programming the whole 128K!!!
hi, avinash..
is this software for free?
And free for reseller if i make the hardware and sell it with this software?
@Andi,
Yes this software is free, even for resellers who wish to bundle it with their hardware. For for resellers it is advised to get a re-branded software. For cost of re-branding please send and email.
Hi all,
I have been using this excellent programming software for almost a year, with Atmega168 on prototyping board and hardware programmer from Protostak.com. This combination works flawlessly and I have written many AVR assembler programs and downloaded them with exterme burner software. All works beautifully.
I wish to upgrade to Atmega128 stamp from Futurlec.com.
Are there any known issues with Extreme burner and the 128 chip? Do I need to change any parameters?
Thanks in anticipation of reply.
Bob VK2ZRM, Sydney Australia
@Bob,
I think I cannot access memory above the 64K Address. If you encounter any other issue please inform so that I can correct.
OK, will do!
It will be several weeks before I get to progarm the 128 but I will let you know either way.
Bob
hello
thx for ur program !
is it possible to send me the xml file for atmega644A
nico from france
thank you so much for such great tutorials.
i want to make a device which controll other devices using usb.
So please guide or make a tutorial on interfacing a mcu through usb.
Hi Avi, wanted to know if Sparkfun’s Pocket programmer support via your software, ref:http://www.sparkfun.com/products/9825, I am just entering into this AVR arena potshots by my modding of RS Transmitter based on Atmel AtMega64 8-bit MCU – called re-flashing. Hope you get me. Thanx in advance.
@Vbe
Sparkfun’s Pocket Programmer is based on USBtiny thus NOT compatible with USBasp
Hello,
First, my English is not well.
I use the Atmega328P-AU SMD type, and config from #211.
It can not write data to Flash and EEPROM, but Fuse can work.
The task showed “Mismatch at Location 0×00000000″
How can write data to this controller?
TAIWAN
hello again!
i have been sucessfully used this piece of software for a long time without problems both on windows and ubuntu. yesterday i tried avr studio 5 and it’s really great ide for work with avr. only problem is that it doesn’t know how to use usbasp programmer.
i thought i could execute a command line after successful build to automatically burn hex file into chip, but it seems that extreme burner doesn’t support command line arguments…
so i have a question: are you planing to implement simple command line arguments (such as extremeburner.exe hexfile.hex microcontroller_name) so it could be used together with avr studio 5? so far i found that this could be the best combination for avr development, i even got rid of eclipse and code::blocks
thankyou for your hard work!
have a nice day!
Best zeilja,
could you tell me how did you get extreme burner to work in ubuntu? i am using ubuntu 11.04(natty) on a compaq netbook but i cant get it to work.
you can mail me at
tolunay1993[AT]gmail[DOTT]com
Hi there. I was trying to install extreme burner on Ubuntu 10.4 but when i try to launch it (with root privileges as you say) it gives me that error:
error while loading shared libraries: libwx_gtk2u_richtext-2.8.so.0: cannot open shared object file: No such file or directory
I have managed to install that libraries to /usr/lib but still this error stands….
Does anybody know how to fix it? Please send me an email (spirosbond@hotmail.com)
Thanks in advance
Check post #213
Hi
The calibration bytes are not shown correctly, I have only checked with m128 and m8.
The values were compared with the value from jtagICE and avrdude.
For example for a m8 I get ADADADAE instead of AEADAAAA
Alex
@alexan_e
Thanks for bug report. I will have a look at it.
Potentially a nice program but you could do away with a lot of keyclicks which are not necesserry.
1. When using it 99% of the time, there will be a new hex file, which should be reloaded. So instead of the current hotspot sensing and dialog, which requires two clicks in addition to the write click, why not have a tick box in setup, where you select if you want auto-reloading and have a splash screen, which tells you it is reloading for a second or so and then all you have to do is one click for the write.
2. When the writing is done, close dialog when the application loses mouse focus. No close click required!.
3.
About one in four attempts to write, it says that the wrong chip is detected. What is the point of asking whether to write or not? I would rather have it detect it correctly before writing. Just have an abort option. which when clicked closes the window.
At present this requires two clicks.
4.
You could reduce the size of the grids a little, to fit more data in the window.
This is almost an excellent program, but I don’t like using it because of the above annoyances.
@rexlee,
Thanks for the careful observation and the time you spent sending your feedback. I will note down the suggestion and work to implement then in future.
Thanks
I have a great desire to help with the Russian localization of the interface. How can you help with this?
Hi Avinash
Rather than write to ask for help, I just want to say thanks for making this brilliant software available to the hobbyist.
Clearly you have put in a huge amount of work for which, I for one, thank you greatly for!
I’m using your Burner for flashing RC Electronic Speed Controllers (ESC) and it makes it much easier than ye olde AVRdude.
So cheers & thanks. I hope your skills bring you success!
@Argo-2
Thanks a LOT !!!
better extreme burner V1.3 give some supported chips like atmega128 ,644p and etc. and give icon for write flash Only.because if write All, we have to wait more..thanks
Hi,
I’m running Ubuntu 11.10 where I can run it easily. But when I click read all, it gives me…
No supported programmer found. Please connect USBasp on USBport.
What should I do?
@Dewsworld,
I think you forgot to read the part which tells how to run under Linux. It in the above article.
Sorry! I couldn’t fix it yet. I run it as root. But still I get the message, No supported programmer found. Please connect USBasp on USBport
Hi Avinash, first of all, thank you for this is cool piece of software!!!
As you hav released V1.2 for windows. I`m waiting for its LINUX version. Because, most hardware crazy people love linux!!!
Best Regards
Create a rule in /etc/udev/rules.d/93-usbasp.rules and add:
# UsbAsp (http://www.fischl.de/usbasp/)
SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_device”, ATTR{idVendor}==”16c0″, ATTR{idProduct}==”05dc”, GROUP=”users”, MODE=”0666″
Flags8192
Many many thanks! It works!
I’m glad that helped.
Bug, in Save dialog uncheck “EEPROM data” has no effect,always save all files.
(WinXP, eXtreme Burner – AVR v1.2)
@Marian,
Thanks
Hi sir,
I only need to know in which programming language you have design a great application for AVR usb programmer.
and where can i study to get learn to design interface application.
PLEASE make either
- a statically linked version or
- a 64-bit version or
- release source code
I don’t want to install 2000 32bit-libraries (.so-files) to use your software. Thanks.
@ JANNIS
it also work’s on 64-bit version of operating system.No need to install 2000 32bit-libraries (.so-files) to use your software.
Download latest version of software.
I downloaded both “xAVR.tar.gz” and “xAVR_Ubuntu.tar.gz”. They only contain one binary (which are “xAVR/avrprog: ELF 32-bit LSB executable, Intel 80386″). No 64bit-version there, no source code.
Forgot to say: I tried to run them and it then fails with “./avrprog: error while loading shared libraries: libwx_gtk2u_richtext-2.8.so.0: cannot open shared object file: No such file or directory”.
While I do have this file as 64bit version, I don’t have the 32bit version and this is exactly what I don’t want to install here.