Practical guide to Bus Pirate pull-up resistors
How the on-board pull-up resistors work
The figure outlines the basic parts of the Bus Pirate v2go/v3/+ on-board pull-up resistors.
- A pull-up (or pull-down) voltage supplied through the Vpullup (Vpu) pin is fed into a CD4066 analog switch (IC3).
- The 4066 distributes the pull-up voltage to four 10K resistors (R20-23) that connect to the MOSI, CLOCK, MISO, and CS bus pins.
Connect a voltage to the Vpullup pin
I2C>v <<< voltage monitor report
VOLTAGE MONITOR: 5V: 5.0 | 3.3V: 3.3 | VPULLUP: 5.0 |
You must connect the Vpullup pin to a voltage.
The pull-up resistors aren't hard-wired to a power supply, you can apply any voltage level that's needed (from ground to +5volts). Type 'v' in the Bus Pirate terminal to see the current voltage on the Vpullup pin.
When the main microcontroller (IC1) holds the 4066 enable pin at 0volts the pull-up voltage is blocked and nothing goes through the resistors. When the enable pin is high, the pull-up voltage is allowed through the 4066 and the resistors hold the bus pins at the level of the Vpullup pin.
Activate the pull-up resistors
Pull-up resistors OFF
2WIRE> P <<<enable the pull-up resistors
Pull-up resistors ON
p and P toggle the pull-up resistors off and on. Capital P 2 enables the 4066, and the voltage on the Vpullup pin is applied to the 10K pull-up resistors.
Pull-up resistors ON
Warning: no voltage on Vpullup pin<<<check voltage report
If you get the error Warning: no voltage on Vpullup pin check the voltage report (v) and verify that a voltage is attached to the Vpullup pin.
If you connected Vpullup to the Bus Pirate's 3.3volt or 5.0volt supply, be sure to use the 'W' command to enable the power supplies.
pull-up voltage select
V4 hardware only
I2C>e <<<pull-up voltage select menu
Select Vpu source
1) None or external
2) Onboard 3V3 Vreg
3) Onboard 5V Vreg
3V3 on-board pullup voltage enabled
The voltage applied to the pull-up resistors can be toggled between 3.3volts, 5volts, and the Vpu pin of the IO header, using the e menu. This is available on v4 hardware only.
Read more about pull-up resistors and the Bus Pirate's open collector output mode (HiZ):