Bus Pirate education kit parts


A new Bus Pirate educational/experimentation kit is in the works. Here, in no specific order, are the experiments/parts we plan to include. Almost all are from Microchip. This is mostly an accident, they seem to have the cheapest and most commonly available small serial devices in through hole packages.

If you know of alternate devices or we’re missing something painfully obvious, please let us know in the comments below.

Warm up exercises: LED and resistor on AUX pin introduces the Bus Pirate interface.

  • a/A commands to turn LED on and off
  • PWM/frequency generator changes brightness of LED

Simple serial to parallel shift register. This inexpensive output expander chains together to control hundreds of outputs from a simple 3 wire protocol. Illustrates nicely how binary bits in a byte become high/low on the IC pins.

  • 74HC595 with 8 LEDs output $0.10

Temperature measurement using two methods. A cheap analog sensor, and an I2C serial sensor.

Memory, a very basic first time serial device. Teaches addressing, binary numbering, and two common protocols (I2C and SPI) using the same basic command set.

Digital to analog converter. Output a voltage with digital control, read it with the Bus Pirate voltage measurement probe.

Analog to digital converter. Read a voltage (from a 5K potentiometer) and see the result as a digital value. Use the value to calculate the actual voltage.

A digital potentiometer is more versatile than a cheap DAC because it can pass analog signals such as audio and act as a volume control.

  • 5K potentiometer (also used in ADC lesson) used as voltage divider, Bus Pirate voltage probe used to measure output
  • SPI 5K digital potentiometer MCP4132-502E/P    $0.55 or MCP4131-502E/P    $0.55

A real time clock chip is a low power and easy way to keep time. Using a dedicated RTC chip is easier for beginners, though most pros will integrate it into a microcontroller . This is an inexpensive I2C device, and we were a little SPI heavy.

UART and serial is ubiquitous, but there’s very few cheap, through-hole slave devices that use it. Without a serial device we only have 2 (3 with the 74HC595) protocols covered in the kit. Our (current) solution is to program the cheapest possible ATTINY with a little firmware that responds to serial commands.

  • ATTINY2313A-PU?
  • Commands control PWM output to LED, measure with frequency probe
  • Terminal feedback, hidden messages, modes, etc
  • Logic Analyzer on repeating serial (or other) output

Why an ATTINY and not a PIC, MSP430, etc? The Bus Pirate can directly program most AVRs through AVRDude and there is an open/free IDE and compiler. We can include a short programming exercise in programming a chip without a bootloader. This might help someone revive and Arduino later too.

  • Program ATTINY2313A-PU (?) with AVRDude

One-wire is off the list because the devices are expensive, scarce, and it looks like even Maxim is killing off parts that support it. We declared it dead some time ago, and others have expressed similar sentiments. It also takes a ton of work to read/write data, and the demo doesn’t fit nicely in a little booklet.

A PWM chip with serial interface is missing. That would a great concept lesson, and output could be measured with the frequency measurement futures of the AUX probe. This could probably be integrated into the ATTINY (or other UART chip) though.

