MikroE EasyAVR5 and USBProg

To use the USBProg with the MikroE EasyAVR5 Dev kit, you need to load the JTAG/ICE MK2 clone firmware to the AVR chip.

At the moment (May 2008) the firmware of the jtag/ice mk2 clone is not ready for production and still in development. However it already works quite fine with my atmega16 and a small amount of breakpoints when debugging, so it’s already usable.

However there is current (again May 2008) a little issue with the USBProg bootloader, which is not capable of loading firmware with more than 16kb size into the USBProg. I hope the problem will be solved soon, so check out the USBProg Homepage for updates on the 16k-bug.

There is a little trick to use the firmware already, when you directly flash the firmware using an external SPI programmer, but since you loose the multi-firmware feature, you should better wait and get the new bootloader.

Jumpers

If you want to use the USBProg together with an EasyAVR5 board, please be absolutely sure about the jumper settings!

On the picture above you see that every jumper on the board is disconnected! Please be sure that this is the case when you connect the USBProg to the EasyAVR5 board. Especially the upper jumper could make an electrical short cut of 5Volt to ground, which can destroy your USBProg or even more!

If you are sure about the jumper setting, start over and double check them again.

Again: for the EasyAVR5 board you have to remover all jumpers on the USBProg device.

Cabling

If you buy the USBProg from the initiator of the project, you will get a JTAG compatible cable. The connecting direction to the USBProg is fixed by some noses at the connector. The other side of the cable should be inserted with the red line 1 pointing to the power-connection, as you can see in the photo above.

Again: Double check the right connection by reading the manuals of both USBProg and EasyAVR5.

First test

Now you can connect the USBProg to a USB port of your computer (best way is a direct connect or at least a externally powered USB hub) and try to read out the fuse bytes out of the Atmega16:

C:\Users\daniel>avarice -2 -j usb -r
AVaRICE version 2.7, Apr 12 2008 07:28:04

Defaulting JTAG bitrate to 1 MHz. Make sure that the target
frequency is at least 4 MHz or you will likely encounter failures
controlling the target.

JTAG config starting.
Found a device: JTAGICEmkII
Serial number:  00:a0:00:00:0d:3f
Reported JTAG device ID: 0x9403
Configured for device ID: 0x9403 atmega16
JTAG config complete.

Reading Fuse Bytes:
  Extended Fuse byte -> 0xef
      High Fuse byte -> 0x19
       Low Fuse byte -> 0xef

As you can see: avarice found the device and the atmega16 and is even capable of reading the fuses.

Now you are ready to install your very personal programming IDE and play with your EasyAVR5 board.