Exercising I2C and SPI ICs (and more!) Using Bus Pirate Embedded Tester
Bruce Schreiner posted on August 31, 2013 | | 9221 views
When you have ICs or devices to include in your embedded system design that interface using 1-wire,  I2C, SPI, JTAG, serial, or HD44780-based LCD display protocols and need a little more experience with them, first, one would normally utilize a familiar microcontroller-based platform. 

Bus Pirate Board, V3

Depending on what is available, hardware interfacing and varying programming languages could use valuable time better suited for design issues.  Ian Lesnet , founder of Dangerous Prototypes, has a perfected an open-source  solution with a simple command line interface and a consistent set of commands for all protocols called the Bus Pirate.

The Bus Pirate is a Microchip PIC24FJ64-based embedded system which supports the mentioned communications protocols, which I generically refer to as IC networking.  The Bus Pirate is connected to a PC using terminal emulator software (freeware Tera Term Pro works nicely) to provide a command line user interface. The Bus Pirate software interface provides extensive setup options for each different protocol and also includes read and write commands that allow direct communication with the ICs or devices under test.  You learn the Bus Pirate command interface once and you end up with a consistent experimentation platform with easy hardware connectivity.

Bus Pirate Example Command Interface

Lesnet is continually improving the Bus Pirate with firmware updates and new board revisions to add additional features.  Purchasing is convenient via Seeed Studio located in Hong Kong but with fast shipping to the US.  It is possible to automate the commands to the Bus Pirate using command chaining and scripting.  Scripting control examples are provided in Python from the online Bus Pirate user’s manual

The device continues to morph into additional solutions due to the flexibility and completeness of its design.  For instance, an LCD adapter board allows for exercising of HD44780-based LCD displays using the same interface and command set.

Bus Pirate LCD Adapter

The Bus Pirate is an open design with both board design and software available from the website.  Learning is easy with interface tutorials and hands-on example labs using actual ICs from all of the protocol categories.  If you spend the time perusing the website documents you can be up and testing your IC in less than 1 hour.

If you are a little unsure of your IC-networked protocol device, grab an inexpensive Bus Pirate device, and you will have an easy-to-learn, flexible exercising platform that you will use over-and-over without the need to continual design new microcontroller systems just to develop with a new IC.