Join the Conversation


  1. That is a great selection of ICs. However, if you include an ATtiny with an integrated ADC (like the ATtiny25), you could use it as a cheap temperature sensor with I2C support. And the MCP4801 is the slightly more expensive cousin of the MCP4901, but comes with an integrated voltage reference.

    1. First kit will be v3.x for sure. Ideally there will be one with the BP+LA in the future, as that let’s you see everything happen on the bus, instead of just guess.

  2. Will the attiny on internal RC oscillator be accurate enough for uart? Since the buspirate doesn’t have a crystal reference either (does it operate off the FT232’s clock?) is it likely the two will be far enough in opposite directions that it will have communication problems?

    I guess I haven’t heard anyone complaining about baud rate problems with the BP before so I’d guess it’s not an issue?

  3. I think this is a great idea. I have always thought that this was something very lacking for the Bus Pirate. It’s oddly difficult to find any good tutorial info for those of us that learn by doing.

    I assume this will come with some step-by-step paper instructions. A video series would be great, too!

    Sign me up for one kit, so I can play with my Bus Pirate!

  4. You can program a Microchip PIC10F200-I/P (8-pin DIP) to respond to serial commands (there is no UART, but you can use bit-banging code). At $0.58 in single quantity from DigiKey or Mouser, I think that’s cheaper than the ATTINY you mentioned.

  5. I think there is a CoolRunner-II app note on making a port expander that would let you swizzle your mix twixt I2C and SPI, if it helps. The XC2C32 is inexpensive, althought I think it’s in TSOP versus thru hole.

  6. Maybe use a 10k pot instead… it’s what’s needed for those simple character displays which can be used with the 74HC595. That way all a potential buyer needs is the kit plus a display to get started.

  7. Good idea. A couple of comments: About a digital pot being more versatile than a D/A converter, note that digital pots’ steps are rather large which is fine for an audio pot but not for a lot of D/A uses, and they also may not change settings quickly. There are multiplying D/A converters that you can use as a volume control. About the lament that a PWM chip with serial interface is missing, PWM usually gets converted to an analog voltage anyway, so a D/A can replace it and there are loads of those on the market.

    gridstop: For the UART, you can’t really afford to have the clock speed be off by more than about 2% for reliable operation. RC is probably not good enough, but a ceramic resonator would be.

  8. I did some research on uart chips and the best I could find were i2c/spi uart converters and they are not cheap and will be too complex for the intended audience. Maybe include a cheap ftdi breakout to simulate serial communication with a PC?

  9. Why not a LCD or some 7-seg LEDs? They can definitely expand usability of these set. BP LCD back pack with some header or adapter might help to interface both Microcontroller and BP.

  10. Why not a LCD or cheapo 7-segs LEDs? They can definitely help the usability of this pack. Existing LCD backpack with some adapter or jumper can help interfacing with both BP and microcontroller.

  11. Why not a LCD or cheapo 7-segs LEDs? They can definitely help the usability of this pack. Existing LCD backpack with some adapter or jumper can help interfacing with both BP and microcontroller.
    (Is My IP address in spam list??)

  12. I did suggest last time to include a plain inverter 74hc04 did u see that :o)

    it seems from my “BusPirate Issued #61″, having optional inverted outputs implemented in BP settings seems to be pretty hard to implement, so you could included a plain inverter 74hc04 in your kit :o)
    It could be an easy first exemple to try or when you need inverted BP signals :-)

  13. In addition to all the great labs and tutorials already planned for this device, I personally would really like to see some labs/tutorials covering the use of the Bus Pirate to do JTAG work, preferably in conjunction with openOCD (perhaps re-flashing the bootloader for an Arduino, or programming a PIC device).

    Is it possible to single-step an ARM M0/M3/M4 device (via JTAG or SWD) using a Bus Pirate? If so that would be awesome, and a lab/tutorial on it would be fantastic!

  14. I’m working through updating some old PLL experiments. Some of the older chips are now obsolete.
    I was thinking of using GAL, but Lattice stopped supporting these in 2011. For simple PLD, forget Xilinx or Altera: Atmel are the only ones I can find still making PLDs in a breadboard-compatible DIP format.

    So, for a whopping $4.50 through Digikey, I suggest the Atmel ATF750LVC-15PU.
    It’s 5V compatible, and supposedly JTAG programmable too.

    1. We’ve had a heck of a time getting the cost down to where we want it. Instead we’re now redoubling into a lite and pro kit. lite will have a few chips and be available shortly. Pro will be much bigger and the most expensive project we’ve every put out.

      1. Will the ‘pro’ be an expansion to the basic kit or a replacement? Or are they both add-ons to the bare Bus Pirate?

Leave a comment

Leave a Reply to voidptr Cancel reply

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.