You may be wondering – what the hell happened to Openschemes? And you’d be right. It’s been quite a while, so we’re posting a quick tool on using the bus pirate to manually toggle logic pins.
The strategy is similar to the Logic Test Bench Using Cheap EEPROM Programmer project, but on a much smaller scale. The Bus Pirate is a compact hacker tool for interfacing various serial interfaces, and is quite a handy addition to your bench for approaching unknown systems. Presently, we have a chip with logic-based test modes that we need to manipulate. Of course, we tried the simple technique of enabling and disabling 3.3V power supplies in order to make the logic signals, but that sucks and is unreliable. It didn’t work. Ow!
So we needed an arbitrary logic driver, and fast! Enter the Bus Pirate.
The Bus Pirate has a small handful of logic outputs, usually dedicated to I2C or SPI type interfaces. But with a little behind-the-scenes signalling, we can take over the output port and drive any signals we want just by setting the pins high and low. The only problem is that there is no way to activate, or use, this incredibly versatile mode from the console. So instead of attempting to patch into the BP firmware (which is probably worth a look), we decided to just mock up a little bitty VB program to enter bit bang mode and clickity-click our way to some square waves.
And here it is, in all it’s 9-input glory.
Figure 1 – BPTwiddle Interface
To use, you shall connect a Bus Pirate and set the COM port correctly. Then Open and Enter BBM. Hint: Entering BBM also opens the port, if you can’t wait a few milliseconds for two mouse clicks, just hit the enter BBM button. Finally, click the checkboxes corresponding to the bit bang mode pins to raise and lower the logic outputs.
This version uses all 5 pins as outputs. If you like, you can rewrite the code to use some as logic inputs. In either case, when a checkbox is clicked the new value of all pins is sent to the Bus Pirate. Then, BP kindly returns the actual readback from all pins, which is displayed in the white/black boxes just below the checkboxes. Very simple, very straightforward.
Please take and feel free to hack/mod/improve the code! Or just use the precompiled tool for your own nefarious purposes. We hear tiny logic chips screaming in fear already.