Binary mode scripts roundup

perl-st

Here’s a roundup of the binary mode scripts we’ve collected so far. Submit your scripts by the end of this weekend for a Bus Pirate probe cable kit.

blue.zener wrote a Ruby class to interface the Bus Pirate, and demonstrated it with a Nokia 3310 LCD. audiohacked recently updated pyBusPirate, a comprehensive Python interface library. James wrote an example I2C EEPROM programming script in C for Windows.

There’s also three Perl examples in the demo scripts folder. The binmode test shows how to enter and exit the new modes. The self-test script demonstrates the new binary manufacturing test modes. The binary SPI sample script dumps EEPROMs to a file.

Bus Pirate Mind-Reading Mode?

force-hack

Mike Donovan suggests that a USB version of Zibri’s Force Trainer interface hack could be done with a Bus Pirate. Substitute the MAX RS232 serial converter with a Bus Pirate in UART mode configured for 57600, 8/N/1 : “call it Bus Pirate Mind-Reading Mode”. View output in the terminal, or start the transparent UART bridge (macro 1) to interface with Zibri’s software.

Thanks for the tip!

Windows C EEPROM programmer script

jeeprom

James submitted an example binmode script in C for Windows. It programs an ASCII hex file onto an I2C eeprom like the 24FC64. This is an excellent demo for anyone who wants to make a native Windows application that interfaces the Bus Pirate.

Don’t forget that we want your scripts too. We’re giving away two Bus Pirate probe kits to binmode script authors. Here’s all the binmode documentation so far.

Thanks for the tip!

CoolTerm terminal for OSX, Windows

coolterm2

Justin Maynard suggested CoolTerm as a freeware MAC/OSX serial terminal option. ZTerm seems to be the other favorite.

CoolTerm has versions for OSX and Windows. We tried the Windows version, the settings that worked for us are shown above. Be sure to check handle backspace character, and change the enter key emulation to CR. As of firmware 2.3 the Bus Pirate never uses flow control, and it may cause problems with some terminals.

MIDI mode merged into UART library

midi-uart

The next Bus Pirate firmware release merges MIDI into the UART library. MIDI is just a specific serial protocol over a UART at 31250bps, 8/N/1. The latest nightly build adds option “10) 31250 (MIDI)” to the UART speed options. This also applies all the recent UART mode fixes to MIDI without duplicating code.

If you’ve used or plan to use MIDI on the Bus Pirate, we’d like to hear from you below the fold. As far as we know, MIDI mode has never been used.

Continue reading “MIDI mode merged into UART library”

Bus Pirate project welcomes audiohacked

bpproject

Please join us in welcoming audiohacked to the Bus Pirate project. audiohacked wrote the excellent Python wrapper for the new Bus Pirate binary modes, and now he’ll be updating a copy in the project SVN too. pyBusPirate makes Bus Pirate scripting easy for Python developers, and it’s the most complete binmode reference implementation available.

Bus Pirate: Binary 1-Wire mode

1w01

See the latest version in the documentation wiki.

The Bus Pirate’s new binary modes provide a consistent, logical way to script actions from Python, Perl, etc. We’ve already introduced the new binary bitbang, SPI, I2C, and UART modes. This post outlines the last planned binmode addition, 1-Wire functions. A completed binary mode will be in the next firmware release, for now you can grab the latest v2.7 nightly compile.

We want your scripts! If you script something for any of the new modes, in any language, we’d like to host it in the example scripts folder. We’ll send Bus Pirate probe cable kits to two authors of Bus Pirate binary mode scripts posted by the end of next week (October 24th, 2009). Here’s all the binmode documentation so far.

Binary 1-Wire mode specification follows after the break.

Continue reading “Bus Pirate: Binary 1-Wire mode”

Wanted: Manual maintainer

man2

We try to keep the Bus Pirate manual updated with the latest command changes and macros, but like many open source projects, documentation lags behind development. If you like to organize information and have a grasp of rudimentary HTML (links, anchors), please consider joining the Bus Pirate project as a manual maintainer. This position comes with heaps of gratitude from your fellow Bus Pirate owners!

Bus Pirate nightly version 2.7

v27

There’s some major internal changes in the latest nightly firmware. The binary mode features are implemented and nearly complete. Several bug fixes and a new macro went into the UART library.

Your help testing this new firmware prior to a final release is greatly appreciated. Please leave a comment if you find bugs, or if you can verify that various protocols and features are working. Download the latest v2.7 nightly, update instructions here (Python updates).

More below the fold.

Continue readingBus Pirate nightly version 2.7”

UART mode updates

uart-sl

See the latest version in the documentation wiki.

UART mode requires special handling compared to the other Bus Pirate modes because data can arrive at any time. Displaying data as it arrives is a unique challenge because it has to be converted to ASCII and sent to the user terminal. Each incoming byte takes about 10 bytes to display on the PC.

