have a question I can't seem to figure out the answer to. We have existing boards running off the AT89c51RE2 processor. Works great because it supports In-System-Programming. This means we can use BatchISP to program them very easily while they're already socketed on the board.

The issue is, we are now trying to switch to the AT89LP51RD2 and it would seem it supports the same ISP programming, but I can't seem to find anything as far as devices to add to Flip or BatchISP in any way. If I try to just change the device parameter it obviously says that it's not a recognized device because it doesn't know what it is. If I just run the existing batch programmer it connects, opens ports, erases, reads buffer, but then when it tries to program the HEX file to the chip it fails.

Any information in this area would be a huge help. I thank you for any advice!

  • \$\begingroup\$ I tried posting an answer but the system has decided I'm not human and won't display the CAPTCHA for me to verify. Long story short, try AT89LP ISP Studio \$\endgroup\$ Jan 10, 2014 at 16:03
  • \$\begingroup\$ Thank you for your advice. I've downloaded ISP Studio but after setting the device type, and USB port and Buad Rate... "Target Communication Failed..." board has power and comm ability so not sure what I'm doing wrong. \$\endgroup\$
    – While-E
    Jan 10, 2014 at 16:32
  • \$\begingroup\$ See if you can connect with the AT89LP Developer Studio. It doesn't mention programming but it does mention debugging so it should still communicate. \$\endgroup\$ Jan 10, 2014 at 16:51
  • \$\begingroup\$ well the strange things is in my output I'm getting "Succesfully loaded device: AT89LP51RD2..." then "Successfully connected to port: COM3..." but when I try to actually use "Connect" it fails. \$\endgroup\$
    – While-E
    Jan 10, 2014 at 17:24
  • \$\begingroup\$ Currently we use a FTDI chip to convert our USB to Serial data. USB to PC, and ISP cable to ISP pins on board, program chip. What I'm reading now is that the LP might need a dedicated 4052 bridge chip with firmware on it to perform the same tasks? \$\endgroup\$
    – While-E
    Jan 10, 2014 at 17:38

1 Answer 1


The AT89C series ISP takes place over UART and uses Flip or BatchISP to program. The AT89LP series ISP takes place over SPI. See this app note for programming the AT89LP series.

There is a whole different line of tools for those chips available. Have a look at AT89LP ISP Studio instead. Or possibly AT89LP Developer Studio.

I found the following note on terminology used for this series of chips in the datasheet (page189):

Note: In this document the term Bootloader, or BOOT, is used to when referring to the UART-based ROM bootloader and In-System Programming, or ISP, is used with reference to the SPI-based interface. This is different from AT89C51RD2/ED2/ID2 where ISP also referred to the bootloader (as no SPI programming interface was present). However, it should be noted that both interfaces are perfectly capable of performing in-system programming, i.e programming the device when it is already mounted in the final end-user system.

Flip (and presumably BatchISP) can be used when accessing the Bootloader through the UART. But AT89LP ISP Studio must be used when programming through the SPI.

  • \$\begingroup\$ I am going to mark your answer as correct simply because you pointed me down the right path. I however, out of sheer curiosity, switched my device to an 89c51rd2 in my FLIP devices, and it worked.... it gave me IndexOutOfBound exceptions but it still worked.... funny \$\endgroup\$
    – While-E
    Jan 10, 2014 at 19:54
  • \$\begingroup\$ @While-E I added a note I found in the datasheet. It seems they've mixed up the terminology in this series. Have a look. Maybe it'll help you track down what's causing that error. Though a brief scan told me nothing about which chip to select when using Flip. \$\endgroup\$ Jan 10, 2014 at 20:28
  • \$\begingroup\$ Thanks for the info, yes I'll be looking into this over the weekend. It seems to be programming the chip just fine though, so rather confusing \$\endgroup\$
    – While-E
    Jan 10, 2014 at 21:53
  • 1
    \$\begingroup\$ Turns out the error is caused by the last few commands in BatchISP "MEMORY SECURITY & MEMORY CONFIGURATION" which are specific to the at89c51re2, and the at89lp51rd2 has different methods of settings these. The first is the security bit obviously, and the second is the FCB Configuration bit. I have yet to figure out the exact command to do these same functions on the re2 but have contacted ATMEL hoping they'll have some insight. \$\endgroup\$
    – While-E
    Jan 16, 2014 at 21:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.