I've been a happy user of the Bus Pirate for several years now - it's perfect for probing circuits to get at TTL level UARTs, sniffing SPI and I2C, generic JTAG, and other shenanigans. From a hardware/firmware developer use case, it's great to be able to sniff bus traffic during debug. From a red team standpoint, I've used it to extract and modify the contents of serial EEPROMs and serial flash chips - good clean fun :)
I noticed that there's a new version of the hardware finally available, so of course I immediately ordered one. It arrived this morning and I spent a couple of hours playing with it.
Ordering and Shipping
It can be ordered from Dirty PCBs (link at end of blog). I already had a Dirty PCB account from some projects a few years back - they do a pretty good job of cheaply producing PCBs if you don't mind waiting a bit to get them. Ordering was straight forward; the only thing I noted was that it would be shipped after February 19th due to the lunar new year holiday. I ordered the Bus Pirate v5 and a set of premium test leads.
It arrived on Saturday, March 30th after a week and a half in transit. Luckily I was home as I had to sign for the package. It was well packaged and looked fully intact after shipment.
Inside were two boxes - one containing the Bus Pirate itself, and another with the test leads and clips. I liked the branding and labels on the product, it looks more like a professional tool than previous versions
The Bus Pirate itself was sealed in the anti-static bag with a "Genuine" seal. Also included are a couple of colored button caps that you can swap out.
Comparing with V3.5
This image shows both the "classic" V3.5 BP at the top with the new V5 below. Major differences I noted right away:
The V3.5 was shipped as just a PCB. I 3D printed a bottom shell for it so I didn't have to worry about it shorting to a board it might be laying on. The V5 has a full injection molded case.V3.5 has a USB B Mini connector (yes, Mini, not even Micro - I have to go find a cable every time I use it). V5 has USB CI prefer the pin header on the V5, it comes out parallel to the board instead of 90 degrees like the V3.5Of course, the screen on the V5. I can see how it will be very useful, but I am a little concerned about protecting it. I have a case with all of my "hardware hacking" stuff, and while it's pretty well organized, I'm worried about the screen getting damaged.The V5 is physically larger than the V3.5. It's not enough to be a problem; just noting it.First Impressions
This version comes fully enclosed, unlike previous versions (which were just the PCB). There are addressable LEDs around the outside, a nice IPS screen, USB C, and the connector.
The display is great - it saves from having to read the tiny silkscreen and cross reference to the website to know which signals were on which pins. The display dynamically shows pin assignments based on mode.
There's also the button near the USB connector that is handy for breaking out of different modes (see below).
I decided I would try to use the V5 without referring to any documentation. I am very familiar with the v3.5 BP, so I figured it would be a good test to see how much has changed.
Running 'dmesg' while plugging it in to my Linux box showed that it presents itself as two USB serial ports and a removable disk. Obviously quite a bit more going on that with the previous versions!
Jumping right in, I opened minicom sessions to both the old and new Bus Pirates (V5 on the left in purple, v3.5 on the right in green):
One obvious difference is the VT100 mode of the V5. The bottom of the screen shows the states of the IO pins, a very nice feature to be able to always see that!
The info command has more information for the new model; one obvious thing I saw is that it has fewer communications modes. Not too surprising as it is pretty new and I expect there will be more added as the firmware is updated.
I had been using the older BP earlier in the week for TTL UART and found that it wasn't able get to the baud rate I needed - it tops out at 115,200 baud and the device I was trying to connect to was at 230,400. Setting UART mode on the V5 made it appear that 230,400 was possible:
Test Usage
I set it up in UART mode at 230,400 buad and hooked up the I/O lines as shown on the display. Again, I can't say enough about how useful that little screen is. I used UART macro (1) for transparent bridge mode.
First thing I noticed is the feedback that you can press the BP's button to exit transparent bridge - previous BP would require resetting to exit that mode. Very useful as the user doesn't need to start the Bus Pirate back up, reconfigure mode, etc. after exiting transparent bridge.
BP V5 was able to keep up with the higher baud rate with no problems; not that I was really expecting any, but it was nice to see. The communications from the BP to the serial terminal on was still 115,200 baud, so I assume if there's lots of traffic on the TTL side it would eventually overrun the Pirate's serial buffer.
Conclusions
I'm very impressed with the V5 so far. I only spent an hour or so with it, but it was able to do something the V3.5 couldn't (UART at 230K baud).
I'm already thinking of things I want to try; for example I was unable to sniff some SPI serial Flash traffic on a device because the data rate was too high for the V3.5, maybe the V5 will be able to do it.
Now that I have it in hand and have played a bit, I'll read through the documentation to learn more. I can't wait to see where this product goes and will be looking forward to updates and more functionality :)
References
The product page for the V5 can be found
hereThe product page for the V3.5 can be found
hereOrder the V5
here (also get the premium cable set, well worth the money!)
No comments:
Post a Comment