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.
- MCP9701A-E/TO Analog temperature sensor with ADC probe $0.26, also cheaper $0.20 MCP9701-E/TO
- I2C TC74A1-3.3VAT temperature sensor (alternatives?) $1.04
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.
- I2C EEPROM 24LC04B-I/P $0.30 Cheap and easily available
- SPI SRAM 23LC1024-I/P $2.16+ Way too expensive, will probably substitute SPI EEPROM 25LC040A-I/N $0.46
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.
- I2C MCP7940N-I/P $0.76 a little EEPROM and battery backup, non-stock!
- I2C MCP7940M-I/P $0.60 cheaper and available, but older
- Both need 32.768KHz crystal and 2 capacitors
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.
- 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.