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)
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?