Cheap AVR programmers, are they any good ? - Page 1
Forum section: electronics / general

author: Simon
author_rank: Unknown
timestamp: November 11, 2012, 08:28:00 pm
content: There are loads of chinese avr programmers on ebay, how do they compare with the originals ? are they worth a go ?

author: bingo600
author_rank: Super Contributor
timestamp: November 11, 2012, 08:55:06 pm
content: It depends ...Do you want a playtoy or a robust original unit.The real AVRISP MKII (that has offical support) and programs every AVR MCU from Tiny4 to Xmega384 , isn't that expensivewww.ebay.co.uk/itm/261009325387I have both an USBASP and an original AVRISP MKII.I got the USBASP for 6€, an ok price for a "hobby unit" (that just only added PDI/TPI support).The 35€ AVRISP MKII , have had original AVR Studio support for all MCU's since the MCU's were released (an Atmel firmwareupdate of the programmer)For anything above 15€ ... I'd say go for the real AVRISP MKII.There's a lot of good AVRISP MKII "lookalikes out there" , but i rarely see an AVRISP MKII (chinese) tha comes in the "Atmel Box" , but i'd buy fron an EU source/shop./Bingo

author: McMonster
author_rank: Frequent Contributor
timestamp: November 11, 2012, 08:59:33 pm
content: The cheapest USB AVR programmer I know that is still worth something is USBasp. Assuming someone put a real micro with correct firmware the only known problem for them are wrong voltage Zeners (it sometimes doesn't work with 3.6 V, the proper are 3.3 V). You can get one with selectable 3.3 or 5 Volts and a good one has jumpers available for self-programming, powering the target and slowing down programming clock.

author: Simon
author_rank: Unknown
timestamp: November 11, 2012, 09:09:17 pm
content: I'll get an original as soon as i'm paid and flog that good for nothing pickit3

author: Kremmen
author_rank: Super Contributor
timestamp: November 11, 2012, 09:10:05 pm
content: But what about debugging? Did you plan to do any of that or are you planning to do error free code every time?While the JTAGICEs are in a different price category, in commercial work at least one should calculate how many hours of head banging one of them is worth... not that many at all.For hobby it is another thing of course and anything goes. Because who counts the price of a hobby, eh

author: Simon
author_rank: Unknown
timestamp: November 11, 2012, 09:12:11 pm
content: I gather that this:http://uk.farnell.com/atmel/atavrisp2/programmer-avr-mcu-isp/dp/1135517is what I need

author: Kremmen
author_rank: Super Contributor
timestamp: November 11, 2012, 09:23:25 pm
content: Yes, that will work as far as programming is concerned.To do debugging as well, you need this:http://uk.farnell.com/atmel/atjtagice2/development-kit-debug-tool/dp/9171100

author: Simon
author_rank: Unknown
timestamp: November 11, 2012, 09:37:04 pm
content: stuff that ! so what does the £26 thing do that the £15 ones on ebay don't ?

author: Mechatrommer
author_rank: Super Contributor
timestamp: November 12, 2012, 02:17:06 am
content: Quote from: Kremmen on November 11, 2012, 09:23:25 pm£230.27? holy cow of marry!

author: Simon
author_rank: Unknown
timestamp: November 12, 2012, 06:53:33 am
content: Quote from: DiligentMinds.com on November 12, 2012, 05:34:21 amMicrochip are not far behind and no doubt will catchup. Pickit3 was a start, Yes I noticed that the atmel IDE is massive

author: Kremmen
author_rank: Super Contributor
timestamp: November 12, 2012, 07:26:38 am
content: I guess part of the massivity comes from Studio 6 being built on Visual Studio 2010 andsupporting both AVR and ARM, but who knows. I have it installed and it works OK with JTAGICE3, the newer and cheaper version of JTAGICE. That box in turn ONLY works in Studio 6 so be careful if you consider it.So far i only use Studio 5 for production code because of another quirk of 6: it does not fully support C++ debugging! Go figure. Class member variables never show in the debugger and Atmel has acknowledged this so Studio 5 / JTAGICE 2 it is for C++ so far.And let me agree with DiligentMinds; once your code goes over a some not so big limit, you _will_ need a debugger to iron out the wrinkles. Luckily there is the built in simulator that lets you debug algorithms and software constructs, but that won't let you interface with the real world from code executing in the target at full speed.Now the Farnell price for JTAGICE 2 is a joke. As they say, caveat emptor. You can find the same thing at significantly more reasonable prices elsewhere. That said the box will set you back a couple hundred euros in any case. Now you may ask yourself, what is the difference between a programmer and ICE. Actually, the only similarity in this case is, well, the case. They look the same and both do programming. But only the ICE 2 does debugging. Its name says JTAG but in addition to that it does PDI, debugWire, aWire, SPI, in fact all debug protocols supported by any Atmel chip. Other than that it is a Nexus compliant device supporting 6 simultaneous program counter breakpoints and 2 data breakpoints. Some of those in ranges, some as watchpoints. I could go on but since Atmel does not pay me for advertising their products, you can check the rest from their documentation.Debugging is an integral part of any software creation workflow and if you don't have a debugger, how you gonna do that?Quote from: DiligentMinds.com on November 12, 2012, 05:34:21 amThat is not entirely accurate. In fact it is the other way around (they say - i never tried). Studio 5 does not support the JTAGICE 3 whereas Studio 6 has no problems with JTAGICE 2. I know the last part for a fact since as i write this i have in front of me a functional combination of Studio 6, STK600 with UC3C1512 processor and JTAGICE 2 connected to the JTAG input of the STK. The debugger has no problems reporting target voltage and processor signature. The latter is a sure sign that communication works normally.P.S. the fact that the tools are massive in disk size and that they take their time loading never bothered me. Disk is cheap and if you spend hours, days and weeks writing code, who cares about the few tens of seconds the IDE takes to warm up. I know i don't.

author: Simon
author_rank: Unknown
timestamp: November 12, 2012, 07:48:38 am
content: ok, dragon it is. I care little for cases anyhow, prefer to scare peopleI can see why atmel is not so popular, what are they playing at ? how do I get older versions of the ide ? what are the differences ?

author: Kremmen
author_rank: Super Contributor
timestamp: November 12, 2012, 08:30:17 am
content: Quote from: Simon on November 12, 2012, 07:48:38 amI don't really see that Atmel is "playing" at anything. Don't really see why you say that.Older IDEs ( at least Studio 4 and 5) are available in the archive here:http://www.atmel.com/tools/STUDIOARCHIVE.aspx. Took me 10 seconds to find on Atmel's site. Now that wasn't hard?Differences btw 5 and 6 is that 6 also supports Atmel ARM processors and i guess more of the AVRs as well. Although i am not aware of any that are missing from 5, come to that.

author: HackedFridgeMagnet
author_rank: Super Contributor
timestamp: November 12, 2012, 09:26:22 am
content: I dont think this is worth a new thread.I have just convinced the boss to let me redesign a bit of hardware, so after to-ing and fro-ing a bit I settled on an Attiny micro. the board is going off to the manufacturers tomorrow.Now I want to get him to spring for a debugger.I run Visual Studio 2010 at work.At home I run 2010 and have installed Atmel Studio 6, and I upload with the AVR dragon.I will be coding in C. 8k ram max.Should I get the JTAGICE3? Should I get the official one or is there some cheaper clone. Because the code should be relatively simple I may not actually need a debugger, but I would like to try one out on this platform, and you never know it may save me some time in the long run.Recommendations?

author: Simon
author_rank: Unknown
timestamp: November 12, 2012, 09:34:15 am
content: so the standard programmer will work in atmel studio 6 ?

author: HackedFridgeMagnet
author_rank: Super Contributor
timestamp: November 12, 2012, 09:41:37 am
content: I have used the AVR dragon with atmel studio 4 and 6 but to change between them either way requires a firmware update for the dragon.I don't like to do this often so I stopped using studio 4.I am using the ISP pins.

author: notsob
author_rank: Frequent Contributor
timestamp: November 12, 2012, 09:49:31 am
content: Simon - have a look athttp://www.avrfreaks.net- from memory there were some problems with the dragon, most likely resolved these days.

author: madires
author_rank: Super Contributor
timestamp: November 12, 2012, 10:23:14 am
content: Currently I'm using the BusPirate for the ATmega MCUs but I'll need a programmer supporting PDI for a new project based on a XMEGA. There's an universal AVR programmer (5V, 3.3V, ISP, PDI, TPI) called "Diamex All AVR" which looks promising. Reichelt sells it for EUR 29,50. It's supported by avrdude, AVR-Studio and ATMEL-Studio.BTW, my IDE is based on make, avr-gcc, avrdude and nedit. No bloatware :-)

