Settings

Theme

BusPirate V5 Now Shipping

buspirate.com

70 points by grymoire1 2 years ago · 22 comments

Reader

calamari4065 2 years ago

I grabbed a bus pirate about a year ago thinking "oh, of course it will support JTAG"

This involved flashing a third party firmware. From a project which refuses to release binaries. I had to install something like 5GB of toolchains to build it, and then THEN! I had to manually edit the resulting .hex file. At some point the binary is converted to an ASCII representation of the hex pairs, but all letters converted to uppercase. Then it's parsed back into binary with the wrong values. I had to manually search and replace uppercase letters with lowercase.

I've seen a lot of dumb software nonsense in my time, but this one really takes the cake.

It also never actually worked. Hopefully the firmware on this revision is less terrible

  • 15155 2 years ago

    JTAG is hard to do. RP PIO (USB FS), TI PRU (bad toolchains), or NXP FlexIO are really required to do it correctly (or you can do it "okay" with a capable SPI controller.)

    • gaudat 2 years ago

      FT2232H with libMPSSE. It is even advertised as a USB-to-JTAG chip.

      • 15155 2 years ago

        Terrible drivers, pinouts, etc. for the ridiculous price of $6-10.

    • hkwerf 2 years ago

      Could you explain why? A JTAG master seems easily bit-bangable unless you require high data rates?

      • bogantech 2 years ago

        Indeed my understanding is that it should not require crazy hardware requirements - it's a serial protocol clocked by the programmer.

        Here's an Arduino project to program CPLDS/FPGAs using XSVF files https://github.com/wschutzer/xsvfduino

        I'd say that the cheap programming cables are abundant and already compatible with the vendor tools so there's not much motivation to reinvent the wheel.

      • 15155 2 years ago

        TMS is hard to manage. High data rates are exactly the issue.

        Any MCU can bitbang JTAG at 100kHz. Try doing it at 30 MHz sustained.

    • bvan 2 years ago

      Whatever happened to the Jtagulator? It no longer seems to be available.

  • RantyDave 2 years ago

    This was, broadly, my experience too. So much potential, never really worked.

a2800276 2 years ago

This seems dodgy... Anyone knows what's up. After a couple of years, a buspirate.com domain pops up out of nowhere and there's absolutely no mention of the change on dangerous prototypes?

roughly 2 years ago

So by and large I can read the words on the page and mostly understand what this thing is, but can someone explain what it’s used for and maybe how they use it?

  • gh02t 2 years ago

    Basically a debugger and utility for hardware and low speed electronics. You can monitor the raw signals directly from the wires, simulate sending them, decode digital protocols and a bunch of other low level stuff. They're like a programmable Swiss Army Knife for hardware.

    There are very fancy high end tools like this that an electronics engineer might use, but the Bus Pirate has always been more tailored to things hackers and electronics hobbyists want.

unwind 2 years ago

Wow! Great to see this here, I'm being slightly nostalgic but this feels like it really deserves some kind of success.

I bought the predecessor (v3 because reasons) in 2010 for $27, it's impressive that this new version which has seriously improved capabilities is only $37.

As is normal with software developers having an electronics hobby, I haven't used it all that much, but the few times I have needed it I was really glad to have it and it made me happy.

peter_d_sherman 2 years ago

Looks very cool. Wishing you a lot of luck in this endeavor!

A few quick questions:

1) Max data acquisition speed?

2) Max data buffer?

3) Are start/stop triggers available? (i.e., start buffering data when you see a specific binary string, stop after say 4K, 8K, 16K, etc. or when secondary binary string is seen, or start/stop when other conditions are true, etc.)

4) Max speed talking to host PC (not the chip or circuit being debugged) -- How fast?

5) Max continuous data streaming speed to host PC? (As opposed to buffering in local RAM? So data from Debug Chip or Circuit -> BusPirate -> Host PC... how fast (max sustainable speed) if continuous?)

Anyway, looks very cool!

  • Karliss 2 years ago

    It's a RP2040 don't expect an amazing performance or throughput.

    2) RP2040 has 264kB of RAM, and a portion of it will be used by software. 3) Looking at the docs, seems like you either use dedicated protocol modes in which case you more or less get read bytes/write bytes commands. Or if you flash a one the RP2040 logic analyzer firmware ports you will likely only get basic edge/level triggers with all the protocol decoding happening in Sigrok on the computer. Some parts of docs mention macros which might be used for more complex interactions, but there are barely any details. 4/5) In the best case limited by USB FS speed 12Mbit/s (not even USB 2.0 HS) but I wouldn't be surprised if it was in many cases worse

    Overall it's a jack of all trades master of none type of deal.

    If you want a moderately performant logic analyzer, get a logic analyzer.

    • peter_d_sherman 2 years ago

      Hi Karliss -- thank you for responding to my inquiry!

      >It's a RP2040 don't expect an amazing performance or throughput.

      In reading the "The Bus Pirate v5 Saga" (AKA the history of how the Bus Pirate was developed, including previous versions): https://buspirate.com/coming-soon/ -- yes, apparently the main CPU/microcontroller is a RP2040 -- that's apparently because other/previous microcontrollers turned out to have sourcing issues.

      2) The RP2040 has 264kB of onboard RAM, that's true -- but apparently there is additionally a 128Mbit Flash RAM and 1Gbit NAND Flash RAM (https://hardware.buspirate.com/components/chips). I'm guessing that one of those could be used for data buffering -- although I am still uncertain as to the exact data rate... Would it be slower than the fastest logic analyzer? Probably. But I'd still value knowing that exact rate...

      Not all applications require the fastest of the fast data rates (JTAG debugging at 115kbps, or slower, for example).

      3) Thank you, good information!

      4/5) Quite possibly true -- but again, I'd value knowing the exact max speed.

      >If you want a moderately performant logic analyzer, get a logic analyzer.

      Agreed -- but at $37.85 (https://dirtypcbs.com/store/designer/details/ian/6633/bus-pi...) -- for low-speed and JTAG debugging, it might be quite the deal!

      Apparently low-end 100Mhz Arm+FPGA-based logic analyzers on EBAY (from China) start at $55 (at the point in time I am writing this, the price may of course fluctuate over time) but of course, the same questions as I raise with respect to the BusPirate also apply to all that's available on EBAY...

      Also, apparently (https://buspirate.com/coming-soon/) an ICE40 FPGA was to be part of a previous BusPirate version in 2018:

      >"2018 Bus Pirate gets an FPGA - An ICE40 FPGA is bolted onto the ARM, giving total flexibility over pin assignments, a fast logic analyzer and more."

      But apparently that idea was scrapped due to chip sourcing issues...

      Anyway, while definitely not a high-end logic analyzer, for $37.85 it looks experiment-worthy...

grymoire1OP 2 years ago

The final (Rev 10) version of BusPirate V5 is shipping.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection