The 96×16 Dot-Matrix display uses the i2c protocol, keeping the pin count really low (six pins for: ground, reset, clock, data, chip select, and voltage). Since the Bus Pirate gives you command-line-like access to i2c it’s a natural choice for a first test. In fact, the tool has been our go-to device for that protocol for most projects.

The first commands sent are configuration values for the SSD1306 that drives the display. These configure contrast, voltage conversion, and other important values necessary to power on the display. It sprung to life, showing random pixels since the RAM had not yet been initialized. With that success [Glitch] moved on to the Bus Pirate’s scripting capabilities and ended up with a Python script that drives the demo seen above. Now that he knows the commands he needs, it’ll be a lot easier to write code for a microcontroller driver.