AVR programmers: getting a little overwhelmed by options... - Page 1
Forum section: electronics / general

author: iamwhoiam
author_rank: Contributor
timestamp: June 14, 2012, 12:07:12 am
content: Hi chaps and lady folkI am trying to buy an AVR programmer; on one hand, it has been suggested that I buy the (rather expensive) AVR Dragon, whilst on the other hand, I see that the "Lady Ada" ISP (6/10 wire) one is very popular, and since the guy who is teaching me AVR programming recommends one, and since his tutorials are exemplary, I cannot see why that wouldn't be a good choice either, at less than 1/2 the cost of the AVR Dragon (talking about drag on, I'll get to the point):I am only dipping my proverbial "toe" in the water, for now... so what would you recommend?Thank you

author: johnnyfp
author_rank: Frequent Contributor
timestamp: June 14, 2012, 12:39:08 am
content: Depends on what your programming.The AvrDragon is not that expensive (ok three times more expensive). But it's cheap for US$65, for what it can do. For example, it can do JTAG. It can do Debugging and it can Program at32UC MCU's as well as every thing else. While the USBTiny ISP cannot.I bought a USBTiny then a AvrDragon. I threw the USBTiny into a drawer to and never looked back.Jfp

author: olsenn
author_rank: Frequent Contributor
timestamp: June 14, 2012, 12:46:48 am
content: The AVR Dragon is truly your best buy for a starter Atmel programmer. I even prefer it over my AVR ONE! programmer/debugger I purchased when they were on sale for $200. The Dragon has HV programming and does virtually EVERYTHING you may need for their 8-bit MCUs. The only bennefit to other more expensive programmers are support for their 32-bit lines of microcontrollers, NEXUS debug/trace, and speed of operation.Knockoff programmers may not be supported by AVR Studio and thus you will need to waste time using other crappy software, and debugging may be impossible. Furthermore, the ISP programmer is only capable of programming through ISP... this sounds like all you'll need... until you need to reset a fuse! Don't cheap out; buy the AVR Dragon!

author: Psi
author_rank: Super Contributor
timestamp: June 14, 2012, 02:13:47 am
content: I built a USBTiny ISP a year ago, it worked except it bricked ATmega16's on occasion.During development while uploading some flash code (not fuse bits) one of my prototypes stopped responding to SPI commands and started running at twice the speed it was supposed to be. (Which shouldn't even have been possible since it was already running at the max 8mhz for onboard osc)I figured it was a fluke, built a new prototype and kept working. I finished my project and assembled 25 more units, but when i went to flash them 2 out of the first 10 did the same thing. I quickly switched back to a basic printer port programmer and the remaining 15 flashed fine.I'm pretty sure the issue was corrupted fuse bits, but how they got corrupt when i wasn't even flashing them at the time i'm not sure.I only assume the 'double speed' issue was caused by undocumented fuse bits being set/cleared, (maybe there's a secret 16mhz mode).The only thing i can think of is that i had to add the ATmega16 programming specs to the Burn-O-Mat software because it didn't know about the chip.There was some program timing settings required and i checked them carefully with the datasheet but maybe i got one wrong. Or it maybe a timing issue inside the programmer firmware.So yeah, i don't really recommend the USBtiny

author: hlavac
author_rank: Frequent Contributor
timestamp: June 14, 2012, 02:43:08 am
content: Quote from: olsenn on June 14, 2012, 12:46:48 amI second that. Happy AVR Dragon user here.

author: EEVblog
author_rank: Unknown
timestamp: June 14, 2012, 02:57:33 am
content: Quote from: olsenn on June 14, 2012, 12:46:48 amI agree. Only buy a programmer that is officially supported by the AVR toolset.I use the AVR ISP Mk2. Fine for just simple programming. No debug support.Dave.

