Skip to main content
Topic: Bus Blaster vs. Bus Pirate (Read 6350 times) previous topic - next topic

Bus Blaster vs. Bus Pirate

Can someone give a bit more detail on the actual differences between the Bus Blaster and the Bus Pirate? On the surface, the distinction seems somewhat clear: the Bus Blaster is for "JTAG debugging" and the Bus Pirate is for "serial communication".

But in practice it's very muddled! The list of protocols supported by the *Pirate* includes JTAG, and since JTAG is kinda sorta just SPI afaict, the *Blaster* supports at least SPI too…and the *Blaster*'s Serial Wire Debug is a 3-wire protocol which the *Pirate* also should support.

To further muddy the waters, it seems that there are programmers for both. If I want something that behaves as a JTAGKey, the *Blaster* has a script available for that. But if I want something that works in place of an AVRDude, the main results I find are all for the *Pirate*. I'm trying to program some nRF24L[U/E] devices, and there's one option that works with JTAGKey (so…Bus *Blaster*) but there's also another (binary only?) binfile for the Bus *Pirate*!

Why are there two separate things with such overlapping purposes? I already have a Blaster v4…but do I also need a Pirate? Or is the Blaster a superset of the Pirate? Are scripts written for the Pirate compatible with the Blaster? What's the practical difference between these products?

Re: Bus Blaster vs. Bus Pirate

Reply #1
Bus Pirate is a protocol emulator. It's main purpose is to test sensors and chips with the communication protocol on the datasheet, verify that you know how to read/write data and then start coding or copy the code from BP firmware into your own project.

Bus Blaster is a JTAG debugger. It's sole purpose is JTAG debugging via openOCD or urJTAG. SWD protocol was not supported in the initial versions. I have a v2 which has only JTAGKey option.

Bus Pirate kinda evolved into a Swiss Army Knife of tools: You can program AVR microcontrollers with it, you can do JTAG operations (like program FPGAs), you can measure voltage, frequency, use it as a logic analyzer etc. Bus Blaster? JTAG, nothing else, it's a big saw. The difference is this: I carry my Bus Pirate all the time as I can do lots of stuff with it: Someone at the hackerspace wants to program an AVR microcontroller but we cannot find out tinyISP? Here comes Bus Pirate with avrdude. JTAG programming? Change the firmware and you have a JTAG programmer/debugger. But it's real slow. Like trying to cut down a big tree branch with the tiny saw on your Swiss Army Knife, it will take time. Bus Blaster is a big ass saw, it does the job waaaay faster as it's designed for it.

I'm not sure if scripts work on both of them as Bus Pirate is a serial port device and Bus Blaster uses the FTDI libraries to bitbang the pins, it doesn't show up as a serial port once you load the correct drivers.

Re: Bus Blaster vs. Bus Pirate

Reply #2
[quote author="tayken"]JTAG, nothing else, it's a big saw.[/quote]
It's not true. BB itself contains nothing that could make it a "JTAG debugger". It's simply an universal interface with a signal set compatible with JTAG. Programmed with JTAGKey buffer logic, it can be primarily used for JTAG debugging but only because BB-aware software products (OpenOCD & UrJTAG) are JTAG debuggers.

But since BB is nothing more than a bitbang buffer, it can perform virtually any interface operation for which its signal set is enough, if there is an appropriate host software. For example, with JTAGKey buffer logic, it can be used as AVR programmer with avrdude, as SPI flash IC programmer with flashrom and so on.

Re: Bus Blaster vs. Bus Pirate

Reply #3
emusic, you are partially correct.

BB only contains an FT2232 and a CPLD. Most of the magic happens in the software. And if you have JTAGkey buffer logic, you can use it with OpenOCD and urJTAG as they support it natively. At one point this was not possible due to swapping ports A&B of FT2232 and now there are ways to use it with minimal headache.

But BB was designed with JTAG in mind, nothing else. And at this point, there are no use cases that I'm aware of that use it for anything else. Yes, you can create your own logic glue and write your own host-side software to do much more than that. You can probably turn it into a Bus Pirate like device where host side program takes care of everything. avrdude and flashrom support JTAGkey but still my point is valid: It's not as flexible as BP. That's why JTAGkey was developed, for JTAG. Other uses are essentially using bitbanging to leverage new protocols and use cases whereas with BP most of the protocols use hardware peripherals.

Re: Bus Blaster vs. Bus Pirate

Reply #4
[quote author="tayken"]It's not as flexible as BP.[/quote]
Of course BB is less flexible than BP because BB has no CPU on board. But it can serve any protocol that is compatible by signal set and clock/response rates.

[quote author="tayken"]That's why JTAGkey was developed, for JTAG.[/quote]
Surely, as well as LPT/Centronix port was developed solely for printer connections. :) But how many hundreds of projects use LPT as a free-form signal port? :)

[quote author="tayken"]Other uses are essentially using bitbanging to leverage new protocols[/quote]
All protocols (including JTAG) over BB use bitbanging because FTDI chips have no built-in protocol support (except RS232/USB, of course).

Re: Bus Blaster vs. Bus Pirate

Reply #5
Thanks, this was a somewhat helpful clarification! Seems the short answer is that I should have both:

- Bus Blaster v3 for OpenOCD/JTAGKey uses (and anything else there's software floating around for) — I actually have the v4 and it seems to work fine too, but I'm not holding my breath for software and if I'd gotten a v3 it'd be easier to get a case for it…actually looks like the DP9056 acrylic case should work fine
- any Bus Pirate v3 variant for general electronics workbench use (and anything else there's software floating around for) — do NOT get the v4, v4 is dead, long live v3 (viewtopic.php?f=4&t=1169&start=15#p57291)

Re: Bus Blaster vs. Bus Pirate

Reply #6
Surely, both BB and BP are much more usable than a single BB or BP alone. :) And v3 of both products seem to be supported much better than v4.

Re: Bus Blaster vs. Bus Pirate

Reply #7
Surely, both BB and BP are much more usable than a single BB or BP alone. :) And v3 of both products seem to be supported much better than v4.

Hi, After 5 years V3 still better and stable than V4? Pls advise.. I'm newbie and plan to get one for my hobby. Thanks

Re: Bus Blaster vs. Bus Pirate

Reply #8
Yep, v3 is the one to go with. Of course there is ultra coming up, but that'll be a while. :)

 

Re: Bus Blaster vs. Bus Pirate

Reply #9
Noted and thank you for your advise..