Build your own AVR JTAG ICE clone
-->After unsuccessful attempts to run few programs who drive peripherals like USART and Timers on Atmega128 I decided to make JTAG debugger. I hope it will allow me to see what is really happening – is may atmega128 corrupted or something is really wrong with software or with hardware.

The most widely used AVR JTAGICE clone is AVR miniICE which is compatible with original AVR JTAGICE. AVR JTAG mainly is used for target board debugging in real world. And of course you also can program your AVR’s with it.
To build this board is very ease as its schematic is simple:
List of materials you will need:
Amount-Type-Title
2-470R-R1, R2
1-10K-R3
2-22p-C7, C8
6-100n-C1,C2,C3,C4,C5,C6
1-LED-G-D1
1-LED-R-D2
1-ATmega16L-DD1
1-MAX3232-DD2
1-7.3728 MHz-Q1
All secret in its firmware, but don’t worry – it is ready to go.
AVR MiniICE has following properties:
-
Is compatible with AVR JTAG ICE;
-
It is capable to debug and program Atmega microcontrollers with JTAG interface;
-
Real time debugging support;
-
Regular updates of firmware to support new types of AVR;
-
Updates can be done directly from AVR Studio;
-
Power supply from 2.6 to 6V;
-
Connects to AVR Studio through COM port;
-
Two LED indicators (“Power†and “Connectâ€).
Now AVR studio 4 supports following AVR MCU’s (may be already new ones included):
-
ATmega128, ATmega128L, AT90CAN128
-
ATmega16, ATmega16L
-
ATmega162, ATmega162L, ATmega162V
-
ATmega165, ATmega165V
-
ATmega169, ATmega169L, ATmega169V
-
ATmega32, ATmega32L
-
ATmega323, ATmega323L
- ATmega64, ATmega64L
How to set up this adapter to be ready. Main thin is that you have to upload the firmware to it. For this you will need ISP programmer. First of all you will need to upload a Bootloader (or Alternative bootloader )to Atmega16 to be able to update firmware to newest one located in AVR Studio directory.
When bootloader is programmed program fuses like this (Using PonyProg):
Then connect AVR miniIce cable to PC COM port and start AVR Studio. In AVR Studio Tools menu locate AVR Prog. And browse for file upgrade.ebn in AVR Studio directory (by default in “C:\Program Files\Atmel\AVR Tools\JTAGICE\Upgrade.ebn â€):

After AVR is programmed (usually you will get som error message – don’t care about it), you can program AVR fuses to its previous state – in order to disable bootloading:

This is it. You have done. If you did it correctly it should work. Here is my prototyping view:
As I mentioned, AVR MiniICE can be used as AVR programmer as well. Goto Tools->Program AVR. Then select AVR programmer JTAG ICE and desired COM port. After this you will be directed to JTAG ICE dialog window where you can program you target AVR:

