Bus Pirate v4 design overview

From DP

Revision as of 10:46, 24 October 2011 by Arakis (Talk | contribs)
Jump to: navigation , search

BPv4.jpg

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

Projectschematic600.png

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

MCU-600.jpg

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

IO-600.jpg

  • New in v4
caption
PIN NAME PIN NAME
1 MOSI 2 CLOCK
3 MISO 4 CS
5 AUX0 6 AUX1
7 AUX2 8 ADC
9 VEXTERN 10 SWV33
11 SWV50 12 GND

Switchable power supplies

PS-600.jpg

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

PU-600.jpg

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

SPU-600.jpg

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

Vm-600.jpg

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

LEDs-600.jpg

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

EEP.jpg

  • New in v4

Buttons

FBTNB-600.jpg

  • New in v4

PCB

BPv4-PCB-render-600.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

BPv42-pcb.png

Click for a full size placement image.

C:/Users/Fica/Desktop/sljaka/instrukcije/BusPirate-v4a.brd
PartQuantityValuePackage
C1-C10100.1uFC0603
C11,C1321uFC0603
C1211ufC0603
C14,C15210uFSMC_A
D1,D2,D33SOD123
H1,H2,H3,H44MOUNT-PAD-ROUND3.03,0-PAD
IC11PIC24FJ256GB106TQFP64-10X10
IC214066DSO14
IC3124AASOT-23-5SOT-23-5
ICSP1ICSP1X05
IO1PINSHRD-PTH-2X06PINSHRD_PTH_2X06
JP111X02-S
L11700mA+ ferrite beadWE-KI_0805_B
LED1-LED2,LED2A-LED2,LED3A-LED2,LED4A,LED4A8CHIP-LED0805
NORMAL,RESET2SMD_TACT_SMALLTACT_SWITCH_SMALL
Q1,Q22SOT23
R1,R221KR0603
R3,R4,R5,R641K1R0603
R7,R8,R9,R1042KR0603
R11,R12,R13,R14410KR0603
R151100KR0603
RN1,RN2,RN3310kRN8P-4R-CRA06S
U$11DP-LOGO
USB1USB mini-bCONN_USB_MINI-B
VR1,VR22MIC5205-3.3BM5SOT-23-5
VR31MIC5205-5.0BM5SOT-23-5
X11CRYSTAL_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

600px

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!