I’ve made a small program that can be used to upload your own *.hex files to arduino boards using the bootloader. That means you don’t need a flash programmer. I made it for my own use and found it pretty useful. So now I’ve made a more user friendly version..

To use it compile you’re code in something like AvrStudio. Then simply start XLoader.exe, pick a hex file and press upload. That’s it.

Good news it now also supports Arduino Uno.

Hope you find it useful…  Please contact me about bugs or suggestions.

XLoader.zip v1.00 678kb

GPGSign

  1. admin
    March 22nd, 2012 at 21:04 | #1

    Finally XLoader is out of beta, thanks to Cameron for beta testing. It should now also work with mega2560.

  2. admin
    March 18th, 2012 at 18:23 | #2

    @Cameron
    I’m not sure the mail went out, some problems with the mail system. But it should be in your inbox :)

    If you would like to make a donation, some bitcoins are always appreciated :)
    My address: 1EB4ortk9maMyfPgifgBYSVMdMZWToQjbB

  3. Cameron
    March 16th, 2012 at 21:47 | #3

    Hello! Thank You for the awesome program! Question: can your program pulse the DTR line or whatever on the FTDI chip right before it uploads? the reason is, due to the location of the arduino (deep inside my engine bay) it is A LOT of work to get the arduino to reset. I believe the arduino IDE pulses this line before, and after the upload. It would be AWESOME if you can do that… and if you do, please email me a donation link so i can show my appreciation :)

    fwiw, I am also interested in the mega 2560 beta, as i’m about to start using those now that the mega1280 is not available :)

  4. Vishwa
    March 6th, 2012 at 20:15 | #4

    coooooooooooooooooooooool man

  5. admin
    February 21st, 2012 at 12:10 | #5

    @Evan Richardson
    As of now I don’t want to go open source, maybe in the future.
    Yes it’s using avrdude it also helps you reset the Arduino and make life a little easier, then using Avrdude.

  6. February 18th, 2012 at 09:21 | #6

    any chance of getting the source posted? I’ve been looking to integrate “firmware” updating in a dot.net app I wrote to control my arduino project, while I’m pretty sure your app is just feeding command line args to avrdude, would like to be able to confirm what they are. If not I understand. Thanks, and nice clean UI!

  7. Yoav
    February 17th, 2012 at 22:16 | #7

    The solution is to use ‘arduino’ as the programmer when uploading to the Uno and using ‘wiring’ as the programmer when uploading to the Mega.

  8. admin
    February 3rd, 2012 at 20:25 | #8

    @quarters
    It’s in the mail :) Please tell me if it works…

    @d
    No it uploads the same way as the arduino software

  9. quarters
    January 31st, 2012 at 00:48 | #9

    You mentioned a beta version for the Mega 2560. Can you please send me a version? Thanks!

  10. d
    January 30th, 2012 at 19:02 | #10

    it does not overide the bootloader right?

  11. admin
    January 9th, 2012 at 17:06 | #11

    I think I know what the problem is. If you would like to be a beta tester on this, give me your contact information and I’ll send you a test version.

  12. proudy
    January 9th, 2012 at 06:06 | #12

    I tried Mega(ATMEGA2560);m2560;115200 but the upload failed. It would be good if it worked. Very handy utility, especially if you dont want to share your source code.

  13. admin
    December 29th, 2011 at 15:19 | #13

    @TK
    You can try this (untested):
    Open devices.txt (same folder as XLoader.exe) and add “Mega(ATMEGA2560);m2560;115200”
    Now you can choose Mega(ATMEGA2560) in the drop down list. Please tell me if it works I’ll add it to the next version.

  14. TK
    December 28th, 2011 at 13:08 | #14

    Hello, does this program also support the Arduino Atmega2560?
    I always recive a upload failed message.

  15. admin
    December 7th, 2011 at 17:59 | #15

    @Mark Windrim
    I haven’t seen this before.. Try re-downloading the tool or check the downloaded file with the GPG-sign I uploaded. Are you sure .Net is installed correctly.

  16. admin
    December 7th, 2011 at 17:57 | #16

    @tuti
    Try changing port in device manger as i said. Also you can’t upload new code without a reset of the board first. Try a google search, this has been done before. Or try programming trough usb then use BT for comm.

  17. Mark Windrim
    December 7th, 2011 at 16:25 | #17

    I cannot get this tool to launch. It immediately crashes – Windows 7 Home Premium. Here’s the error generated:

    Problem signature:
    Problem Event Name: CLR20r3
    Problem Signature 01: xloader.exe
    Problem Signature 02: 1.0.0.0
    Problem Signature 03: 4e8a201d
    Problem Signature 04: System.Windows.Forms
    Problem Signature 05: 4.0.0.0
    Problem Signature 06: 4da404ee
    Problem Signature 07: 233e
    Problem Signature 08: 5d
    Problem Signature 09: System.ArgumentOutOfRange
    OS Version: 6.1.7601.2.1.0.768.3
    Locale ID: 1033
    Additional Information 1: 0a9e
    Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
    Additional Information 3: 0a9e
    Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

  18. tuti
    December 7th, 2011 at 13:02 | #18

    @admin
    I try on arduino software, arduino uploader and yourprogram. I connected tx,rx and power supply only. Should I wire sth else to rst port? I changed port com, for few seconds there is port in arduino settings, but it disapear and make error ‘there is no selected port – change port’.
    Thanks for quick answer, this is very important to me.

  19. admin
    December 7th, 2011 at 10:04 | #19

    @tuti
    Try changing the emulated comport, you can do this in device manager. Are you using Xloader og arduino software to upload??
    PS your arduino needs to be reset before the upload can happen.

  20. tuti
    December 7th, 2011 at 00:29 | #20

    hi,
    i have a huge problem with my arduino. I want to upload program by BT module, but COM port which sends data is always in use by something so I couldnt set this port in arduino software and in uploader :( how to check what uses com port??
    please heeeelp

  21. admin
    October 30th, 2011 at 20:55 | #21

    @BuFu
    Have you tried just adding this to the “devices.txt” file in the Xloader folder. This should make XLoader compatible with your device…

  22. admin
    October 24th, 2011 at 16:14 | #22

    @liudr
    Glad to see you like it, I’ve seen quite an increase in popularity lately. As for the license I should probably include a license in the new revision. As for a quick answer, it’s free to use but please just post a link instead of posting the program.

    @BuFu
    Well I don’t have this board so I can’t test, but if it’s a clone of Arduino Mega it should work. If not please contact me and I’ll look in to it.

  23. BuFu
    October 24th, 2011 at 09:11 | #23

    @BuFu
    yaaaay! after i spent few hours (being a complete noob) i successfully uploaded the hex on my chipkit max32 arduino mega clone… i entered folder where arduino processing software is (mpide.exe) opened hardware/tools/avr then hold shift and right click, press Open Command Window Here and typed:

    avrdude.exe -C ../etc/avrdude.conf -c stk500v2 -P COM3 -p pic32 -b 115200 -U flash:w:”C:\Users\Fr0sty\Desktop\Laser\simen-grbl-74576a8\grbl.hex”:i -v

    succes!

  24. BuFu
    October 23rd, 2011 at 23:22 | #24

    Is there any chance you can make it compatible with chipkit max32 (arduino mega clone)

  25. October 19th, 2011 at 18:45 | #25

    Great tool! I was able to upload to UNO a long program. Highly recommended! There should be a lot of people that want this program on arduino forum. Any recent posts?

    BTW, the about says all rights reserved. So what is the license of the software to its users? Thanks.

  26. Mahmoud Fayez
    October 2nd, 2011 at 04:15 | #26

    Thanks a million that saved me from having to teach students Arduino framework as I want to teach them the assembly and dirty stuff first.

  27. jack
    September 23rd, 2011 at 18:15 | #27

    great program, really nice!!!
    keep up the good work!

  28. admin
    April 18th, 2011 at 14:46 | #28

    Thanks for all the input. I have not had much time for this lately, but I’ll look in to all your comments and make a beta version.

  29. bekir
    March 28th, 2011 at 22:19 | #29

    Hi,
    Thanks for publishing the software, it became very useful to me. Working on Duemilanove (328) without any problem. As an advice you can change the status text (at bottom left corner) while starting to upload. It will be nice while tweaking the code where you need to upload over and over again.
    Regards,
    bekir

  30. Albert
    March 26th, 2011 at 18:22 | #30

    Hello,
    I have a problem. we get a signal 79 after running.
    And, RaiseException in from C:\\WINDOWS\system32\kernel132.dll

    Any idea ?

    Good evening

  31. Andries Pretorius
    March 21st, 2011 at 07:06 | #31

    Uploads to Duemilanove (328) but will not upload to Uno.

  32. Matt
    March 19th, 2011 at 19:19 | #32

    @Matt
    I had to use this to successfully send using AVRDude… I had to take out the baud rate parameter: -F -v -pm328p -cstk500v1 -P\\.\COM3 -D -Uflash:w:”C:myfile.hex”:i

  33. Matt
    March 19th, 2011 at 17:33 | #33

    I’m just tried with Uno as well, and received Upload Failed. Using the 328 and baud of 115200 as well. Any other ideas?

  34. Milton Vilela
    March 14th, 2011 at 03:43 | #34

    Parabéns pelo software.

  35. February 5th, 2011 at 18:02 | #35

    nice tiny tool, works fine with my chinese duemilanove clone, thanks

  36. admin
    January 24th, 2011 at 22:59 | #36

    I cant see why using Duemilanove/Nano (ATMega328) and baud rate 115200 should not work on UNO. Could you try running cmd and typing avrdude.exe to check what version you have?

  37. January 21st, 2011 at 19:54 | #37

    I am currently testing it with Arduino Uno, but it returns “Upload failed”.

    Using Arduino Uno (ATMega32) with original bootloader, USB cable on port COM10.

    XLoader settings:
    Duemilanove/Nano (ATMega328)
    COM10
    Baud rate 115200, tried also the original 57600 and even 9600 :) ), no luck.

    If you will modify the project and don’t have an Arduino Uno to test it, then I am willing to do it for you.

  38. admin
    January 19th, 2011 at 23:10 | #38

    Yes it should work on UNO. But i dont have one to test on. Are you still having trouble?

  39. January 17th, 2011 at 12:45 | #39

    Hello,
    Thanks for this usefull utility. Is it working with arduino uno?
    I tried it but it freezed and nothing happened.

  40. hellghost
    December 28th, 2010 at 19:47 | #40

    Thank you very much ! and happy year !