How to start debugging will be in following articles.
Download Another AVRICE project with SCH and PCB files as images.
Blogsphere: TechnoratiFeedsterBloglines
Bookmark: Del.icio.usSpurlFurlSimpyBlinkDigg
RSS feed for comments on this post | TrackBack URI for this post
New on WinAVR Tutorial
Running TX433 and RX433 RF modules with AVR microcontrollers,Sometimes in embedded design you may want to go wireless. Might be you will want to log various readi …Programming AVR ADC module with WinAVR,Most of AVR microcontrollers have Analog to Digital Converter (ADC) integrated in to chip. Such solut … |
New on WinARM Tutorial
What are differences between WinARM and WinAVR,Everyone who is working with AVR microcontrollers knows this powerful tool – WinAVR (http://win …LPC2000 watchdog timer,As in all microcontrollers watchdog timers purpose isto reset microcontroller after reasonable amount … |

November 2nd, 2006 at 3:21 pm
I’m wondering why they used a Mega16, and not a smaller one like a Mega8…
Is there a way to get the source code ?
November 2nd, 2006 at 10:41 pm
I guess this is because firmware is too big for atmega8. The code is provided is bootloader which for loading the main firmware and it is bigger than 8kb.
For bootloader you can find many code examples, but JTAGICE firmware is ATMEL’s property and it only provides compiled file needed to update the firmware for atmega16.
November 3rd, 2006 at 3:58 pm
Ok. I understand this stuff right now.
Many thanks for your great job ! ;)
November 8th, 2006 at 5:02 pm
Hi all,
is there any link where I can download better images of schematic?
You’re talking about next article on how to use it. Was it already published? Where?
Thanks a lot.
November 8th, 2006 at 11:20 pm
One of Jtag variants with many pcb formats you can download here:
avr_jtag.zip
I am going to write article about how to use AVRJtag step by step. I am just waiting for my development board to be finished as my previous had some failure.
November 13th, 2006 at 4:56 pm
Hi all,
I’ve made the circuit, then I’ve programmed my ATmega16 following the instructions above, but the JTAG hasn’t worked. I’ve wondered I’ve made some mistake while setting fuses so I’ve tried to repeat all the procedure but neither PonyProg nor a professional programmer (DataIO) has recognized the chip. Can you give some hint how to recover the chip or I have to give it a decorous burial?
Where is the critical step in the procedure? I’d like to avoid killing another micro….
cheers, Luigi.
November 14th, 2006 at 5:21 pm
I think the only thing you might done incorrectly was fuses. If you did like in screenshots your Atmega16 at least had to be recognised by ponyprog. While working with AVRPRog be sure to uncheck BOOTSTR fuse – it is only needed when you upgrade Jtag (Atmega16) firmware.
Of course there is probability that Atmega16 just have died. You can try to repair fuses by attaching external clock source.
For me above steps have worked well, jus I hadn’t chance to test Jtag on target board but setting Atmega16 jtag and updating firmware went without problems.
November 20th, 2006 at 12:16 pm
I want to repace the RS232 with a USB cable ,what kind of changes are necessary, i want to build one use USB rather than serial,bcoz my computer doesnt have a serial25
November 23rd, 2006 at 2:24 pm
i want to try this tools, but the schematic is to small, i can not read it .. i need a bigger schematic ..
tanks.
November 23rd, 2006 at 5:38 pm
I have updated JATAG schematic. Now it is in PDF format and you can zoom it to any size.
November 24th, 2006 at 6:16 am
Tanks for the new schematic in pdf format. I ask again.., can i replace ATmega16L-DD1 with ATMega16 or ATMega8535\ATMega8515, replace MAX3232-DD2 with MAX232, replace 7.3728 MHz-Q1 with 4 Mhz or 6.6864 Mhz or 8 MHz .., because i can not find that components .
Tanks
November 24th, 2006 at 9:07 am
i see the size of boot.hex = 41 KB, but the flash size of M16 = 16 KB, so .. is it enough ??
tks
November 24th, 2006 at 10:37 am
Do not look too much at the hex file size. It is always bigger than it is burned to Flash. In hex file is more additional information which is not burned to flash.
And yes you can interchange ATmega16L-DD1 with ATMega16 as they are same microcontrollers just supply voltages differ. Again MAX3232-DD2 and MAX232 they are pretty same, just MAX3232 is used in 3.3V systems. If you power Atmega16L with 3.3V, then use MAX3232, if you will use ATmega16 and 5V supply then use MAX232 or you have to comply the voltages with additional circuitry. I don’t think that you can use Atmega8535 instead of Atmega16 and Crystal like 4Mhz without changing and rebuilding boot file. You can find this JTAG clone built on Atmega163 if you need.
November 24th, 2006 at 10:38 am
I am still waiting for my Atmega128 dev board to be finished that I could give a try to this JTAG clone.
November 25th, 2006 at 9:32 am
Firstly i try my M16 usart communication to my pc. i try, make small tester serial program in c language , observe the transmit data from M16 on the hyper terminal.., and the results is M16 usart and pc comm port is not communicate (data is not displayed in hyper terminal). For comparison, when i using the same MAX232 with the same circuit in smaller avr like at90s2313, attiny2313, at90s4433 there is no problem on communication between uart and pc comm port. Why my m16 usart can not connect to pc comm port ??, and i think my m16 is not dead, because i try the ADC and display the result in LCD (i use bascom avr) and that is run (no problem).
Please help me ..
Tanks ..
November 25th, 2006 at 12:21 pm
Don’t be sure that your Atmega16 UART is OK. I had similar problem with Atmega128 Only ports were working properly but not other peripherals.
December 25th, 2006 at 7:46 pm
hi,
if i use 11.0592 MHz crystal then, do i have to change any thing on th hex file. if possible can u send the source code for the boot loader.
Koushik
December 29th, 2006 at 1:51 pm
hi,
i am waiting for your reply,
Thanks,
Koushik
December 29th, 2006 at 3:01 pm
Hy,
Sorry for delay…
You have to match the freq , as the Jtag program downloaded into the M16, is the Original Atmel binary , that expects a 7.3728 (or close to that)
Some guy replaced the original 7.3728 Mhz by 7.345Mhz and worked nicely as – 280Hz difference did not change the baud rate for the UART.
If you need you can use like a 14.746 Oscillator (TTL output) , and a flip-flop to divide the freq by 2.
Anyway why would you change crystal?
There are many versions of boot-loaders and I don’t really need a source code as there are ready to burn hex files. I have found one source file written in basic language. If you need I can share with you.
December 29th, 2006 at 5:51 pm
Hi,
Thanks for your reply but can u tell me one thing i got 7.2MHz xtal, so can i use it. And pls share the basic code with me at least i can now some thing about it.
Thanks,
Koushik
December 29th, 2006 at 6:31 pm
7.3728-7.2=is about 1728kHz. I wouldn’t dare to predict the behaviour. You can try and let me know.
It doesn’t seems to be a problem to get 7.3728MHz crystal as they are widely used.
P.S. Basic file sent ;)
January 1st, 2007 at 4:34 pm
hi,
thanks for your help, i’ll check the code and reply asap.
thanks,
koushik
January 5th, 2007 at 3:10 am
Hi
I have build MiniIce as above. After programming the ATmega16 the AVR-Studio gives me this message: “The OCD JTAG adapter was detected but the target device did not return a valid JTAG ID. Please check the points below…ect”
I have checked the points below and it seems to me OK.
One more thing, when I was programming the ‘upgrade.ebn’ in “AVRprog” window in “Device” I had “ATmega163″ but I couldn’t change it.
Thanks for any help.
Bye Jan
January 6th, 2007 at 9:02 am
I want to tell Mr. ScienceProg that I have been successfully built this mini JTAGICE (i am using Mega 16).
Thanks very much for your great idea and job.
Thank you very much.
regards
nyoms
January 10th, 2007 at 7:46 pm
Hi
I found where was my problem. After I connected to JTAG MiniIce some ATmega, it appeared that the JTAG device is working correctly.
Thanks to Mr. ScienceProg.
Bye
January 19th, 2007 at 2:44 am
What’s the difference between the 2 bootloaders provided on this site?
January 19th, 2007 at 2:18 pm
They are pretty thesame, just from different sources. Iam using Bootloader
January 20th, 2007 at 11:43 am
Thanks.
January 25th, 2007 at 10:14 am
I’ve used atmega16l, 7.3728 crystal and followed the above steps. But when I connect miniIce to COM port and select AVR Prog in AVR studio 4, it said that ” No supported board found, AVR Prog version 1.40″. Could you give me some hints ?
January 25th, 2007 at 11:08 am
I guess you forgot to set JTAGEN fuze on target MCU. Seems JTAG adapter is working.
January 27th, 2007 at 8:07 am
No, I did. Even I’ve tried two IC, and I’ve tried twice times each IC. I haven’t used PonyProg but I’ve set the fuse exactly. After not success, I have select “ICE50 Upgrade” in menu Tools, it said that it can’t find ICE, then it begin looking for bootloader, and finalny it can’t find bootloader. Have you ever met the same problem?
January 27th, 2007 at 4:29 pm
I’d met the same problem.I updated one time, but trying again AVRstudio message “No supported board found, AVR Prog version 1.40″. Fortunately, jtag works well. How can I update again?
January 29th, 2007 at 7:06 am
Hi Mr blackEagle ! I don’t understand what you said. You’ve met the same problem, then you tried other times and got the JTAG work. Is it right? And now what do you want to update?
January 29th, 2007 at 11:24 am
“No supported board found, AVR Prog version 1.40″ message means that Jtag adapter is OK and it tries to communicate to target board. so I would look for problems there. Might be wrong connector or some error in target board.
But its hard to say why ICE upgrade cant find bootloader. I would look for hardware mistakes first (is crystal 7.3728 Mhz, is there PCB OK, is COM OK, is Connector OK), then I would check if the AVR Studio is with newest update, and again I would check the fuses. As I didn’t face that problem I can only guess.
January 30th, 2007 at 5:41 am
I use 7.3728MHz Crystal, and I made the circuit on plastic board. The crytal is connected between pin 12 and 13. Two 22p capacitors connect those pins to GND(pin 11). Also have 10k+10u for Reset, 0.1u between pin 31 and GND. Pins 30, 32, 38, 10 are conneted to Vcc (5V). And there are for 10u for max232,…. When I selected “AVR Prog”, I saw that there some signal on RXD of AVR, but there is nothing on TXD. I have checked the fuses, but there is no wrong. I use AVR Studio 4.12. I have done the same for all my three AVRs, but the results are the same.
January 31st, 2007 at 12:40 pm
Hi Mr.Scienceprog ! My board has operated OK. That was my mistake, I have forgotten the resistor between Pin17 and GND. Thank you very much for you idea !
January 31st, 2007 at 12:42 pm
I think you should load the flash after you update using “AVR Prog”, so shorten the steps of making JTAGICE
January 31st, 2007 at 11:58 pm
datk45d, glad you made it.
– I didnt understand what do you mean by “load after update”…
February 9th, 2007 at 11:22 pm
Great article, I just used to program a ATmega16 and all ok. Now I will try to start debugging with it.
February 15th, 2007 at 9:55 am
my target board uses Atmega8 which seems doesn’t support JTAG port at all, right ?
so I think I don’t need jtagice programmer …
February 15th, 2007 at 12:34 pm
No Atmega8 doesn’t have JTAG port.
February 20th, 2007 at 5:52 am
Is possible to replace mega16 by mega168?
February 20th, 2007 at 1:02 pm
With this firmware and AVRStudio upgrades – not.
March 1st, 2007 at 7:30 am
Is possible to replace mega16 by mega162?
March 2nd, 2007 at 11:21 am
Is possible to replace mega16 by mega162?
No these devices aren’t compatible.
March 6th, 2007 at 6:15 pm
Can I change max232 to FTDI232??? I saw one LED, what LED is show??
March 6th, 2007 at 8:42 pm
I don’t know if debugging software would treat virtual RS232 port normally. Cant say for now.
LED in circuit indicates JTAG activity.
March 9th, 2007 at 2:15 pm
Can I programme mega16 by Byte-Blaster with AVReal?
And I have clone JTAGICE but placed FTDI instead MAX, and it was worked any times, and now refuse… what do me???
March 10th, 2007 at 12:36 pm
Hey nice work scienceprog!! I haven’t yet made it, but its a great idea.
To hell with the $500 Atmel programmer!!!
March 18th, 2007 at 10:35 pm
I am trying to upgrade the firmware through avrprog, and when avrprog is loaded the device is set to atmega163 instead of atmega16 BOOT. What can i do?
March 20th, 2007 at 12:06 pm
I cant say exactly for now, but once I had such situation. Maybe you have burnt atmega163 bootloader instead of atmega16. Or there is something wrong with detection with your adapter.
March 20th, 2007 at 8:21 pm
i burnt this bootloader : http://www.scienceprog.com/wp-content/uploads/2006/11/boot.zip
what adapter are you referring to?
when i tried the other bootloader , this error popped up “No supported board found, AVR Prog version 1.40″.
March 24th, 2007 at 12:14 pm
AVR JTAG ICE clone working. I still got the Atmega163 instead of atmega16 BOOT.
Thanks.
March 25th, 2007 at 7:38 am
Hi,
I found your PDF file was defferent from the SCH files
as images.What is more,the original SCH seem to
used as a JTAG ICE tool and JTAG programmer.
On#13 ,MAX3232 is used in 3.3V systems,but it is also
used in 5v systems refered to Maxim’s datasheet. If you
use ATmega128,I suggest MAX3232 is used.
April 1st, 2007 at 7:53 pm
Hi, i suppose its possible to replace the ATmega16 with a ATmega32?
And what does the bootloader do? As i understand it, once the bootloader is in place, my circuit is like an empty JTAG ICE ready to recieve firmware update through rs232? I get the “No supported board found, AVR Prog version 1.40″ message”, when selecting AVRProg from the tools menu, I have no other MCU connected to the JTAG (target debug IDC10) which may be the problem, but I was thinking that after the bootloader is installed (using AVRISP mkII), next step would be to update firmware (which shouldnt need anything connected to “IDC10″?. Also datk45d mentioned selecting ICE50 upgrade from the tools menu? is this correct?
April 3rd, 2007 at 3:01 pm
when i try to load the bootloader in to mega16, it comes with an error message “write failed” after it write. it that something wrong here? or just the way it is???
April 11th, 2007 at 5:41 am
Dear Sir,
I make a litte test program(Led Blink) and then i download to my ATMega128 using this JTAG-ICE. I have been success download this program to the Mega128 status message: micro is detected, programming success, and verify also success), but the micro is not work. But when I debug the Mega128 using this JTAG in AVRStudio, the micro is work (led can blink). So, what is the problem (in debug mode->micro is work.., but when download success->micro is not work) ?? May be I wrong arrange the Mega128 settings when I download ??
Please help me.
Thanks.
April 11th, 2007 at 5:56 am
Dear Sir,
Where is your article about how to use AVRJtag step by step (specially about JTAG as programmer and target is Mega128) ??
Thanks.
April 11th, 2007 at 10:22 am
I hope you read this article as there I put some steps on working with Jtag Clone.
Working with Jtag clone
This is strange behavior. After entering debugging mode stop debugger and remove JTAG cable. Restart circuit. Is it working. Seems like there are problems with programming mode. FYI: when debugging program is also uploaded to flash and remains here.
April 12th, 2007 at 5:56 am
Dear Sir,
1. After removing JTAG cable, the Mega128 circuit is still not working. Would you like show me the Mega128 fuse setting when you download a program (Led hex) to the Mega128 ??
2. In my JTAG menu ,in first tab (General tab) ,I see the Programming Mode combo is blank (why ??), so i am not select anything in this combo. Do you think this condition is the cause of the problem ?
3. On your article “Working with Jtag clone ” I see there is no boot hex in the zip file. Are there differences boot hex in that article againts boot hex on this article (Build your own AVR JTAG ICE clone, bread board version) ?
Thanks.
April 12th, 2007 at 12:48 pm
Hy nyomansad,
3. Yes yo uare right i didn’t put boot.hex in package – now I did.
Other questions I wil answer as soon as I get to my board. Probably it is better to shift this discussion to forum Forum
as I will need to post some pictures and it is easier to track messages.
April 21st, 2007 at 8:13 am
Hi there,
I am impressed by your AVR JTAG DIY programmer.
I would like to build one, however I only have MEGA32’s at hand. I’m sure that the MEGA32 can be used as a substitute, since it has larger memory space etc.
I am aware of differences between the MEGA32 and MEGA16, however I am having some trouble getting the JTAG software recognised, I have gotten the Bootloader working however.
Would it be possible for you to download your an Intel HEX file off the working JTAG programmer and email me a copy? It would greatly help and I am close to getting it working on the ATMEGA32. I can get the EBN file uploaded, and I have edited it accordingly in an attempt to get it working.
However to do this, I needed to use a disassembler to get it back into ASM code. At this stage there are some ‘broken’ links and some strange commands that I would like to compare with a working program.
(Since the interrupt vectors and boot memory for the 16 are different to the 32, it would help if I could work off a ‘working’ copy)
Regards,
Adrian
April 29th, 2007 at 5:03 pm
hi scienceprog,
i wanted to kno if the miniICE u hav developed above is compatible with the Atmel JtagICE mkII used for the at90usb series. i’m working with an at90usb1287 and am lookin for a jtag circuit for the same. please help!!!
rgds,
Sangeet
April 29th, 2007 at 11:03 pm
No this adapter won’t work with JtagICE mkII.
May 12th, 2007 at 10:47 pm
Hi ScienceProg,
Really a nice engineering work. I am trying to use mega32 instead of mega16 will it be a problem and also In India, in my local town i am really finding hard to get that crystal, so my question is if i change the bootloader source code according to crystal i select, will the AVR ICE work?
~SwK
June 29th, 2007 at 3:08 pm
Hi
Science program
This really good work building the JTAG ICE Debugger. I am using Win AVR for compiling codes it will generate. coff (make Extcoff)files and loading in AVR Studio (Version 4.12) and I am able connect to target board with help of JTAG ICE . Once I will start run or debugging the program the debugging pointer will show’s in Dissembler window. I am not able to debug in C source code window.
At present it showing Hardware version 0xC2, Software version 0×7F. Please help me how can I set up for debugging with C source code
Thanks
Muralidhara
August 29th, 2007 at 12:04 pm
Thanks, It works!
September 10th, 2007 at 4:38 pm
Hi,
This JTAG clone works with the atmega16L target as I tested. However, It can not find the target if connecting to the atmega128L.
Do you have any experience on this (eg., firmware update)?
Thanks
September 10th, 2007 at 7:02 pm
It worked for me check out http://www.scienceprog.com/avrjtag-clone-in-action/
September 15th, 2007 at 1:18 pm
Can i replace 7.3728MHz crystal with 8 crystal in your AVR_JTAGICE schematic?
September 15th, 2007 at 9:44 pm
No you cant do this because this will lead to adapter communication errors with computer.
September 16th, 2007 at 6:25 am
First of all,thank your reply. If i replace 7.3728MHz crystal with 8 crystal in your AVR_JTAGICE schematic ,will it affect USART and will it affct my simution ?I have used your schematic ang boot.hex ,but jtag_ice can not link to com1. can you give me a boot.hex which comptile with your schematic?
September 16th, 2007 at 7:07 am
why do not your schematic compatile wiht your boot.hex? Can you give me a boot.hex?
September 17th, 2007 at 6:36 am
Hi, the problem is my atmega128 board, not your jtag clone. Now, it works!
September 17th, 2007 at 1:10 pm
tuanpa,do you use boot.hex or alternatine boot.hex ? when you input your boot.hex into mega16 ,is the led is lignt?
September 17th, 2007 at 2:45 pm
Hello
Very interesting information! Thanks!
G’night
September 18th, 2007 at 7:01 am
hi Wang Yanchun, I use boot.zip in the article. I didnt notice that the led light or not.
My current Jtag-clone using prototype board. I’m working on the PCB for the new one. When completing and programming the boot.hex. I will notice and tell you if the led light.
September 19th, 2007 at 2:31 am
Thanks a lot
September 19th, 2007 at 2:40 am
hi tuanpa,is it necessary for comptileing the fuse of the mega16 in the aim board ?
September 19th, 2007 at 5:25 am
Who can help me?
September 19th, 2007 at 4:55 pm
hi ,tuanpa,can you tell me your QQ to me?My QQ is 154293949.
September 22nd, 2007 at 1:49 pm
2 Wang Yanchun:
I just follow the arcle step by step and it works.
2 scienceprog:
I got some Atmega1280. Do you know any clone circuit that can program the device?
September 22nd, 2007 at 6:17 pm
hi there ,
can you tell me if i can program an arm32 chip’s with this jtag ice clone or can you give me one that can do it other than the wiggler i have an avrisp mk2 already but the price of a jtagice is unbelievable help me please
cheers
david
September 23rd, 2007 at 7:30 am
0K!my jtag ice have worked!
sorry,I have not haved any clone circuit that can program the device.
October 10th, 2007 at 6:56 pm
Sorry about that.
Anyway, i was rambeling about my finds on this programmer.
I am trying to build it and i, like many, fail on the avrprog issue.”No supported board found”
I get this error even when i have no programmer connected to my system.
Inorder to build it, i have loaned a mkII. Therefor i wonder if i MUST use ISP-programming, or if JTAG is ok.
If it is ok, would it be possible to add the correct fuse settings screenshot from avrstudio aswell?
I am also confused about the schema and BOM. The dont match compleatly, if im not misstaken. I only see one LED in the shema, but there are two in the BOM. Also the names and values of the capacitors and resistors dont appear to match.
Apart from that, everything seems great. When I get this to work, i can add a mechanical outline for a veloboard/stripboard that fits nicely in a cheap plastic box. looks almost professional :-)
// Martin
October 10th, 2007 at 8:35 pm
Adapter from this thread
http://www.scienceprog.com/avrjtag-clone-in-action/
should work without problem. At least it worked until I somehow damaged it.
Martin, about which circuit are you talking as there you may find few of them.
October 11th, 2007 at 12:19 pm
Hi again scienceprog.
From the top of this page( http://www.scienceprog.com/build-your-own-avr-jtagice-clone/)
i find a link ( http://www.scienceprog.com/wp-content/uploads/2006/11/jtag.pdf)
Just below that link i find the BOM.
Should i use a diffrent schematic?
// Martin
October 11th, 2007 at 12:23 pm
I was building this:
avr_jtag_clone.zip
from http://www.scienceprog.com/avrjtag-clone-in-action/
The circuit you pointed served as reference, but it also sould work.
October 11th, 2007 at 12:51 pm
I am starting to get the feeling that i must have done something seriously wrong i my layout.
I will redo it on a breadboard.
Darn it
// Martin
October 25th, 2007 at 2:19 pm
It is perhaps a good idea to mention that the COMport used by AVRprog will only be COM1 to COM4. No other comports will be probed.
// Martin
November 12th, 2007 at 8:23 am
[...] is available in binary from Atmel. There is a project which aims to create a cheap JTAG ICE clone – Build your own JTAG ICE clone. If you have no time to build a PCB or do soldering, you can get your clone from here – you can [...]
November 14th, 2007 at 1:39 pm
i want to say to scienceprog
i have made the circuit and it is worked well:)
and i would like to thank him very mush
December 23rd, 2007 at 9:25 pm
Hello, I am trying to recover an atmega16 that is ‘bricked’ because I set the fuses wrong.
Will this programmer be able to program it if the jtagen fuse is disabled because of a mistake?
Please clarify this because I will have to built a parallel programmer instead in order to save the unit.
Thanks.
December 27th, 2007 at 10:13 pm
Hi Guys,
I have made a USB version of this JTAG clone, if intrested please post a request. i will send you the link. and the complete hex files + ckt.
Thanks to scienceprog for his contribution.
~SwK
December 28th, 2007 at 1:35 am
Hy SwK, Of course we are interested. Feel free to post link here. It would be nice to write short review here on how to build and run it. If you are interested, use contact form: http://www.scienceprog.com/contact-form/
January 7th, 2008 at 11:15 pm
hi, sienceprog does this JTAG suport debuging wire in ATtiny 2313 ?
January 8th, 2008 at 5:59 pm
debugWire in tiny2313 is totaly different from JTAG. this device cannot be used for dW.
you gonna need Dragon or orig. JTAG mkII
January 9th, 2008 at 5:52 pm
my attiny 2313 ’stuck’ in debuging wire mode and i
I just want to reeneable ISP . and i have no debuger just ISP programer and a max232 RS232 to TTL level konverter. please help…
January 11th, 2008 at 10:40 pm
to disable dw you need
- AVR Dragon or JTAGICE mkII to connect via dw line and disable it
or
- parallel programmer, to disable dw fuse
or you can get new avr :)
March 18th, 2008 at 6:25 pm
is there any firmware for atmega32 version? so pity I don’t have any atmega16 while have a lot atmega32s
March 26th, 2008 at 8:41 am
where i can find the firmware for JTAG ice clone? i was searching this page but i cant see any link to download the firmware. Do i need to register or something?
May 7th, 2008 at 3:49 pm
Hi sir
Thank you your great article, i made this JTAG long time ago, but recently, i upgrade the avr studio tp 4.14. the JTAG device only can program through the jtag port, so i decide to upgrade the firmware as well. After I try many times, i decide to reload the bootloader and start from the beginning.
problems c0me after i program the M16L. I can open the AVRprog and get the upgrade.ebn, but it comes with a error message “..file doesnt fit into flash” when i try to program the flash.
I never seen this before and it seens nobody has this kind of experience. Anyway, the chip is good, because i got the same result with different M16.
July 3rd, 2008 at 11:53 pm
Its not listed, so I think I know the answer, but is there any reason why this wouldn’t work for debugging Atmel’s AVR32 processors?
July 15th, 2008 at 5:21 pm
Hi, a few months ago I wrote a comment in the other link: http://www.scienceprog.com/avrjtag-clone-in-action/, but i got no answer. I will try again here.
Well, I made the PCB. I loaded one bootloader(the one that is placed in the forum), connected the jtag_clone to my target board, set the fuses to the target board, set the fuses to the MCU from the Jtag adapter. And nothing happened. I tried all COM ports(1 – 4). Still nothing. I use MAX232N with 1mF capacitators. On the oscilloscope I saw some communication between my PC and the Jtag_board. All connection are checked, all fuses too.
Still AVR_studio(4.12 is the version I have) says “No supported board found. AVRprog version 1.40″.
I also tried ICEupgrade but this is what I get.
Please, give me a hand. Hi, a few months ago I wrote a comment in the other link: http://www.scienceprog.com/avrjtag-clone-in-action/, but i got no answer. I will try again here.
Well, I made the PCB. I loaded one bootloader(the one that is placed in the forum), connected the jtag_clone to my target board, set the fuses to the target board, set the fuses to the MCU from the Jtag adapter. And nothing happened. I tried all COM ports(1 – 4). Still nothing. I use MAX232N with 1mF capacitators. On the oscilloscope I saw some communication between my PC and the Jtag_board. All connection are checked, all fuses too.
Still AVR_studio(4.12 is the version I have) says “No supported board found. AVRprog version 1.40″.
I also tried ICEupgrade but this is what I get.
Please, give me a hand.
July 23rd, 2008 at 3:37 pm
Project not sucessfull. Having a lot of doubts about the bootloader and the fuse bit config. whether the scheme is correct? in this article.
July 23rd, 2008 at 9:04 pm
Sorry guys for slow response. It is really hard to tell the problem right now. It can be a mistake on PCB, or some problem with wiring. Did you use exact 7.3728MHz crystal? Many people have built this adapter and it is working properly.
July 24th, 2008 at 3:09 pm
Yes, I use 7,3728MHz crystal. I found many other similar projects in the net, and I tried to make them as well. Always one and the same problem: “No supported board found”. It seems that there is no communication between the PC and the JTAG. For some time I have doubts in if my comport is OK. Although I have used it for communication between the PC and a MCU and it is working fine. It is very strange indeed…
July 24th, 2008 at 11:53 pm
As I understand you cant upload firmware with bootloader? Sometimes people forget that setting up a JTAG adapter is two stage work. First of all you need to flash a boot.hex in to ATmega16 enable bootlaoder with fuse and then download firmware. After its done you need to uncheck bootloader fuze and then you can use adapter.
…
If your port is working properly double check your PCB maybe ther are some bridges between tracks. I really can tell more than you know. The only thing Iknow – It sould work :)
July 25th, 2008 at 3:50 pm
I really love to have some strong rapport with Scienceprog as consider you are one of my Best teacher.
In this project i have used the exact procedures that you have instructed though i got a negative result as similar to Nedsan.
Help required in this regard.
July 26th, 2008 at 12:40 pm
The Bootloader seems to work with some simulating software and AVR studio is also responding but becomes silent in the hardware. I think there is some trick to be revealed.
August 25th, 2008 at 5:18 pm
If I program the microcontroller with stk500 and avrstudio which are the fuse bits in avr studio?
August 28th, 2008 at 1:24 am
I answer myself. You can calculate the fuse bits from pictures above, checked means 0 and unchecked 1. I also want to say which was my mistakes during construction. If you can’t get it work try to remove crystals load capasitors or calculate the capasitor values again. I removed them and got it work. It’s also possible that you can’t program the bootloader with usb to serial adapter, try real com port.
September 5th, 2008 at 2:38 pm
I always read these common problems everywhere, e.g. fusebit, freeISP programmer, make or buy etc.
I tried to answer them at http://www.deccanrobots.com and deccanrobots.blogspot.com
October 8th, 2008 at 5:24 am
Hi Scienceprog, thanks for a great article.
Did you ever get the USB version from SwK?
I’d be very interested in seeing it!
Thanks!
October 24th, 2008 at 2:12 pm
Hi!
I’m a little confused. In the part list there are 6 100n(C1-C6) adn 2 22p(C7-C8) capacitor, but on the schematic i can see only C1,C2,C3 and E1-E5(?).What sare the capacitor values?
Thanks.
November 22nd, 2008 at 1:16 pm
[...] ATMEL, o JTAG é versátil e muito utilizado, sendo aceito por diversos softwares. Link Read More Post a [...]
January 18th, 2009 at 6:30 pm
[...] i programów. Jako programatora u¿ywam STK200 i bardziej zaawansowany na ATMega16 AVR JTAG ICE http://www.scienceprog.com/build-you…jtagice-clone/ który wspó³pracuje z AVR Studio a pod³±czany jest do RSa. > BTW. Jest gdzie¶ ³opatologiczny [...]
March 17th, 2009 at 9:39 am
Dear, I collect the Crystal 7.3728MHz and design the circuit from your design and using STK500 for downloading program and burning fuses. I can upgrade successfully and (have some error) I ignoreed the error. But cant connect the devce [select AVR programmer JTAG ICE and desired COM port.]
April 10th, 2009 at 5:54 am
PLease, help me on this… some tell me to my email the code to program the atmega16 that is in the device… I dont know how… or another one to tell me how to build another programer that is able to be used with the avrstudio..
please, help.
my email is hercules.daniel@gmail.com
May 17th, 2009 at 2:11 pm
[...] Internecie nietrudno natrafi? na opisy wykonania JTAG-a, tak?e w j?zyku polskim. Jak wida?, schemat ideowy jest ca?kiem prosty, a [...]
May 24th, 2009 at 6:01 am
Hi,
I need to reprogram my ATMEGA8515-16PU chips clock source to an 8MHz crystal, I was wondering if it is possible to program the chip using a usb to ttl interface, im very new to all this so sorry if this seems a stupid question, its just it looks kind of a similar idea to the serial devices ive seen except the signals it provides are TX, RX, CTX, RTS, DTR, DSR and DCD. Here is a link to the what I have: http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&item=310122268633
July 21st, 2009 at 1:40 pm
Hi
It is great you offer the very useful things.
But I made it according to this,it doesn’t work.
I want to know why.
July 21st, 2009 at 8:48 pm
Hi,
are the listed materials still correct?
In the schematic are 5 capacitors named E1-E5 and they look like electrolytic capacitors and in the material list are only C1-C8 listed.
So what capacity do they all exactly have?
September 3rd, 2009 at 12:08 am
Is this clone still upgradable from AVRStudio?
AVRStudio seems to looks for a serial number now.
September 30th, 2009 at 1:28 pm
Thanks for your information,
My programmer work most of time very good ,but when AVR studio need to use external reset to connect to target board , it seems external reset (Pin 1 in Atmega16)doesn’t work. Do you have any advice for me? Meanwhile my target board is ATMEGA128 .
October 26th, 2009 at 2:51 pm
This design is a copy of design from a site which I cooperate with: http://www.aquaticus.info (currently heavily modified) and there it comes from my website (www.m2uu.com, search “JTAG”). At the stage it was copied there were some errors in the design (which are now corrected) – JTAG fuse bit, some minor mistake in schematics (problem with measurement of target voltage).
I wouldn’t like to sound rude but if one plans to copy something there’s nothing wrong in asking the author for permission, or at least place a link to the source.
November 1st, 2009 at 6:16 pm
To all,
I’m facing the same problem like jan and others said “Atmega 163″ problem & can’t detect the hardware.I’v checked the connections,the board & etc but until now failed to make it work.Any help?.
November 21st, 2009 at 8:09 pm
Anybody sucessfully did the avr jtag ice with usb? can send the files to me? I would like to build one. Thanks!!
November 22nd, 2009 at 3:26 pm
Hi Lukasz I had previously found your website
http://aquaticus.info/jtag
I have linked from my website to your page.
I built one a year or so ago with the buggy voltage check will have to go back and fix that.
for those that can’t get the 163 to work have a look
here http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2737
February 1st, 2010 at 3:24 pm
hello author,
sir i make a jtag progrmmer and its ok in the first attemp by putting the hex file available on this site the communication is ok and i programme atmega 32 and mega16 but there is some problem
1:
as i know it is an emulatoar also but when i wana debug the code by start debugging and by pressing the step into or f11 button on the key board the code is stepping into in the avr studio but the controller is normally operating and the code contrle is not transfer to the avr studio or i can say jatag emulator.
2:
the second thing is that its capable of isp progammming also by connecting the jumper on pb0 to the ground but when i connet the jtag programmer/debugger in the avr studio it is all the displaying in the jtag mode and not in the isp mode .
sir kindly help me to solve these two problems.
regards
saeed ahmed
February 3rd, 2010 at 12:15 pm
hello author,
sir i m facing a problem with jtagclone the one build by withe refrenec to ur tutorial on the following link http://www.scienceprog.com/build-your-own-avr-jtagice-clone/ jtag programming is ok but problem in emulation the code do not run from the avr studio through jtagclone and the controller operating normally ,step into or f11 controle donot effect the controller code.plz help in this regard.
regards
saeed ahmed
February 11th, 2010 at 10:20 am
Go to the link given Below.
http://www.avrportal.com/?page=jtag
Here you can find the sourc code. But there is a one mistake. PB4 pin of JTAG should be connected with the RST PIN of Target. Or you can find by observing your source code.
March 12th, 2010 at 11:50 pm
I tried to burn the boot.hex file u provided here using WINAVR, but it failed, it gives this error–\make.exe: *** No rule to make target `boot.eep’, needed by `program’. Stop.\
—-Ponyprog also failed to detect the device. Please help me. mail me at urpal.partha@gmail.com or post here