You are currently browsing the tag archive for the ‘Development’ tag.

0x0064  REM basictest
0x006E  LET A=C+16
0x0078  FOR B=1 TO 5
0x007D  FOR D=0 TO 2
0x0082  PRINT "A=";A;" B=";B;" D=";D
0x0087  NEXT D
0x008C  NEXT B
0x00C8  INPUT "Enter C",C
0x00D2  GOSUB 1000
0x00DC  IF C=20 THEN  PRINT "C=20!!"; ELSE  PRINT "C!=20";
0x00E6  END
0x03E8  PRINT "C=";C
0x03F2  RETURN

Sjaak demonstrated a basic scripting language that could be integrated into the Bus Pirate terminal. Take a look and tell us what you think.


Today we completed an initial PIC firmware for the open source logic analyzer. The PIC has two operating modes: a serial bridge for SUMP to talk to the client on the FPGA, and a ROM programmer that updates the AT45DB041D flash chip with new logic for the FPGA. There’s still some bugs, but the design is coming together. Give your suggestions and follow our progress in the forum.

Major to dos:

  • Finish the USB bootloader port to 18f24j50
  • Clean and comment the PIC source
  • Clean up the PERL updater scripts


Bus Pirate firmware v3 will be released in the near future. Are there any minor tweaks or moderate feature additions that you’d like to see in V3? It’s probably too late for major additions like a new protocol, but we’d like to know if there’s any popular updates we can schedule for the big v3 release. The issue tracker might give you some ideas.

Beyond v3, are there any major new features you’d like? I2C and improved SPI snoopers are a popular request, they’ll probably be added to the new binary mode for better speed and performance. CAN and OBD-II protocols are also frequently requested.


You don’t need a Microchip programmer to develop firmware for the Bus Pirate. You can use Microchip’s free development tools and upload code through the USB bootloader. It’s a mini PIC 24F development board!

First, download and install Microchip’s IDE called MPLAB, and the free demonstration C30 compiler. Next, download a Bus Pirate source code archive, or get the latest development version from SVN with a program like TortoiseSVN.

Open the Bus Pirate project in MPLAB.

Uncomment the correct Bus Pirate hardware version and language in base.h. Compile the project. You may need to modify the compiler location when prompted, but MPLAB is getting better about making these changes automatically.

The compiled firmware must be exported in order to work with the bootloader. In MPLAB, go to File->Export… Make sure that the Program Memory and Configuration Bits boxes are checked. Make sure INHX32 (Intel 32bit HEX) is selected on the File Format tab. Click OK to export the firmware.

Bootload the firmware following your normal upgrade process (Linux, OSX).

After the break, learn how to use TortoiseSVN to check out the Bus Pirate source on Windows.

Read the rest of this entry »


The original web server on a business card Ian posted at Hack a Day was a homemade single-sided PCB with a few jumper wires. A version 2 was designed on a professional PCB, which opened up a lot of possibilities for new features. We added a 128×128 color Nokia knock-off LCD to make a network-connected photo frame.

The blue wire on the left connects some power pins we forgot to route. The unrouted wire was directly over the connecting wire, which made Eagle Cad’s unrouted indicator invisible. Now we use the zoom-unrouted.ulp script to check for unrouted wires before submitting Gerbers to the board house.

This design remains unpublished because the parts are hard to find. SparkFun stopped carrying the microSD card holder, and a new batch of LCDs didn’t work the same as the old models. The giant DPack 3.3volt regulator (LD117) next to the power jack at the back of the board was also a really expensive, somewhat rare part. We have one extra PCB that we’ll give away on a future free PCB Sunday.


***We’ll start a preorder ($30 assembled, shipped worldwide) if there are a few firm commitments, sign up for notification in the forum.***

