Bus Pirate v4 vs v3 comparison
|Feature||Bus Pirate v4||Bus Pirate v3|
|Dependability||Experimental, new||Well proven, trustworthy|
|Support & development||Active!||Active!|
|Program space (flash)||256K (262144 b)||64K (65536 bytes)|
|USB connection||PIC integrated USB||FTDI USB to serial chip|
|IO pins||7 IO + accessories||5 IO + accessories|
|Settings storage, built-in demo EEPROM||4K||n/a|
|Pull-up resistor supply||3.3V, 5V, external||external only|
|AVR programmer (STK500v2)*||integrated||external firmware|
|XSVF player (JTAG)*||integrated||external firmware|
*What doesn't work on Bus Pirate v4 right now:
- OpenOCD JTAG mode
- STK500v2 AVR programmer
- XSVF player JTAG programmer
Some cool new software features are planned to take advantage of all the extra space in the v4's PIC chip. These might not be available all at launch, but we're working on it. We just wanted to be up front.
Bus Pirate v3 is still the best choice if you want something you can use without a lot of hassle. The v4 firmware is rough around the edges, but it is improving all the time.
Support & development
The v3 and v4 source code is unified, so most improvements are applied to every hardware version. There is active support for both versions here - Community Firmware v7.0
We ran out of space to cram new features into Bus Pirate v3. The point of v4 is to move to a bigger chip so we can continue to add new features. v3 had a PIC 24FJ64GA002 with 64K program space and 8K memory. v4 has a 24FJ256GB106 with 256K program space, 16K memory, and many extra hardware modules.
Bus Pirate v4 uses the integrated PIC USB peripheral for the emulated serial port connection and USB firmware updates. The serial port is CDC-ACM, an open and common device supported on most system without a driver. Max speed is 12MBPS, but a realistic limit is 1MBPS.
v3 uses an FTDI USB to serial converter chip. The PIC exchanges data with the FTDI chip over a serial UART. Max speed is 4MBPS, realistic limit is 115KBPS on most hardware.
The Bus Pirate has two extra IO pins (7 total). These are useful for the OpenOCD JTAG mode.
Settings storage, built-in demo EEPROM
Bus Pirate v4 has a small I2C EEPROM that stores settings, scripts, startup modes, etc.
It is possible to access the EEPROM from the Bus Pirate I2C interface, so the chip becomes an on-board introduction and demo too.
Pull-up resistor supply
Select Vpu source
1) None or external
2) Onboard 3V3 Vreg
3) Onboard 5V Vreg
3V3 on-board pullup voltage enabled
The v4 pull-up resistors can be switched between 3.3volts, 5volts, and an external supply from the software interface. Bus Pirate v3 only supports an external supply voltage.
Bus Pirate v4 has two buttons. One is a reset button. The NORMAL button is used to clear saved mode settings from the EEPROM.
All that extra space in v4 is going to be used to merge in features that were previously in separate 'bonus' firmwares. For example the STK500v2 AVR programmer, JTAG XSVF player, and several minor protocol libraries.