author: Kremmen
author_rank: Super Contributor
timestamp: November 12, 2012, 10:30:41 am
content: Quote from: HackedFridgeMagnet on November 12, 2012, 09:26:22 amI can confirm this much:JTAGICE 2 works with both Studio 5 and Studio 6. I have used Studio 5 0 JTAGICE 2 for production code debugging and programming and this combo works fully.JTAGICE 3 works with Studio 6. With Studio 5 (build 5.0.1223) i made the same test as previously: contact UC3C1512 on a STK600 dev board using JTAG. Core voltage, processor signature and fuses were readable after setting the comms clock sufficiently low (you need to do this anyway, it is not a symptom of anything). However i have to report failure because the JTAG master inside the ICE3 reported occasional busy errors and physical activation failures. So while it did work a bit, it is actually not usable. If memory serves there has been some discussion about signaling levels so this could be related to that.So looks to me like combinations btw Studio 5&6 and ICE 2&3 except 5+3 do work.Edit: fixed the working combos.

author: Simon
author_rank: Unknown
timestamp: November 12, 2012, 09:36:50 pm
content: where do i get information on atmels idea of C ? and how their libraries work, or is this another vendor that thinks I'm telepathic ?

author: Kremmen
author_rank: Super Contributor
timestamp: November 12, 2012, 10:13:34 pm
content: Quote from: Simon on November 12, 2012, 09:36:50 pmAtmel uses GNU C and C++ compilers i.e. gcc and g++ so that is pretty standard. The variant is AVR-gcchttp://gcc.gnu.org/wiki/avr-gcc.The runtime library is AVR-libchttp://www.nongnu.org/avr-libc/.Then there is the Atmel Software Framework - not a library exactly, but a large assembly of source code that the IDE can include into your project.http://www.atmel.com/tools/AVRSOFTWAREFRAMEWORK.aspx.So, no telepathy involved, but you need to do a bit of reading.

