I finally upgraded the forum from SMF 2.0 RC1.2 to 2.0 RC2. There really wasn't a reason, I should have left it alone. RCs aren't really for live use, but it's somehow appropriate for Dangerous Prototypes.
The theme we're using, Yabb classic, is being deprecated and isn't fully compatible with the latest release candidate. You might notice a lot of bugs in the interface today. We're going to have to abandon it.
Just stuffed the first PCB for a new minor manufacturing revision of the Bus Pirate. No functional changes, just some tweaks based on the past few months of production. This PCB will probably be used after the current batch is depleted:
1. Replaced 3x 2.2uF tantalum capacitors with 3x 1uF ceramic. This is moderately cheaper, uses smaller parts, and it uses less tantalum (a conflict mineral). 2. Connected PWR and USB LEDs to 3.3volt PIC supply instead of 5v usb supply, now all LEDs are supplied by 3v3. This is an additional test of the power supply, the LED brightness is more consistent, all LEDs now point the same way, and all LEDs use the same resistor value. 3. LED brightness has been an issue. Future revisions will have 1K1 resistors instead of 390R, the LEDs are much dimmer.
Seeed is making a large batch of v3a Bus Pirates that will hopefully break the endless preorder cycles. Except for a brief period in December, the Bus Pirate has never been available for immediate delivery. It's always sold out on back order before the solder has even reflowed. That will change at the end of the month.
Here's your chance to get a SUMP PUMP for free, maybe even a preview unit. We need command line utilities to update the SUMP PUMP FPGA image from Windows, Mac, and Linux. We're currently using a Perl script, but this is too much hassle for end users.
The update is done over a virtual serial port using a simple protocol. Ideally, the utility would load Intel HEX files directly, but we have raw binary blobs too. The utility must compile on all major platforms (Windows, MacOSX, and Linux). Piotr'sPirate-Loader utility source code should have everything you need to get started.
The winning entry should: *Run as a native console application (not scripted, no .Net/Mono) *Compile on Windows, Linux, Mac, and include these compiles *Be released under an open source license, preferably CC-BY-SA or GPL *Work in our tests
C code is preferred by not required. We'll leave this open until a satisfactory solution is submitted. In the case of multiple entries, we'll choose one based on compliance with the criteria and possibly a vote.
Help *Documentation (lots of examples, tutorials, etc) You will always get help fastest from the crowd in the forum. A bunch of people can help, and the answers are available to help other people too. Private messages with support questions are discouraged.
Frequent Questions
Q. Is my Bus Pirate bricked? A. Almost never. The bootloader is super duper robust, and good at protecting itself. It takes a miracle to break it, though sometimes miracles happen :) 99.9% of the time you can get into the bootloader manually. Put a piece of metal (wire, paperclip) between the PGC and PGD pins of the ICSP header and plug in the USB. The MODE LED should light, and the bootloader should be ready for another update.
Q. I can't load the bootloader.hex I found in the firmware download. A. The bootloader.hex is used to program a new Bus Pirate only, it is not an upgrade that can be done over USB.
Q. My upgrade failed, and now I can't get back into the bootloader. Is my Bus Pirate bricked? A. If you can't get into bootloader mode using the terminal, you can still enter manually. Put a piece of metal (wire, paperclip) between the PGC and PGD pins of the ICSP header and plug in the USB. The MODE LED should light, and the bootloader should be ready for another update.
Q. I tested the bootloader "hello" command, but cannot do an update. What am I missing? A. The v4 bootloader is one-shot. After you test the hello command you have to reset the Bus Pirate before communicating with the bootloader again.
I've been working on various parts of the firmware in anticipation of the PCBs arriving. Today I'm trying to put it all together.
Parts: 1. USB stack configuration - Get the USB CDC firmware running on the PIC18F24J50. The clock starts slow, even if configured for PLL, remember to switch and wait. 2. UART configuration to FPGA - setup PPS, speed, etc. 3. ROM programming (pull prog_B low), PERL script to load new images 4. USB bootloader (need to adapt to hybrid 24f memory map in 18xxj chip). 5. Self test - check pins with pull-ups, are they what we expect?
Part 1 & 5 are completed. The USB part of the design works great, connected to CDC firmware, check pull-ups, light LED.
Next I'm going to setup the UART, write handling functions and test them with a Bus Pirate. Then the ROM programmer (today's part demo at dangerousprototypes).
The USB bootloader still needs some tweaks. It was my priority, but it makes more sense to get the firmware working then worry about the bootloader.
Thought I'd start a new thread for v4.3 bootloader progress.
Things changed so far: *Universal installer for v2/v4 (still have config words issue) *Timeout with reset *Reset tests for jumper before jumping to user app *Correct placement for v2 upgrades
Things on the wish list: *Print 'BOOTLOADER' if bad hello (helps user know they are talking to the bootloader in a terminal)
*After I upgrade to v4+ firmware my Bus Pirate doesn't work, I don't see anything in the terminal, etc. Firmware v4+ uses a new bootloader. Install the bootloader with the upgrade utility as described here: http://dangerousprototypes.com/2010/01/ ... 4-upgrade/
*The ds30 loader application (or Pirate-Loader) says "Found unknown device id(192) fw ver.9.9.9". The ds30 Loader utility is only compatible with the v4 bootloader, it won't connect to the existing v2 bootloader. Upgrade to the new bootloader before trying to install firmware v4+: http://dangerousprototypes.com/2010/01/ ... 4-upgrade/
*After upgrading to bootloader v4+ P24QP.exe (P24QP.py) will not connect. P24QP.exe (P24QP.py) is only compatible with the v2 bootloader, use the ds30 Loader utility, or the Linux/MacOSX/Windows console utility. *STK500v2/OpenOCD/USBPICPROG firmwares don't work after upgrading to bootloader v4. The v4 bootloader uses a slightly different firmware. Updated versions are included in the v4+ firmware archive (BusPirate.firmware.v4.x.zip) at the Google Code page: http://code.google.com/p/the-bus-pirate/downloads/list
- unplug the buspirate - place jumper on pgc-pgd pins, plug the buspirate in - load the upgrader to the buspirate using P24Q loader (old program) - unplug the buspirate - remove the jumper - plug the buspirate in - connect using terminal program - type yes - wait for "success!", the mode led should blink (make sure the mode led works) - unplug the buspirate - place jumper (pgc-pgd) - use the new program (ds30loader or the commandline util) to upload a v4+ buspirate firmware - unplug buspirate - remove the jumper - plug buspirate in - you're now at v4+
*I found an upgrade to v4.2, how do I use it?* V4.2 is the same as v4.1, but it is programmed directly with a PIC programmer instead of through the install process. The different version number is just to help us know who got the v4 bootloader by upgrade or direct install.
This is a new topic to discuss a digital sampling oscilloscope 'wing' that will attach to the extra 16bit header on the SUMP PUMP.
Our general goal is a small expansion board with a 50MHz+ parallel ADC and compatible analog front-end.
Some steps we need to take are: 1. Choose a parallel ADC chip 2. Design the analog front-end circuit 3. Create a prototype expansion board (or wing) 4. Modify the SUMP FPGA design and SUMP software to display DSO output (may already be in the SVN version)
The current Bus Pirate firmware doesn't use any features that are broken on any revision of the chip. All chip revisions work the same with the Bus Pirate firmware.