Walking The Plank: Add-Ons for the Bus Pirate

Walking The Plank: Add-Ons for the Bus Pirate

The Bus Pirate multi-tool has held pride of place in many hardware hackers’ toolboxes for years, and the latest generation of the gadget, powered by the Raspberry Pi RP2040/RP2350, offers significantly improved features over the original PIC versions. We took a look at the new Bus Pirate when it shipped in February, and although the firmware was still in its early stages at the time, it was already clear that the developer (Ian Lesnet) and his team had put together a compelling product.

Over the last few months the Bus Pirate software has improved dramatically. New features now showcase the power of the hardware and the user experience is much better than at release. Firmware development is a rollercoaster, with (Ian) sometimes releasing multiple updates per day. Thankfully, like the Pi Pico itself, updating the new Bus Pirate only takes a second.

But as impressive and important as those software updates were, that’s not what we’re talking about today. In this post, we’ll take a look at one of the most exciting aspects of the new Bus Pirate – the ability to easily develop add-on modules for it.

Bus pirate versions

Before we go too far, I should mention that there are now a few new Bus Pirate versions on the market, which makes discussing the product a bit confusing.

The new Bus Pirate 6

The Bus Pirate 5, which has been shipping since February and is still available, is powered by the RP2040. It is the first major version of the hardware to be released at scale since the Bus Pirate 3. Because the team got early access to the RP2350 chip, they were also able to produce two new variants: the 5XL and the 6.

What are the differences between them all? The 5XL uses the RP2350A and is basically just a faster version of the 5, thanks to the more powerful cores and extra RAM that the new Raspberry Pi silicon offers. The 6 is based on the RP2350B and takes advantage of the extra GPIO pins by deleting some of the I/O expander chips that were required on the 5 and 5XL. This not only makes the I/O faster, but also frees up space on the board to implement a “follow-along” logic analyzer that automatically records everything that happens on the bus.

However, it does not matter for the purposes of this article.

One port to control them all

Regardless of which version of the Bus Pirate you get (5/5XL/6), they all have the same row of eight I/O pins on the side. This is where you normally connect your probes, and thanks to the display on the top of the Bus Pirate, you don’t even need to remember the pinout – when you change modes on the device, the screen updates to show which pin does what.

Here’s where it gets interesting. Since the side connector is nothing more exotic than a male 2.54mm pitch header, connecting to it via custom hardware is incredibly easy. You don’t need to hunt down a special connector – making a board that plugs into the BP5 (or higher) can be as simple as soldering a female header onto a piece of breadboard. And even better, since you don’t have to worry about creating a custom footprint, designing your own add-on PCBs is a breeze.

Designing custom extensions

Creating your own piece of hardware that plugs into the Bus Pirate is as simple as adding a right-angle 2.54mm female header to the edge of your PCB. You might think that the fact that the pinout changes depending on the mode of the device is a problem, but in practice your add-on will probably require the user to set an appropriate mode anyway (I2C, SPI, UART, etc.).

On the Bus Pirate forums, user (grymoire) came up with the idea of ​​calling these extensions “boards” after drawing comparisons to the “hats” and “shields” of other development boards. Why a board? Well, for one thing, it fits the pirate theme. When connected to the Bus Pirate, the extensions also look a bit like a board hanging over the side of a pirate ship.

As an example, I recently put together the SAO Plank: a small adapter that allows me to connect three Simple Add-Ons to the Bus Pirate. Not only is this a handy way to power the Badge Add-Ons and monitor their power consumption via the Bus Pirate’s built-in display, but it also provides a way to debug and test I2C communications between multiple SAOs – a feature that will become increasingly useful as we get closer to Supercon 2024.

There’s really not much going on in the SAO Plank, and honestly I could have wired the thing up on a breadboard. Even the power LED I added is technically redundant, as the Bus Pirate’s technicolor lights leave no doubt as to whether it’s on or not. But it was so cheap and easy to make a custom board out of it, so why not?

I’m excited to see what the community comes up with when given such an easy way to develop custom Bus Pirate extensions.

Collect them all

Bus Pirate planks are not just limited to DIY. Since the release of Bus Pirate 5, a number of official planks have been introduced. Some of these are still in development, such as the “IR Toy” which (Ian) documented in a thread on the forums. Others are already available for purchase, such as a selection of adapters to facilitate working with SPI flash chips and one for interfacing with SLE4442 Secure Memory Cards.

One of the advantages of the official Planks is that the firmware is likely to have built-in support for any special features. Although the IR Toy has not been officially released yet, a new mode was added to the stable version of the firmware last week that can communicate with the device and send NEC IR codes. Since the firmware is open source, even DIY Planks could get their own modes should someone want to write the code for them.

Whether it’s an official product or a community homebrew project, the Bus Pirate Planks are a very exciting addition to an already fantastic tool. If you happen to see an interesting plank in the wild or make one yourself, be sure to let us know.

Leave a Reply

Your email address will not be published. Required fields are marked *