Olimess

I blew up my Olimex ISP500 programmer the other night.  I left it plugged into my mac and target board. The next night when I went to use it, there was no life.   On a whim, I replaced the AT90USB162.  When I plugged it in, it actually came up in DFU mode. Wonderful.  So now I’m in the process of reverse engineering the schematic for this so that I can reflash some sort of programming firmware on to it.  The default olimex firmware seems to be encrypted.  I may still see if I can read the firmware image off of a working unit, but I suspect it is all protected.

Ok a quick update…  I hacked on a RST and HWB button. You can see them in the first photo. The is a 10k pullup added to a conveniently existing pad below the hwb (lower) button in the photo.  The DFU loading works wonderfully now.  I’ve uploaded a modified version of the AVRISP2 programmer code from the LUFA project.  I can talk to the programmer now, but not any devices. The ADC for the target voltage still needs work.

One further update the programmer now works,  I had to tweak the software to invert the miso data from the target, since there is a schmitt trigger invert, probably as a cheap level shifter.

Now that everything works, you will find attached:

 

  1. Reverse engineered schematic for the olimex (Olimex ISP500 Schematic)
  2. The patch to the LUFA 111009 code for olimex isp 500 board support (buttons and leds) and the miso patch for the schmitt trigger inverter. (olimex.patch v2)
  3. AVRISP-MKII.hex
  4. and some sample output/usage:

 

Make the programmer code and program the Olimex ISP 500
Chucks-Mac:AVRISP-MKII chuck$ make dfu
dfu-programmer at90usb162 erase
dfu-programmer at90usb162 flash AVRISP-MKII.hex
Validating...9870 bytes used (80.32%)
dfu-programmer at90usb162 reset
Use the newly repaired Olimex to read a target board
Chucks-Mac:AVRISP-MKII chuck$ avrdude -c avrisp2 -P usb -p at90usb1287
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e9782
avrdude: safemode: Fuses OK
avrdude done.  Thank you.
Chucks-Mac:AVRISP-MKII chuck$
Other Notes

This code was built using LIBUSB since I’m on a Mac. It’s nice to know you can spent 3 days, and $3 for parts to fix a $40 programer 🙄 I guess that is why they call it a hobby.