Serious problems programming Baby Orangutan B-328

This is a more serious problem than first appears.

I have a commercial design on the bench at work that uses the USB AVR Programmer programming an Atmega328 in the Baby Orangutan programming configuration. Last week, I was happily programming it using the USB AVR programmer. Yesterday, it stopped programming, giving the usual error indicating that something is unplugged. The programmer connects OK, with a little persistence. But it fails when I attempt to read the serial number. Or anything else.

I bought two USB AVR programmers. Assuming that I had somehow fried the first programmer, I installed the second programmer, including downloading and installing its software and assigning it to COM4. It failed as well.

Next, I tried the programmer on a Baby Orangutan 328 running. the B.O. 328 lights up OK (green LED), and the USB AVR programmer lights up OK - initially - with the green LED on and the yellow LED blinking. This configuration also fails.

Note: Connection to the programmer is flaky, sometimes taking several ties to connect. I am running Windows XP on my work computer using Atmel AVR Studio 4, using assembly language, with code previously developed and being modified for a new design.

Another oddity: The USB AVR programmer presently connected to the B.O. 328 has progressively failed between yesterday and today. This morning, I could still get it to connect to Studio 4, usually with several tries of unplugging and replugging the USB connector. Now, it does not connect at all. The last error I received from the Configuration Utility program (and had received yesterday) was that the programmer had sent a command to the device and received no response back. (I hope I have this correct. I can no longer bring up the programmer even to generate the error.)

I decided to cross-check this whole problem against a Baby Orangutan 328 + USB AVR programmer configuration in a home project that I have been working with for 2+ years. This home project has been working on my desk, unchanged during this time. Last night, I went home to verify that I can still read from the 328. Failed! This is with an untouched hardware configuration sitting on my desk in the form of a Pololu USB AVR programmer connected to the B.O. 328.

But there was a software change. Two months ago, my desktop died, and I got another to replace it. I had to switch to Windows 7 (from Windows XP) , but transferred everything over. As I recall, I re-downloaded Studio 4, and I may have re-downloaded the USB AVR drivers. Studio 4 runs fine, assembling code. I had not verified that programming still worked on the new desktop computer.

I have two Baby Orangutan 328’s and three USB AVR Programmers on order, to arrive tomorrow morning, (Just missed getting them today.) This way, I can run a programming test with virgin devices. If these do not work (which I expect), I will be seriously peeved.

Please check this out.
I fervently hope the problem is a firmware bug that can be cured by an update.
I have a critical project stalled with people waiting on me because of this problem.
I need a way forward.

Hello, Dave.

I’m sorry you are having trouble with our products. What is your connection to jay.davey? Are you two working on the same project?

In the future, whenever the programming fails and the red LED comes on, please try to run the programmer’s configuration utility and tell us the error message. This will help me to understanding what is happening. The one error message you quoted is correct. The two most common errors that people encounter are that the target VDD went out of range (i.e. the AVR is not adequately powered) or that the programmer didn’t receive the expected response when entering programming mode (i.e. the programming cable is not connected).

Since the programmer and Baby Orangutan were both working for you for some time, I think there is probably something about your system or your procedures that causes them to stop working. Could you tell me more about what you are doing? How are you powering the Baby Orangutan, and have you verified the voltage with a multimeter? What was it connected to before you stopped being able to program it? Is it possible you plugged the programming cable in backwards? Do you have anything connected to the programmer besides USB and the 6-pin ISP cable?

I’ve never experienced a problem like you are describing where it takes multiple tries for AVR Studio to connect to the programmer. This makes me worried that there is something wrong with your USB cable, USB port, or with the electronics the programmer is connected to. It would be good to try just connecting to the programmer in AVR Studio 4 while it is disconnected from everything except USB and it would be good to try different ports and different cables to see if that particular problem goes away.

You said you have Windows XP. Have you installed Service Pack 3?

Just for good measure, could you try measuring the voltage difference between GND and VBUS (+5V) on each programmer and let me know the results, in case there is something wrong with your USB port?

When you get your new devices tomorrow, here is what I recommend doing: Get one new programmer and one new Baby Orangutan, and let us know exactly every step you took to set them up. Simplify things as much as possible; the only thing you need to connect for programming is a power source for the Baby Orangutan. It would be great if you even take of a video of the process so we can see a video of what you are doing.