author: PeteInTexas
author_rank: Frequent Contributor
timestamp: June 14, 2012, 03:07:56 am
content: Quote from: iamwhoiam on June 14, 2012, 12:07:12 amIf you foresee yourself getting "ankle deep" in AVR programming, then you should go for the Dragon. I've screwed around with making one and that was more frustrating than instructive.

author: johnnyfp
author_rank: Frequent Contributor
timestamp: June 14, 2012, 03:14:38 am
content: Good choice.It's an all round (cheap for what it does) good programmer. You'll be ok with it.One thing to add is that if you are going to play with at32UC's and want to use aWire, then the pins you will be interested in are on the JTAG header. These are PIN 3 (aW or TDO),4 (+3.3v or vtg) and 10 (gnd). These three must be connected and the board powered up for aWire to work and be able to program this chip.Just telling you this as it's missing from atmel website and I had to raise a Ticket to get the information. Oh and doing and using the Atmel Studio makes coding for the 32bit MCU a snip, I had hello world up in no time.

author: PeteInTexas
author_rank: Frequent Contributor
timestamp: June 14, 2012, 03:36:12 am
content: Quote from: iamwhoiam on June 14, 2012, 03:11:08 amExcellent! the next task is to find a "lair" for you Dragon. For me, simply using 25mm machine screws as stand offs worked well. Also, don't make your cable too long and always start off at the lower speed. This will avoid early frustrations and unhappiness.

author: johnnyfp
author_rank: Frequent Contributor
timestamp: June 14, 2012, 04:27:00 am
content: They still make AtMega32's?I completely understand. I just wanted to put it in there so that when someone else google or searches for AVRDragon and aWire, they'll get the answer.Have you tried an arduino? They are AVR and have a boot loader to boot. But you can still do all your AVR type coding, just it's in a nice already made package.

author: free_electron
author_rank: Super Contributor
timestamp: June 14, 2012, 02:58:31 pm
content: whatever you get, make sure it is an official Atmel programmer and not a wingpangpong clone.i have both the real programmer and one that comes from sure-electronics..they sit in the same case .. but the guts arenotabyl different ! the winpangpon one is just an atmel chip with some open sores flashy soft installed... sometimes it works , sometimes it don't. the real one has a bunch of chips in the box and always works fine.

author: bingo600
author_rank: Super Contributor
timestamp: June 14, 2012, 03:29:16 pm
content: The best programmer is the AVR ISP-MK2 , as it also does PDI (Xmega) & TPI (the new tiny's).But no debugging , and no HV-Programming (High voltage = rescuing a misprogrammed chip)The best bang for the buck , is prob. a Dragon , as it does HV-Programming , and also does debugging.But it cant program all tiny's or all xmega's./Bingo

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: June 15, 2012, 12:21:14 am
content: Quote from: EEVblog on June 14, 2012, 02:57:33 amAnother reason to get a manufacturer's programmer is it will usually be the first to support new devices. Unless they discontinue the programmer in the meantime of course..!

author: johnnyfp
author_rank: Frequent Contributor
timestamp: June 15, 2012, 12:36:55 am
content: Quote from: iamwhoiam on June 14, 2012, 02:15:32 pmNo, I'm not saying to use the Arduino IDE. Just use the Arduino Hardware, like a Mega or Uno, but code it using eclipse/Atmel Studio in C. Saves on having to develop a new PCB (and why reinvent the wheel) and is more reliable than Breadboard. An ATMEL device is the same, be it on your own board or a arduino made board.This way you can get up and running very quickly without the hassle of wondering if its your code or your circuit is at fault.

author: hlavac
author_rank: Frequent Contributor
timestamp: June 15, 2012, 01:50:57 am
content: Arduino works fine with plain AVR development, I just had to unsolder the capacitor between reset and DTR(?) of the serial port they use for automatic reset into bootloader when serial port is opened on the PC. Now I can use debugWire and the ISP connector just fine. I have put the cap on a jumper so I can put it back when I want to use the board with Arduino IDE again.