author: McMonster
author_rank: Frequent Contributor
timestamp: November 12, 2012, 10:42:18 pm
content: Quote from: madires on November 12, 2012, 10:23:14 amI've seen simple mod to USBasp to allow programming using PDI (still no debugging). Just for reference.

author: Simon
author_rank: Unknown
timestamp: November 13, 2012, 06:43:00 am
content: Ah ASF, more bloatware ? I'll take a look, I know that C is C but the libraries and #defines are highly specific

author: Kremmen
author_rank: Super Contributor
timestamp: November 13, 2012, 09:04:56 am
content: Quote from: Simon on November 13, 2012, 06:43:00 amIt is a bit bloated but i would say for a reason. Atmel themselves say that these snippets are as much for demonstration and "training" as they are for final implementation. They should be fully functional production ready code (i have by no means verified this, but that's what they say) but at the same time hardly an optimal implementation. For me their main value is to see a demonstration of functioning code that can then be modified in any direction i see fit. I don't think i have actually used any of it as such, excepting the functions in the DSP library part.All hardware related functions and defines are necessarily device specific although several devices can and do share features.One thing i think Atmel guys did get right is the io.h include that automates inclusion of the device specific I/O definitions based on the device specified in the project. That of course applies to the Studio IDE only, but you can do it also by manually specifying the switch for the compiler.P.S. Also noting that the embedded device register names specified in the io.h system match those of the individual device datasheets is a huge help. You don't need to check each and every one separately.

author: janoc
author_rank: Super Contributor
timestamp: November 14, 2012, 01:33:40 pm
content: Quote from: Mechatrommer on November 12, 2012, 02:17:06 amGet an AVR Dragon, it is not as robust, but you can debug and program with it and it costs much less.

author: mrflibble
author_rank: Super Contributor
timestamp: November 14, 2012, 01:47:10 pm
content: Quote from: janoc on November 14, 2012, 01:33:40 pmWoah! That ATJTAGICE2 price point is from the same millenium as 5 Volt logic. @_@ You can buy entire bench DMMs for that. And then have spare change for a dev board from this century that includes onboard programming & debug.Nice of them to still keep it in stock though, by way of contrast...

author: Kremmen
author_rank: Super Contributor
timestamp: November 14, 2012, 05:01:08 pm
content: While Dragon does many of the same things as the JTAGICE, compared to the latter, Dragon is a toy. Bare board, easy to kill, gets confused regularly. Sure if you have the time and inclination to mess with such, feel free. The JTAGICE may appear expensive to those who have more time in their hands and less reuirements for results, but the price difference does not amount to that many hours of troubleshooting the toy.All in all, the JTAGICE is quite reasonably priced for professional use, not excluding serious hobbyists.The JTAGICE, same as 5V devices, is not going anywhere in a hurry, whatever your personal opinion may be.

author: ee851
author_rank: Regular Contributor
timestamp: December 19, 2012, 08:17:04 pm
content: Ken,Thanks for the heads-up on the Atmel AVR 5.x IDE.Kremmen,Good to know the AVR compilers are derived from gcc and g++ !

author: svofski
author_rank: Regular Contributor
timestamp: January 05, 2013, 12:00:44 pm
content: I program AVRs with PICkit2 :D

author: Alana
author_rank: Frequent Contributor
timestamp: January 05, 2013, 12:39:05 pm
content: Interesting... any details? Me got my hands on pickit2.

author: svofski
author_rank: Regular Contributor
timestamp: January 05, 2013, 12:48:26 pm
content: One way would be to do it like so:http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=103853But there is another way, take a look here (it's in Russian but maybe google translate can help. Ask me if you need some translation details)http://elena-march.narod.ru/It's a firmware that makes PICkit2 present itself to the host as AVRISP-mkII. It worked well for me.

author: Alana
author_rank: Frequent Contributor
timestamp: January 05, 2013, 02:34:52 pm
content: Tank you, i think google translate is enough for this one.

author: ScienceProg
author_rank: Newbie
timestamp: January 22, 2013, 10:04:42 pm
content: Well I still use DIY AVR programmers. In early days I have build several of them and they still work fine.First was simple serial port programmer that worked with ponyprog. Then followed parallel buffered port cable.Then JTAGICE clone, USBasp, STK500V2.Lately I try to use bootloaders if possible.If you don't do mass flashing, cheap solution or DIY is enough IMHO.