Bus Pirate GUI
The Bus Pirate is “a universal bus interface that talks to most chips from a PC serial terminal, eliminating a ton of early prototyping effort when working with new or unknown chips.” It supports a wide array of bus interfaces like, SPI, I2C, and 1Wire. It was designed by Ian Lesnet, and it’s open source. I got my Bus Pirate, via HackADay.com, from SeeedStudio.com. The latest hardware revision is v3, I have a v2go.
The reason for this post is the last 3 days I’ve been working on a GUI for the Bus Pirate. It’s using Qt4.5 and QextSerialPort. Hopefully when I get somewhere close to Alpha, I’ll compile for all three platforms (Windows, Mac, Linux) and allow others to play with it. If you like to help develop or test the application, contact me. I plan on setting up a new GoogleCode Project for it, or if Ian wants I can host on the Bus Pirate SVN.
Note: I’m not a writer; I’m not much of an Engineer either, but it’s what I can do.
Now for the Screenshots:
Major note, what you see might change. It was primarily designed, from the hip, for EEPROMs.
For now there is no File Select Dialog, which might come as soon as I can verify that reading and writing works. You can see that you can read from spi, write to spi, and scan chip id. The interface is kinda designed for EEPROMs and Flash chips. The Large text box you see will be for the real time log, in some format TBD.
The I2C and 1Wire Interface GUIs will allow you to scan and enter a device address for read or writing from.
My very first use of my Bus Pirate was for the DS Lite’s firmware chip (using SPI). I wrote raw Ascii Hex values to a text file for scripting, so I wouldn’t have to hard code values into my scripts. I’ve since remembered how to read binary using Python and C++. Another user submitted a windows console program for I2C EEPROMs which used this file format, and Ian suggested it.

Miscellanous Bus Pirate Interface
This panel should be helpful if something goes wrong or someone would like to manually execute Binary Mode commands.

Serial Port Settings
This last screen is for setting Serial Port particulars. In case the Bus Pirate isn’t connected before App Execution, there’s open and close buttons for the serial port.
I might take a branch of the code and create a Firmware Update GUI for the Bus Pirate usable under Linux and Mac.




Comment from Ian
Time 2009/10/25 at 23:43
Looks awesome, feel free to put it in the SVN.