7. Power settings and status
The Pololu USB AVR Programmer v2.x has several settings that affect how power is regulated, distributed, and monitored. These settings can be seen and changed in the Pololu USB AVR Programmer v2 Configuration Utility or from the command-line utility pavr2cmd. These settings are stored in the programmer’s non-volatile memory, so they will persist while the programmer is unpowered.
The Regulator mode setting determines what voltage the programmer will operate at, and it has three options:
- Auto (default): In this mode, the programmer will operate at 3.3 V when it starts up, and it will switch to 5 V if the voltage on VCC rises above 4096 mV. The programmer will switch back to 3.3 V if the voltage on VCC falls below 3712 mV.
- 5 V: The programmer will operate at 5 V during normal operation. It will still be running at 3.3 V briefly when power is first applied, and it will still run at 3.3 V when it is in bootloader mode (which is used for firmware updates).
- 3.3 V: The programmer will always operate at 3.3 V.
The VCC output setting determines whether the VCC pin (which is on both the ISP connector and the serial header) will be an input or an output. By default, the VCC output is disabled, so the VCC pin will be an input. If you set the VCC pin to be an output, you must also set the regulator mode to either 5 V or 3.3 V: that setting specifies both the voltage that the programmer will operate at and the voltage that it will supply to the VCC pin. Using the VCC pin as an output can be useful for powering low-current systems from USB. See Section 8 for more details.
If VCC is configured to be an output, then one or both of the yellow LEDs will blink eight times per second to warn you, as described in Section 4.4. If you do not want the LEDs to be blink so fast, you can change the VCC Output Indicator setting from “Blinking” (the default) to “Steady” using the configuration software. This makes the yellow LEDs just stay on solid instead of blinking eight times per second.
There are several settings that define what voltage levels on the programmer’s VDD line and the target AVR’s VCC line are acceptable. Each of these settings can only be set to a value that is a multiple of 32 mV.
The VCC/VDD maximum range setting, which is 896 mV by default, defines the maximum allowed difference between the highest measurement and the lowest measurement for both the programmer’s VDD line and the target AVR’s VCC line. If the VCC or VDD varies by more than this amount during programming, then the programmer will abort the current programming session.
The VCC 3.3 V minimum and VCC 3.3 V maximum settings, which are 2720 mV and 3872 mV by default, define the acceptable voltages for the target’s VCC line when the programmer’s regulator is set to 3.3 V. If the VCC measurement ever returns a value outside of this range, the programmer will abort the current programming session.
Similarly, the VCC 5 V minimum and VCC 5 V maximum settings, which are 4128 mV and 5856 mV by default, define the acceptable voltages for the target’s VCC line when the programmer’s regulator is set to 5 V.
The programmer also measures its own VDD voltage during programming. If the regulator is set to 3.3 V, the programmer expects the VDD measurements it to be no less than 2912 mV. It also expects the VDD measurements to either be no more than 3712 mV, or to be no more than 256 mV higher than the target’s VCC power. If the regulator is set to 5 V, the programmer expects the VDD measurements to be between 3584 mV and 5792 mV.
Power status information
You can see a lot of information about the programmer’s power status in the Pololu USB AVR Programmer v2 Configuration Utility and the command-line utility pavr2cmd. If you are using the configuration utility, these variables are updated each second while the utility is connected to the programmer. In the “Current status” box, you can see the latest measurements of the programmer’s VDD voltage and the target’s VCC voltage. You can also see the VDD regulator set point, which is the voltage that the programmer is currently setting the regulator to (3.3 V or 5 V).
After any programming attempt, the minimum and maximum measurements for both the programmer’s VDD and the target’s VCC are shown in the “Results from last programming” box.