Bus Pirate Demo Board v5 design overview

From DP

Jump to: navigation , search

600px

[Available for $xx.xx at Seeed Studio].

Prototype PCBs are available in the free PCB drawer.

Bus Pirate Demo Board v5 is a multiple protocol, multiple IC emulator. To test out major functions of the Bus Pirate we programmed one microcontroller to emulate various different devices you could connect to the Bus Pirate. By selecting different combinations of jumpers you are in fact changing the function and the interface protocol of the board. It can emulate the following functions:

  • PWM generator
  • ADC converter
  • DAC converter
  • SRAM memory

Communicating with the Bus pirate over the following protocols:

  • SPI
  • I2C
  • UART
  • TBD (to be decided)

Contents

Overview

600px

History and related links

Hardware

600px

Click for a full size schematic image. Schematic and PCB were designed with the freeware version of Cadsoft Eagle, download the latest project files from our Google Code project page.

PIC16F1829

File:BPdemo v5 MCU-600.jpg

The Demo Board v5 uses a small 8bit PIC16F1829 microcontroller (U1) that is powered directly from the Bus Pirate IO header. The power pin (VDD) is decoupled with a 0.1uF capacitor (C1).

The ICSP programing connection is brought to a header for easy development. The MCLR (RESET) programming pin is connected to the power supply through a diode (D1) and 10K pull-up resistor (part of the RN2 resistor array). The diode stops the 9volt supply using during programming from damaging the rest of the circuit.

Two LEDs (LED1 and LED2) are connected to pins 5 and 7 of the microcontroller through current limiting 1k resistors (R1 and R2).

Also added on the MCLR programing pin is the current limiting resistor R3 and voltage limiting 9V zener diode (D2), making it compatible with programmers that can only supply 13V programming voltage. To enable this mode you simply need to cut away the trace below R3 and populate both R3 and D2. If you don't need this just leave the trace connected, and don't populate the relevant components.

Protocol Jumper

File:BP Demo v5 protocol.jpg

The table below demonstrates how the protocol is set. 0 indicates that the jumper is not present, 1 indicates that it is present. So for example 01 means that the left jumper should be taken off, while the right jumper needs to stay on.


Protocol Jumper
Position Protocol
00 SPI
01 I2C
10 UART
11 TBD

Device Jumper

File:BP Demo v5 device.jpg

The table below demonstrates how to set the device you want to emulate. '0' indicates that the jumper is not present, '1' indicates that it is present. So for example '01' means that the left jumper should be taken off, while the right jumper needs to stay on.


Device Jumper
Position Protocol
00 ADC
01 DAC
10 MEM
11 PWM

ADC input

File:BP Demo v5 ADC.jpg

Analog input front end contains a voltage divider (RN2) which is connected to pins 3,9, and 10 of the microcontroller, corresponding to channels 0,1,and 2 of the internal ADC.

Warning: Never connect a signal with a voltage higher then the Demo Boards Power supply.

DAC Buffer circuit

File:BP Demo v5 DACBUF.jpg

The DAC output of the microcontroller is buffered with a LMV321 op amp (IC1) in a buffer amplifier setup. It has a 0.1uF decoupling capacitor (C4) and two 1uF stabilizing capacitors (C2 and C3) on it's input and output.

Bus Pirate header

File:BP Demo v5 BPIO.jpg

PCB

File:BPDEMOV5-PCB.jpg

We used the freeware version of Cadsoft Eagle to make the schematic and PCB. Download the latest designs and firmware from the project Google Code page.

  • PCB and placement notes
  • soldering advise

Partslist

600px

Click for a full size placement image.

partlist
PartQuantityValuePackage
ADC_IN1M1X3
BP1HDR-BUSPIRATE
C1,C420.1uFC603
C2,C321uFC603
D11DO323
D21SOD-323F
DEVICE,PROTOCOL22X02
IC11LMV321-SOT-23-5SOT-23-5
ICSP1HEADER_PRG_PIC_ICSPBHEADER_PRG_1X05_ICSP_B
LED1,LED22LEDLED-805
R1,R2,R331kR603
RN1,RN2210kRN8P-4R-CRA06S
U11PIC16F1829SSSSOP20

Firmware

The firmware is written in C and compiled with the free HI-TECH C compiler for PIC10/12/16 MCUs. You can download the latest files from our Google Code project page.

  • Operating modes
  • extra software required

Taking it further

Here's some ideas for the future:

  • List

We'll post the most recent firmware updates on our blog. You can also join the discussion in the [forum].

Get one!

You can [get one for $00], including worldwide shipping.

Your purchases at Seeed Studio keep the open source project coming, we sincerely appreciate your support!