Orangutang USB ISP Programming Error


It’s been a few years since I’ve worked with AVR chips (pre tiny era and mega era) so I’m catching up. I have a Pololu Orangutan USB isp that I’m using for the first time. It’s an old project and I’m having a problem getting the new programmer working.

I’m aware that you recommend you purchase your new programmer. If this is an easy fix, it would get me stated so I can get this project back up and running. Any help would be greatly appreciated.

The target is a 90s2313. Using AVR Studio 4.18.

  • AVR Studio has no problem recognizing the isp

  • no problem erasing the device (verified using a programmed chip)

  • no problem reading the signature

  • but I get an error message when programming and chip is not programed

Here’s the whole log:

Getting isp parameter… SD=0x02 … OKOK
Reading FLASH input file… OK
Entering programming mode… OK!
Erasing device… OK!
Programming FLASH … OK!
Reading FLASH … OK!
WARNING: FLASH byte address 0x0000 is 0xFF (should be 0x0C)… FAILED!
Leaving programming mode… OK!

Here’s the program:

.include “2313def.inc”
.ORG 0x00

rjmp RESET ; Power-on Reset
rjmp reset ; IRQ0
rjmp reset ; IRQ1
rjmp RESET ; Timer1 Capture
rjmp RESET ; Timer1 Compare A
rjmp reset ; Timer1 Overflow
rjmp reset ; Timer0 Overflow
rjmp RESET ; SPI Transfer Complete
rjmp RESET ; UART RX Complete
rjmp RESET ; UDR Empty
rjmp RESET ; UART TX Complete
rjmp RESET ; Analog Comparator
.ORG 0x0d
; Initialize the Stack Pointer
; these constants are defined in 2313def
ldi Temp1, RAMEND ; last on-chip ram location
out SPL, Temp1 ; init Stack Pointer

ldi Temp1, 0b11111111 ; set PortD to Output
out DDRD, Temp1 ;
ldi Temp1, 0b11111111 ; turn on all outputs
out PortD, Temp1

rjmp test


The Orangutan USB programmer is only intended to be a programmer for the AVRs on our Orangutan Robot controllers and has only really been extensively tested as such. It does work on other AVRs, but we cannot guarantee that it will work with all other AVRs and we cannot support it as a general AVR programmer like we do our newer USB AVR programmer.

However, it certainly looks as if the Orangutan USB programmer is talking properly with your AVR since it gets all the way through writing the flash without complaining about an improper response, so there is also the possibility that your AVR is damaged. Do you have another AVR around you can try programming? If not, I recommend you try it with a general AVR programmer.

- Ben

Thank you Ben.

I was hoping it was a common problem that was easily fixed. I’ve tried it with 2 different chips with the same error message.


Well, there a few things you can verify before you give up and go to a different programmer:

  1. Your target AVR must be powered for the programmer to work properly.
  2. Your programmer’s ISP frequency must not exceed a quarter of the clock speed of your target AVR. The programmer’s user’s guide has information about setting the ISP frequency of the programmer.

- Ben