I’m sorry you are having so much trouble. We test every board that we ship, and the test for the programmer involves programming a Baby Orangutan B-168. Lots of our customers are using the USB AVR Programmer to program our ATmega328P-based boards, such as the 3pi robot, and Baby Orangutan B-328 and they are generally successful. We’ve been shipping our programmers with the same firmware version (1.01) for over two years now. We have found some problems with it, and issued firmware updates, but we haven’t found any bugs that would affect basic programming of an ATmega328P.

–David

Hello David,

No connection to jay.davey. This is my first post to this forum, so it may look like it was a response to his.

I have been having a problem with programming since Tuesday morning. I have used the Configuration Utility to help debug the problem. Because of some confusion, I had plugged the programmer in backwards on the programming pins of my design. That caused funny responses. Because of the wrong connection, the Vcc pin would sag and cause a low Vcc failure. Eventually, I got the polarity right and things looked like they were working OK for a while, at least on Monday. That will teach me to put in headers with shrouds rather than bare pins, at least on new designs. Nothing is connected to the programmer other than the 6-pin cable.

My bench prototype is a 5V design and copies the BO-328 schematic for the programming pins. I have done this on other production prototype designs for several years with good success. The bench prototype has a 5V linear regulator for the 328, running from a 7.5V bench supply. There is a single regulator for the Atmega328 and separate 5V linear regulators for the rest of the circuitry. I used the same 7.5V supply to power the BO-328 as Vin for testing the programming. I checked the regulated voltage on both the bench design and the BO-328 at 4.98 volts, typically.

I re-checked the VCC pad on the BO-328 and it reads 5.01 volts.

I tried your suggestion of attaching the programmer alone, unplugged from the BO-328. I was able to attach it OK i AVR Studio 4, which is good - more data! I was not sure that it would attach without a VDD input on the cable. It fails programming with “Target VDD too low”, as one would expect. Thanks for the suggestion: It gives another data point. It argues for the idea that the problem is with my bench design and/or the BO-328.

We use Dell 4500 computers here running Windows XP, Service Pack 3, and our IT support keeps our 50+ machines up to date. I have been running the USB AVR programmer on a 7 port powered USB hub. I have double-checked that it is powered. In this last test of attaching the programmer without the 6-pin cable being plugged into anything, I am running the programmer direct from a USB port on the CPU.

Just to check, I tried connecting the programmer to the BO-328. Still no joy. It now connects in AVR Studio4 OK, but it still gets nothing back from the BOP-328. I will be running direct from the CPU from here on out, though - just in case.

Tomorrow should provide more data, using a fresh programmer and a fresh BO-328. As you recommend, I will be proceeding step-by-step and documenting as I go. Any further suggestions are appreciated.

Thanks,

Dave Wyland

Hello, Dave.

You made your first post as a reply to jay.davey’s topic. I have now split our conversation into its own, new topic to avoid confusion.

Plugging a programmer in backwards could damage the programmer or the Baby Orangutan. Is it possible that all your problems were caused by that? Hopefully you will have better luck with the new hardware.

–David

Hi David,

A happy update to the previous panic post.

I tried a new programmer with a new Baby Orangutan 328 (BO-328), and everything works fine! Here are some related updates.

  1. I re-tried my home BO-328 + USB AVR programmer setup - after I noted that I had reconnected the programming cable backwards. Luckily, re-plugging the programmer cable correctly made the system work again. I could connect and read the signature again. So that was a false alarm = operator error on my part.

  2. I tried the new programmer on the two “old” BO-328’s. Neither worked, so I appear to have fried them. One is completely fried: the green LED does not even come on. I reconnected the programmer to the new BO-328 and verified that it still worked.

  3. I tried the new programmer on my bench design, and it works fine: I can read the signature. So I am up and running.

Notes from this experience.

a. Make sure that you have the programming cable plugged correctly onto the board under test. If at all possible use a shrouded 6-pin header that has the cable slot in it so you cannot plug the cable in backwards! Simple to do, assuming that you have a little room on your board for the shroud. Can save you anguish later.

Would be nice to have on the BO-328, but it looks a little too crowded for the shroud. Recommendation: take a picture or make a good sketch of how to plug the programming cable onto the BO-328, if/when you forget in the future. (Words from the wounded.)

b. Somehow, between cross plugging cables and other experimentation, it was possible to blow the (2) original BO-328’s. I may have blown the (2) original programmers as well. I have them quarantined, pending future - careful - testing. Or not. It may be better to just toss them, since I have working hardware with back-ups.

I have been (and am) very satisfied with Pololu in the past and present, and your kind response reinforces my opinion.

Thanks for your help,

Dave Wyland