This rendering shows the nearly-complete Bus Pirate v3 PCB. Our initial preview of the new hardware generated some really good comments.

  • We decided to swap the PGC and PGD pins of the ICSP header as suggested by numerous readers. The pins will now align with a PICKIT2 programmer.
  • The power traces and vias have been expanded to handle the maximum possible loads.
  • SSOP PIC, eliminated a few parts, centered USB jack, rotated CD4066 IC to accommodate a shrouded or right angle pin header.
  • The PGC/PGD swap means this hardware will require a new bootloader and firmware. For this reason we’re going to increment the hardware to v3 instead of v2.5.
  • Added power-on self-test to firmware for hardware v3. Future hardware will probably require a jumper between PGD and ground for normal operation.
  • We decided against mounting holes. We couldn’t locate a standard separation for the hole pattern, so the holes would only fit one specific case.
  • Removed alternate resistor placement pads from bottom of PCB. Back LEDs now use the same resistors as the front side LEDs.


The Bus Pirate V2a and V2go weren’t the only design candidates for the Bus Pirate v2 series. Here’s a rendering of the Bus Pirate ‘v1.5’, a design that never saw the light of day. This Bus Pirate was meant to be completely portable. It has an LCD to display the terminal, and a keyboard jack to work with a roll-up rubber keyboard.

Here’s some of the differences between this version and the final v2 series.

  1. This design didn’t include software controlled pull-up resistors. It uses the jumper concept from v1a with SMD resistors.
  2. V1.5 included a Nokia LCD knock off, like the one SparkFun sells for $15. The LCD backlight needs 7volts, so the large SOT223 regulator behind the power supply is a LM317 set to 7volts. The LM317 also supplies the other regulators with 7volts, which is better than the 5V supply to 5volt regulators on the v2a and v2go.
  3. The six hole pattern seen on both sides of the PCB is for the PC keyboard connector. PC keyboards operate at 5volts, so this feature took two of only seven 5volt tolerant pins on the PIC24FJ64.

When we decided to manufacture the Bus Pirate, this design was too complicated and expensive. The code to run the LCD terminal and read the keyboard was big and made it hard to add new protocols. The knock-off Nokia LCDs are really inconsistent too, even different batches from SparkFun require different drivers. We minimized the design first to the v2a, then to the v2go.

In the end, we’re really pleased with the v2go. In retrospect, however, there were a few changes that would have make the whole process smoother. These have been integrated into the updated Bus Pirate v3, which is an even cleaner design that should be easier to manufacture in quantity.



UPDATE II: PCB stuffed and tested.

UPDATE I:***We’ll start a preorder ($30 assembled, shipped worldwide) if there are a few firm commitments, sign to be notified and check the forum.***

The next version of the Bus Pirate universal serial interface is about a week away from prototyping. Why a new version so soon, when Hack a Day’s second preorder won’t ship for another 20 days?

The chip availability problem has a lot to do with it. We modified the v2go board to use the SSOP version of the PIC24FJ64GA002, which seems to be more widely available.

We normally work with SOIC chips whenever possible. It’s an easy surface mount size for the timid solderer, and it’s an easy size to prototype on homemade PCBs. The SSOP PIC makes sense here, though, because FTDI only makes the 232RL USB chip used on the Bus Pirate in SSOP and QFN packages, we’re using professional PCBs, and the vast majority of these are being made in a factory.

Changes to Bus Pirate V3:

  • Changed to SSOP PIC24FJ64GA002-I/SS
  • Removed unnecessary pull-down resistor R18. Verified in datasheet that VR3 & VR4 are off when enable pin is open.
  • Moved and rotated the CD4066 (IC3) for cleaner routing and (maybe) sufficient clearance to fit a shrouded header.
  • Thicker power traces, bigger power vias.
  • PCB is thinner and slightly longer, USB jack centered, R19 aligned with other resistors.
  • Moved USB LED to top.
  • Switched ADC and 3.3V pins.
  • Will be programmed with V2+ firmware. Includes a power-on self-test mode triggered by starting with the PGC pin jumpered to +3.3volts. Quality control will be faster and more thorough.
  • Code name is v3, may end up being versioned to v2.5 if the firmware is 100% compatible with v2go.

Look for the new PCB in the SVN soon.

Make your change requests in the comments.