AVR programmer made without a programmer

[blueHash] uses this cheap development board as an AVR programmer. What’s interesting to us is that it solves the chicken-or-egg problem that is usually encountered when bootstrapping a programmer. We’ve written about this issue before. Most programmers use microcontrollers, which first need to be flashed using a programmer. But it turns out the chip on this dev board has a DFU mode which gets around that conundrum.

He grabbed a uSD dev board for about $6. It’s got a crystal, an ATmega32u4 chip, and on the other side there’s a MicroSD card slot. We looked around and found an Atmel Datasheet (PDF) which describes the Device Firmware Upgrade mechanism. The AVR devices which support DFU are factory configured to use it. This dev board is designed to use DFU so all [blueHash] needed to do is find and configure a ISP firmware package that worked with this chip.

20 thoughts on “AVR programmer made without a programmer

  1. the price of a computer with a parallel port is SO cheap it’s… FREE? oh yeh i forgot

    db25 connector, check!
    scrap wire, check!
    resistors, optional, but still, check!

    DFU is a bootloader, which is akin to buying pre-burnt-with-bootloader AVR’s

    your just passing the chicken-and-egg problem onto the manufacturer/retailer, a different one in this case. which by the way, charges a small fee to do, even if included (product just costs more)

    i know the latest computers are lacking,
    but seriously, your playing with microcontrollers and you dont have an extra computer or two, or three that have the facilities to program without needing to buy expensive chips, all while sending a small fee to the USB-nazis.

    with USB your either;
    1) breaking the standards, which defeats the whole idea of having a UNIVERSAL port in the first place, or
    2) paying an arm and a leg to get a license to sell it(your product) commercially. or otherwise,
    3) your pirating the VID/PID pairs off of some other device.

    the computers (with RS/LPT) im referring to are fast enough for the microcontroller programming, what with the 2.5 GHz DUAL-core combined with RS232 serial and SPP/EPP/ECP parallel port

    or a laptop @ 1.8ghz with RS232 and SPP/EPP/ECP parallel port.

    if you feed it XP it WILL go fast enough… just dont put all that useless crap you’d usually put on your “personal-everyday” computer

    PS: avrdude is still able to burn directly to the parallel port, and im guessing someone will suggest removing it(LPT support) from avrdude JUST to piss off people like me.
    people who use the parallel port tend to not get involved in the whole USB vs REAL ports, because theyr shy, im representing all the people who dont go reading online sites such as HAD and useless messageboards, because all everyone on the internet talks about is USB!

    most of all robots in industry are NOT compatible with USB -> RS232 converters!

    why? because they dont have a spare 25 million to spend on ALL-NEW manufacturing equipment. espically when the equipment still works…

    for them a pile of “slightly older” laptops is TOTALLY worth it, even if they pay “new” price, it allows them to continue using thier 2million(each) dollar robots!

    1. That’s some serious USB hating.
      It’s not people like blueHash cutting out the hardware you have such strong feelings for. These USB people are just working with what they’ve got. And most computers today do _not_ have old parallel/serial ports. Also, an old usb-hosting computer can be had just as cheaply as one without (if not cheaper; pre-usb units are starting to see collector/nostalgia/vintage price hikes, while most usb-aged machines is still just old junk).

    2. I would have preferred parallel or serial if my comp had it. Easier to understand. In the end, I found it more convenient to go the USB route.

      Spent quite a bit of time on a wild goose chase trying to see if I could use the USB lines for serial IO (yeah, I know, after you enough how silly that sounds). Gave up, and started reading up on USB.. doesnt look as bad once I got started.

      About VID/PID. Kinda valid rant, I didnt know much about this. (Found http://fourwalledcubicle.com/blog/2010/03/obtaining-a-vid-and-pid/, see the comments).

    1. maybe i should have started by pointing out that this article is nothing more then instructions that say you can purchase anything you want on the net. that should already be obvious. we all know re-sellers sell pre bootloaded chips. and we all know the 32uX has DFU. its been nonstop featured on here so much that even i know how to do it and i dont even care!

      keep in mind he is not solving any problem at all!
      he is showing us that we could buy a pre-bootloaded chip from another source and use that to load the bootloader onto a chip that doesnt come with bootloader, CODE TO DO THIS IS INCLUDED IN THE ARDUINO IDE! so instead of buying an arduino chip without the arduino board, and using that as a way to get started, he purchased it from a completely different chip source (32uX) but he is NOT getting around the problem of refusing to learn how to use ICSP the normal way!!! the way we have been doing since before ICSP existed.

      buy! buy! buy! sign up for paypal! ebay! money money money!!!

      H.A.D. is starting to be taken over by people screaming BUY! BUY! BUY! sign up for ebay now! paypal is your master!



      anything involving actually HACKING the hardware of devices we already own?

      no, because you should only own/use what you have been told to buy.

      H.A.D. is supposed to be a site to show people how-NOT to buybuybuy, its how to hack, build, make, and invent/reuse/recycle/reprogram INSTEAD OF JUST BUYING, BUYING IS NOT HACKING, OR BUILDING.

      i know damm well i can buy anything on the net, PRE-burnt bootloaders and all. if i wanted to buy such things i’d hit up ebay and google and click on advertisements.

    most of all robots in industry are NOT compatible with USB -> RS232 converters!”

    Please cite or justify this statement. in many cases (FTDI) you cannot tell the difference between a USB-RS232/RS485 convertor and a ‘real’ RS232 port.

  3. There are other ways:
    1) buy a $3.5 avr usb programmer
    2)ask a friend

    3)use the rest of the pins from a usb to serial converter to bit bang your code into the programming microcontroller and then have a working programmer. Did dat a few times with various(both commercial and DIY – FT232) converters, took about 15-30 minutes to program the code in a tiny2313 for an AVR911 programmer.

    1. 1) they arent $3.5 theyr $35 and up, or so i THINK

      2) your method you just mentioned is intruiging, i’d be interested in an article on THAT!

      something i already own, something i can bend to my will, something to do that doesnt start with a creditcard!

      Bogdan you are mostly on my side
      see if H.A.D. will ***_”LET”_*** you post an article on how to stick it to the man and use a USBserial converter to do ICSP! :D

      im sure there are countless people that would download your hard work, people that would NEVER pms all over HAD like im doing right now, just to prouve a point

      PS: i’ll interpret your “ask a friend” as “find an internet cafe” … those places always have older sh***y computers, ones loaded with serial andor parallel. well, the inetcafes with cheaper rates at least.

    LOL if you want to do FPGA how do you solder it?!?!?!
    Right. You have to spend >100$ to get a board. And then you have to use propertiary software (probably not running on linux) to program them. Maybe spend much money on JTAG and or the programmer.
    Good that i dont have FPGA would not know what to do with it. Making a project on it and then tell people: *g* this did cost me 199$.
    Time to get the next board because this is now clued into my “cheap” 199$ project. *g*g*g

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s