USB AVR programmer Problem

Good day gentlemen,

I would like to thank you for recommending such an awesome product. Before trying this AVR programmer, I had gone through 3 different USB programmers without much luck.

Yes, I have Windows 7 and a laptop. Unfortunately, my options are very limited when it comes to interfacing with most widely used devices. My laptop has no serial or parallel ports.

Anyways, I’m able to program my Atmega128 without issues. I can use either AVR Studio 4 or avrdude. So, the programmer works fine.

However, after experimenting with the atmega128, I decided to use a smaller uC. The atmega128 is overkill for my purposes. I would like to use the Atmega8.

And unfortunately, the Pololu USB AVR programmer is not very friendly with this smaller capable uC. For the past few weeks I have been trying to resolve interfacing issues with my atmega8 board. I found this awesome site: http://electronics-diy.com/avr_programmer.php where the author has created a simple module to program the atmega8. I created that serial programmer and can attest to its usability. Using the serial/parallel ports on my PC, I have been able to interface with the atmega8 module with out any issues and hence my dilemma: I was able to program my atmega128 with my pololu USB AVR programmer but not my atmega8 module.

After finally creating a second programmer ( this time a parallel port)(http://www.lancos.com/prog.html) to program my atmega8 module, I have narrowed down my programming issues to the Pololu programmer. Notice that I can also program my Atmega128 with all 3 different programmers. It’s just the atmega8+ Pololu programmer combination that is giving me issues.

It seems whenever I use AVR Studio to program the atmega8, I get the “Error entering programming mode”.

I used the Pololu USB AVR Programmer Configuration Utility and have the following error: Target VDD either went too low or had too much range, so programming was aborted. Make sure that the target is powered on and its batteries are not too low (if applicable).

Because I thought there was something wrong with the power supply not out putting enough power or too much power, I bought a voltage regulator.

Using my ammeter, I see the voltage at exactly 5.0, and I still get the same identical error. I tried lowering the ISP frequency to 4kHz and the problem persists.

Is there any way I can configure the Pololu programmer to just program without it going through security/safety checks before programming. I just want it to program without it doing any checks.

Or Does any one have any suggestions? I really would like to stick to my usb programmer because my laptop is my primary computing device.

I am stumped!

Thank you,

Mario

Hello.

What readings does the Pololu USB AVR Programmer report for your minimum VDD and maximum VDD range? You should look at those numbers and see if they make sense. They might indicate that you have a power problem with your board or a bad connection to the programmer.

But if you want to disable the VDD monitoring feature of the programmer, you can do so using the Pololu USB AVR Programmer Configuration Utility. Just set the Minimum Allowed to something small and Maximum Range Allowed parameter to something big.

–David

Thank you David, that solved my problem!

I made the minimum VDD allowed to “0” and maximum range allowed to “8160”

I think these parameters should be default since most DYI modules usually have a diode protecting the programmer. As much as most users appreciate the voltage protection offered by the pololu programmer, It should have been made optional from the very start to avoid these problems. Some features are nice but really not necessary.

Like I mentioned on my thread, I spent almost two weeks resolving this issue!

Again, thank you. You guys have great products and service

That’s good that you got it working!

I’m not sure what diode you are talking about and how it would protect the programmer.

Actually, the Pololu USB AVR Programmer monitors the target VDD in order to protect the AVR, not the programmer. Our customers have had bad experiences in the past with our older programmer where they tried to program their AVR when the VDD voltage was too low, and as a result the AVR’s fuse bits became corrupted, making it impossible to program it again. On typical AVRs, the clock-related fuse bits need to be correct in order to program the flash, so if the fuse bits are accidentally corrupted then your AVR gets bricked. This is what the VDD monitoring protects you from. We think this feature benefits everyone who wants to program an AVR (especially if it is battery-powered), so it is enabled by default. You can, of course, change the settings or disable the feature entirely as you have already done.

I’m sorry that it took you two weeks to figure this out. You still haven’t said what readings the programmer was reporting to you; it would be interesting to know what those numbers are.

–David

Well at least you have a great forum to address these issues.

Most retailers just have a generic manual detailing the most basic functions. No forum. No trouble shoot section.

Again, thank you, and btw, according to the application, I was getting “0” values for both minimum and range. In fact, I still am getting “0” according to “measurements from last programming” -which is strange because I made some changes to my little board shortly before resolving my issue.

I’m not sure if I get the same values with my 128 development board - all I know is that it’s working. And I did not have any issues from day 1.

I’m guessing the addition of a bypass capacitor might have resolved my original problem. I will test it sometime in the future to confirm this more appropriate solution. More info on bypass capacitors can be found here:http://www.seattlerobotics.org/Encoder/jun97/basics.html

I’m going to piggyback on this thread. I used my AVR programmer to try to program an AVR for the first time, and had a similar problem where the programming with AVRDUDE and AVR Studio would fail, and the programmer config executable would report a target voltage range problem. I changed the minimum and range values to try to get it to work, but no dice.

I tried a few different voltage sources, and the programmer would report a valid voltage for each of them, but would still fail with the same voltage range error. Each time, an LED attached to the AVR would blink (FYI, I was trying to program the ATmega328 on the ArduPilot Mega board), indicating to me that the programmer was doing something, but then stopping itself.

I was eventually able to program my ATmega328 with a USBasp programmer.

Hello, skcolb.

Do you still have the Pololu USB AVR Programmer? Could you post a screenshot of its configuration utility showing the VDD error and the voltage measurements that contradict it?

–David

Yes I do.

Attached below.

BTW, I’d like to say that this product rocks, I’ve already used the TTL serial port and SLO-scope enough that the AVR programming seems like a side feature – when I get that working, it will rock even more.


Hello, skcolb.

Thank you for the screenshot. It turns out there is a bug in the programmer’s firmware! If the sum of the minimum measured VDD and the maximum allowed range exceeds 8160 mV, the programmer will incorrectly think that your AVR is not properly powered.

I suggest that you set “Minimum Allowed” to 4192 mV and set “Maximum Range Allowed” to 800 mV.

If that doesn’t work, let me know:

  1. The measurements the programmer reports in the configuration utility.
  2. Everything in your circuit and how it is connected, because there might be something wrong with it.

–David

Thanks David. I set the voltage and range as you suggested, and everything now works as expected.