Bus Pirate v4 design overview
From DP
Intro and goal
features
- Features (list)
- Features
You can get a [project for $20], including worldwide shipping.
Read about the design below.
Contents |
Overview
History and related links
Hardware
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.
PIC24FJ256GB106
New in version 4 is the use of the PIC24FJ256GB106 MCU, it has 4 times more storage space and more memory then the one used in version 3. It also has an on-chip USB which seeds up the USB connection, as well as optional ON-the-Go capability.
It is powered by a low drop out voltage regulator (VR1)that drops the 5v USB power supply to the 3.3v required by the chip, that uses a 1uf capacitor (C12) to stabilize the voltage. All the power supply pins (VDD) are decoupled by 0.1F capacitors (C2,C4,C9). The USB power supply pin (VUSB) is also decoupled by a 0.1F capacitor (C5). There is a 10uF capacitor (C15) connected to the 2.5v core power supply pin (VCORE).
The PIC uses a external 12Mhz quartz crystal (X1) and two 18pf capacitors (C7 and C8)to provide it with a stable clock.
A ICSP programing header is provided, as well a reset button. The ~MCLR pin is pulled up to the power supply line to keep the chip in reset until the power supply is adequate.
There are 4 LEDs (PWR, USB, MODE, VREG) provided with their respective 1K1 resistors (R3, R4, R5, R6).
USB
In version 4 we use an on-board hardware USB module instead of the dedicated FTDI USB-to-serial chip we used in previous versions. It allows the bus pirate to interface with he computer at a much faster rate.
The board was designed with USB ON-the-GO capability, but the external supply header and the D3 diode are not populated in the first revision of the Bus Pirate, as it is not implemented into the Bus Pirate firmware. For anyone wanting to develop it further they only need to solder the external supply header (JP1) and the rectifier diode (D3).
IO header
- New in v4
Switchable power supplies
Two voltage regulators (VR2 and VR3) are switchable and controlled by the MCU, one (VR2) is used for devices that need 3.3V, the other (VR3) provides a 5v supply. Both use 1uf capacitors (C11 and C13) to stabilize their outputs.
Pull-up resistors
10k pull-up resistors are provided on the CS, MISO, and CLOCK IO header pins through a resistor array (RN1), while a 2k resistor (R10) is connected to the MOSI pin. They are switched on and off by the MCU trough the 4066 IC (IC2)
Switchable pull-up voltage
New in V4 is that the pull-up voltage is selectable between 3.3V and 5V. Transistors (Q1 and Q2) along with diodes (D1 and D2) and resistors(R1, R2, R13, R14) provide the switching circuit for the MCU. The pull-up voltage is also available on the VEXTERN pin.
Voltage monitors
The resistor arrays (RN2 and RN3) provide voltage dividers for the VUSB, VEXTERN, SWV33, SWV50, and ADC IO header pins, thus allowing the MCU to read voltages higher then 3.3v.
LEDs
There are 4 LED on-board the Bus Pirate v4. The PWR LED is connected to the MCU power supply. The VREG LED is connected to the 3.3V switchable power supply. And the USB and MODE LEDs are driven by the MCU.
On-board EEPROM
- New in v4
Buttons
- New in v4
PCB
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
Click for a full size placement image.
| Part | Quantity | Value | Package |
|---|---|---|---|
| C1-C10 | 10 | 0.1uF | C0603 |
| C11,C13 | 2 | 1uF | C0603 |
| C12 | 1 | 1uf | C0603 |
| C14,C15 | 2 | 10uF | SMC_A |
| D1,D2,D3 | 3 | SOD123 | |
| H1,H2,H3,H4 | 4 | MOUNT-PAD-ROUND3.0 | 3,0-PAD |
| IC1 | 1 | PIC24FJ256GB106 | TQFP64-10X10 |
| IC2 | 1 | 4066D | SO14 |
| IC3 | 1 | 24AASOT-23-5 | SOT-23-5 |
| ICSP | 1 | ICSP | 1X05 |
| IO | 1 | PINSHRD-PTH-2X06 | PINSHRD_PTH_2X06 |
| JP1 | 1 | 1X02-S | |
| L1 | 1 | 700mA+ ferrite bead | WE-KI_0805_B |
| LED1-LED2,LED2A-LED2,LED3A-LED2,LED4A,LED4A | 8 | CHIP-LED0805 | |
| NORMAL,RESET | 2 | SMD_TACT_SMALL | TACT_SWITCH_SMALL |
| Q1,Q2 | 2 | SOT23 | |
| R1,R2 | 2 | 1K | R0603 |
| R3,R4,R5,R6 | 4 | 1K1 | R0603 |
| R7,R8,R9,R10 | 4 | 2K | R0603 |
| R11,R12,R13,R14 | 4 | 10K | R0603 |
| R15 | 1 | 100K | R0603 |
| RN1,RN2,RN3 | 3 | 10k | RN8P-4R-CRA06S |
| U$1 | 1 | DP-LOGO | |
| USB | 1 | USB mini-b | CONN_USB_MINI-B |
| VR1,VR2 | 2 | MIC5205-3.3BM5 | SOT-23-5 |
| VR3 | 1 | MIC5205-5.0BM5 | SOT-23-5 |
| X1 | 1 | CRYSTAL_212M_ | 4X6 |
Firmware
The firmware is written in C and compiled with the free Microchip C18 compiler. You can download the latest files from our Google Code project page.
- Operating modes
- extra software required
We used the Microchip USB stack to run the 18F2550 as a virtual serial port. Microchip's code is open but not redistributable. If you want to compile the source, download the stack from Microchip, then drag the source code into the install directory. See the detailed instructions in the PIC compiler how-to.
.inf installation
The virtual serial port (CDC) is an open standard, it should work on any modern operating system.
You don't need a driver, but you will need a .inf file to tell Windows how to use the device. A suitable .inf is included in the project archive.
Commands
Bootloader
Source and license
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!