The UART library has been largely neglected since early releases. This post outlines changes in the v2.7 release that solve a number of issues that were plaguing the UART library, including speed setting problems and buffer errors.

Continue reading “UART mode updates”

Bus Pirate: Nokia 3310 LCD

[vimeo http://vimeo.com/7139826]

blue.zener interfaced a Nokia 3310 LCD using the new Bus Pirate binary mode. He also wrote a general Ruby class for the Bus Pirate binmode. There’s a bit more in the forum, too. The step-by-step overview is excellent, great work!

Don’t forget that we want your scripts too. We’re giving away two Bus Pirate probe kits to binmode script authors. Here’s all the binmode documentation so far.

Thanks for the tip!

Bus Pirate: Binary UART mode

binuart

See the latest version on the documentation wiki.

The Bus Pirate’s new binary modes provide a consistent, logical way to script actions from Python, Perl, etc. We already introduced the new binary bitbang, SPI, and I2C modes. This post outlines the binary UART functions. A UART is like a PC serial port. Binary mode will be complete in the next firmware release, for now you can grab the latest v2.7 nightly compile.

We want your scripts! If you script something for any of the new modes, in any language, we’d like to host it in the example scripts folder. We’ll send Bus Pirate probe cable kits to two authors of Bus Pirate binary mode scripts posted by the end of next week (October 24th, 2009). Here’s all the binmode documentation so far.

Binary UART mode specification follows after the break.

Continue reading “Bus Pirate: Binary UART mode”

Free PCBs: Bus Pirate v3

bpv3-pcb

We go through a lot of prototype PCBs, and end up with lots of extras that we’ll never use. Every Sunday we give away a few professionally-made PCBs from one of our past or future projects, or a related prototype.

To celebrate the completion of Bus Pirate v3, we’re giving away two BPv3a PCBs. V3a is the second and final revision of the Bus Pirate v3 family, the same PCB that will go into production. If you’re up for the challenge of building your own BPv3, just ask for one of these PCBs. PCBs by Seeed Studio.

Get assembled red Bus Pirate v3 hardware for $30 at Seeed Studio, including worldwide shipping.

Continue reading “Free PCBs: Bus Pirate v3”

Self-test in binary mode

perl-st

See the latest version in the documentation wiki.

Since v2 the Bus Pirate firmware has included a self-test that verifies the function of pins and peripherals. The latest v2.6-nightly build adds a self-test to the binary bitbang mode. This is a useful way for applications to test the Bus Pirate, and for manufacturing quality control.

Self-test details after the break. Don’t forget that we’re giving Bus Pirate probe cables to script authors.

Continue reading “Self-test in binary mode”

Python Bus Pirate binmode library

bppy

Audiohacked developed pyBusPirateLite, a Python interface to the new Bus Pirate binmode. It includes libraries that manage each mode (bitbang, SPI, I2C), and an example SPI EEPROM reader built on the libraries. Download a copy from our example scripts folder, or get the latest code at Audiohacked’s git repository. You’ll also need pySerial if you don’t have it.

Don’t forget that we want your scripts too! We’re giving away two Bus Pirate probe kits to binmode script authors. Here’s all the binmode documentation so far.

Thanks for the tip!

Free probe cables for your binmode scripts

iancable1

We want your scripts!

The Bus Pirate has three new binary access modes that can be scripted from a PC: I2C, SPI, and bitbang. There’s already some basic Perl demos in the example scrips folder. If you script something for any of the new modes, in any language, we’d like to host it with the other examples.

We’ll send Bus Pirate probe cable kits to two authors of binmode scripts posted by the end of next week (October 24th, 2009). Any language is fine, but something widely available and cross-platform is best.

Bus Pirate: Binary I2C mode

binic2

See the latest version in the documentation wiki.

The Bus Pirate’s new binary modes provide a consistent, logical way to script actions from Python, Perl, etc. We already introduced the new binary bitbang and SPI modes, today we’ll document the binary I2C mode. Binary I2C will be in the v2.6 firmware release, for now you can grab the v2.6 nightly compile.

We want your scripts! If you script something for any of the new modes, in any language, we’d like to host it in the example scripts folder. We’ll send Bus Pirate probe cable kits to two authors of Bus Pirate binary mode scripts posted by the end of next week (October 24th, 2009).

Binary I2C mode specification follows after the break.

Continue reading “Bus Pirate: Binary I2C mode”

Bus Pirate firmware v2.5

2.5

Firmware v2.5 is a minor fix release. We cleaned up two small bugs in the binary SPI library, and removed an update to the smartcard library to make it more flexible. This should be the last rapid release to correct minor bugs –   sorry about that, we want a final release firmware with fully working binmode features to develop against.

Our Perl script to dump SPI EEPROMs is in the project SVN, look for a full tutorial in the next few days. We created a scripts folder for any Bus Pirate related software. We’d love to host a copy of your scripts, no matter how simple.

The next firmware release will probably include binary UART and binary I2C access modes.