Bus Pirate firmware change history
v7.0 August 13, 2016
- The first release of Bus Pirate Community Firmware project - v7.0 firmware version
- Includes the important fixes and clean-ups, to fix a lot of bugs at BPv4 operations
- Currently the latest community firmware version available (added to Download page)
v6.3 October 7, 2015 (date of 3 last commits accepted, other commits are Sep 3, 2014 and older)
- Some bug fixes (what in particular? TODO)
- This is the latest official firmware: unfortunately DangerousPrototypes have abandoned it...
v6.2 beta 1 August 14, 2012
- Includes updated STK500v2 firmware for v3 hardware
- Fix a bunch of strange bugs with Bus Pirate v4: SPI speed, SUMP logic analyzer mode, V4 UART bridge (maybe), UART TX invert not set in invert mode, USB interrupt problems effecting all modes
v6.1 January 11, 2012
- Fixed broken SUMP logic analyzer mode
- Detect v3a/v3b/v3.5/eBay version in v3 hardware
- Verified v4 firmware detect chip revision
- Verified v4 has no 8 and 48 byte USB stack errors
- UART autobaud detect improvements, make the ‘Nearest Common Baud’ function smarter (v4) Thanks Brent!
- Verified UART autobaud to macro (v4)
- Trimmed the autobaud text a little for size (v4)
- Bus Pirate bitbang mode IO fix. Thanks tes! (v4)
- Verified the USB led (v4)
- Moved SVN completely to Dangerous Prototypes hardware SVN
v6.0 January 04, 2012
- Enable OpenOCD support in v3. Note: OpenOCD currently not available for BPv4 due to lack of new USB system support. Added to Docs
- Added advanced AUX control to I2C mode, documented here
- Added frequency counter access to BBIO mode, documented here
- Terminal supports Vt100 home and end keys
- Updated servo position function. Documentation, guide
- AVR Dude 40x speed improvement, documentation
- Replaced 1-Wire routines with public domain version
- Code compiles for v3/v4 automatically
- Removed the color labels on the 'v'
- Fixed the '?' and 'v' glitch
- Removed obsolete files
- Defined PPS in hardware setup
- V4 only: Added UART autobaud measurement function
- V4 only: Added k/K to the ? menu (c/C/k/K Aux select (A1/CS/A2/A3)
- V4 only: Fixes for UART/SPI mode PPS
- V4 only: Fixes to SPI slave (sniffer) PPS
- V4 only: AUX1/2/3 fix
- V4 only: Fixed AVRDUDE binmode issues
- V4 only: Fixed SPI mode issues in all modes
- V4 only: Fixed UART
- V4 only: Fixed HD44780 LCD mode
v5.10 November 19, 2010
- Removed space after prompt for AVRDude compatibility
- Added SPI write/read function (no CS) for AVRDude
- Updated README.TXT with more details, upgrade instructions and links
- Pirate-loader source included
- Less annoying file names (in Linux)
- Code cleanup and modernization
- No new v5.10 addons, the v5.9 addons were included again
v5.9 October 28, 2010
- New VT100 terminal support: up/down arrow keys scroll through history; left/right arrow key, delete/insert support for editing (thanks Eric!)
- Bulk SPI write/read command fix
- Bulk I2C write/read command added
- Removed reset confirmation to restore AVRdude compatibility
- First bonus firmware
- Source includes support for hardware v4
v5.8 September 29, 2010
- SPI sniffer updates
- new fast SPI write/read command for flashrom
- added SPI settings macros to change phase/polarity/clock edge on the fly
- added continuous binary ADC sampling for oscilloscope
- fixed bug in basic scripting engine
- partial read/write are extended to max 16 bit (currently raw2wire, raw3wire only)
- only the bits used in partial read/write are displayed
- auto-switching between 8 and 16 bit display
- no need to enter ‘NEW’ when entering the first program into the scripting engine
- added 9 bit coms to the UART library. When 9 bits is selected, the numbits is automatically set
v5.7 August 20, 2010
- Improved SPI sniffer, higher max speed
- Clear terminal buffer overflow error
v5.6 August 13, 2010
- Fixed swapped SPI sniffer macros
- Stop PWM/servo between modes
- Fixed servo prompt and error
- Prevent servo in hiz
- Updated the text for servo code
- Added servo command to the help
v5.5 August 6, 2010
- New servo controller (‘S’), thanks Randy
- New SPI binary bulk read/write should speed up Flashrom
- Updated commands to support piratePICprog
- Some bug fixes, as usual
v5.4 July 30, 2010
- Selectable CS pin direction in SPI and raw3wire protocol
- Partial writes (less then 8 bits) in raw2wire and raw3wire protocol
- Command ‘i’ is compacted and displays the settings of the current protocol
- Binmode extended to support buffered writes
- Support for the new LCD adapter (support for old adapter is discontinued)
- Updated help screen
- Some bugfixes, as usual
v5.3 July 16, 2010
- Reviewed and updated terminal text
- SPI sniffer update (reduced minimum CS delay from 50us to 120ns)
- Removed sniff while CS high option from SPI sniffer (for now)
- I2C sniffer update (increased max speed from ~70kHz to >100kHz)
- Corrected LSB/MSB menu quirks
- Added least significant bit configuration to all modes
- Added |X command to convert byte X bitorder
- Code cleanup: removed allowLSB and allowPULLUP variables
- Fixed wrong CS terminal text in raw3wire mode
v5.2 July 9, 2010
- UART baudrate can be manually set to any speed for pcside (uart1) and protocol (uart2)
- Warning when the speed of uart2 is faster then uart1
- Fixed text formatting in self-test
- PWM and power are forbidden in HiZ
- Eliminated vpullup and vreg tracking variable
- Power supplies tested 2ms after W – if they are too low (short circuit) the BP throws an error and turns them off.
- Source cleanup. Removed lots of v0a and v2a defines (no longer supported since v3.6).
- Added a general any key to exit message
- I2C address search checks for a low bus and exits with a warning instead of showing 256 addresses. Good bye support nightmare :).
- Error if the I2C bus is low (no pullups or contention) at the I2C start bit,
- Fixed double display stuff in the raw2wire ATR macros
- Fixed the frequency measure after voltage bug
- Removed the repeat on /\-_
- The 1-wire library – and _ set the data state variable but don’t send a bit. This is more consistent with other bus modes.
- Added a peek function to 1-wire that returns the stored data state.
v5.1 July 2, 2010
- Fixed OpenOCD support in v5
- Fixed output mode adjust bug
- Added v3a/v3b detection
- Updated SPI sniffer – ‘r’ resets, new binary output format for higher speeds,
- Minor text and display tweaks (terminal speed adjust, SPI sniffer)
- New PIC 18F/24F programming commands in raw2wire
- Other bug fixes
v5.0 June 21, 2010
- h – see a history of recent commands and replay them
- s – a script mode that runs simple BASIC-like commands
- i – an updated info menu with probe color hints, mode specific pin labels, and pin direction/state display
- ? – updated, reformatted help screen
- Completely revamped command line processor that gives more feedback about syntax errors
- Accepts strings of commands at once (configure a mode in one line)
- Removed sub-menus for pull-up resistor configuration (now uses P/p, like power W/w)
- ASCII values can be sent to directly to a bus using “quotes”
- A few secrets and hidden treasure :)
- Too many other improvements to list
v4.5 June 8, 2010
- New binary rawwire command for PIC programmer (Logic Sniffer rescue)
- OpenOCD support (may have been missing from v4.2)
- Fix to terminal input parser accepting out-of-range characters bug
- Other minor fixes
v4.2 March 5, 2010
- OpenOCD JTAG debugging support (thanks robots!)
- New speed settings in I2C, raw2/3wire, updated also in binmode
- Fixed error in 1-wire reset command in binmode (thanks Mike!)
- Includes pirate-loader console app
- Minor bug fixes
v4.1 January 18, 2010
- Voltage readings to two decimal points of precision
- Continuous ADC probe reading mode
- Print bootloader version info
- Enter bootloader without a jumper
- First major release for v4 bootloader. Archive includes v4.2 bootloader.
- Includes updated STK500v2 and OpenOCD firmwares for v4 bootloader.
v3.6 January 12, 2010
- Fixed version string. v3.5 displayed ‘Firmware 3.5′ instead of ‘Firmware v3.5′. This caused issues with Bus Pirate support in AVRdude.
- Added pause with lit MODE and VREG LED to self-test.
v3.5 January 6, 2010
- All bitbang libraries updated to include 100kHz and 400kHz speeds (I2C, raw2wire, raw3wire).
- Updated self-test, includes over voltage check.
- Transparent UART bridge macro with hardware flow control pass-through (v2go/v3 only).
- Removed experimental hardware I2C mode.
- User interface touch up.
- Bug fixes here and there.
v3.1 December 19, 2009
- Bug fixes
v3.0 November 9, 2009
- Added backend for SUMP logic analyzer.
- User terminal input buffer moded to bpconfig struct, shared with SUMP logic analyzer.
- Added binary access to SPI and I2C sniffers
- Improved SPI, I2C sniffers. Added a 4096byte ring buffer
- Pull-up bit triggers AUX2 on v1a hardware in binary protocol modes
- UART fixes (bridge auto clears overrun, turns off LED)
- Binary mode added ADC and PWM access
- Minor fixes
v2.8 October 23, 2009
- Complete suit of binary modes (1-Wire, I2C, UART, SPI, bitbang)
- Reworked user UART mode
- Integrated MIDI into UART library
- Migrated to a central command data structure
- Removed XON command from start-up (no longer used)
- Reordered information printout (command i) to be more logical
- Reorganized binary mode functions into protocol libraries
- Added binary self-test modes (long and short)
v2.5 October 13, 2009
- Bug fixes
v2.4 October 9, 2009
- Bug fixes
v2.3 October 8, 2009
- Bug fixes
v2.2 September 21, 2009
- Firmware v2.2 IS compatible with bootloader v0f and v0g, and v2. Upgrade to bootloader V2 if possible.
- V3 hardware compiles in all languages.
- Small fix to smartcard macros.
- Transparent UART bridge macro.
- Updated Spanish translation.
v2.1 August 27, 2009
- Firmware v2 IS compatible with bootloader v0f and v0g, and v2. Upgrade to bootloader V2 if possible.
- Press ‘i’ to get your PIC revision and config bits.
- Hardware I2C added, major I2C bug fixes.
- Bulk writes (0xff:12) for most libraries.
- Press ‘=’ for HEX/DEC/BIN conversion.
- New public domain software I2C library, bugs fixed.
- All software libraries now use central bitbang routines with speed settings.
- JTAG XSFV programmer removed to make room. We’ll replace it with a ‘real’ SFV programmer in the future.
- JTAG chain probe now detects multiple devices, fixed numbering error, refreshed interface.
- Smartcard marco updated. RESET signal now controlled by Bus Pirate CS pin. LSB reads forced for ease of use and ISO compliance, added warning.
- Spanish, Italian translations.
- Firmware for Bus Pirate v3 first release.
- Better translation use, cleaner terminal text.
- General spelling and menu fixes.
- Small bug fixes here and there.
v2.1-RC2 August 21, 2009
- Hardware versions
v2.1-RC1 August 18, 2009
- Experimental hardware I2C library for PICs that support it.
- PIC chip revision detection.
- New public domain I2C library, fixes bugs with read ACK/NACKs. I2C no longer GPL. More on the new I2C features tomorrow.
- Universal bitbang abstraction saves a ton of space for new features, adds speed option to I2C, raw2/3wire, LCD.
- Removed JTAG XSVF programmer, we ran out of space. It’s big, ugly, and I don’t think anyone uses it. It will be replaced with a real SVF programmer in an upcoming build.
- Raw2wire macro cleanup.
- Spelling, other translation fixes.
v2.0 July 26, 2009
- Added hardware self-test for v2go hardware. Type ‘~’ in the terminal and follow the directions for the self-test. You’ll need to connect the ADC pin to the 3.3volt supply pin, and the Vpullup pin to the 5volt supply pin. Read more about it in the forum.
- Added ‘#’ reset command. Type ‘#’ in the terminal to reset the Bus Pirate. This command can be used to reset into the bootloader without detaching the USB cable; put a jumper between the PGC and PGD pins, issue the reset command ‘#’, and the Bus Pirate should be ready for a firmware update.
- Added character LCD library. Currently interfaces HD44780 LCDs using a PCF8574 I2C adapter board.
- Compiled with new C compiler/MPLAB version 8.33.