element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Open Source Hardware
  • Technologies
  • More
Open Source Hardware
Forum Bus Pirate v5: A RP2040-based troubleshooting/programming tool has been released, and it looks interesting
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Open Source Hardware to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 28 replies
  • Subscribers 313 subscribers
  • Views 5132 views
  • Users 0 members are here
  • Bus Pirate
  • Bus Pirate v5
  • buspirate
  • rp2040
  • BusPirate v5
  • pi pico
Related

Bus Pirate v5: A RP2040-based troubleshooting/programming tool has been released, and it looks interesting

shabaz
shabaz over 1 year ago

I just saw this announced: a troubleshooting/development tool called Bus Pirate 5.

image (image source: buspirate.com)

The hardware and firmware source are on GitHub.

In a nutshell, the Bus Pirate 5 is a command-line controlled (via its serial console) tool that can be used to send/receive a few typical board-level (and other) protocols, such as SPI and I2C, and also UART (and some protocols on top). It would be nice to see additional protocols, but there is plenty of space for that - It runs with an RP2040 chip (a very straightforward part to code for!), with 16 Mbytes of Flash - but there's also an additional 100MBytes on a Flash chip for storing (say) firmware images to upload onto hardware. 

Interestingly, there is also a 1-5V supply on board with 500mA output capability, and this could be extremely handy.

What's also awesome is that the I/O (for eight pins) is configurable from 1.2V to 5V! That's extremely useful for the typical purposes of this board.

There is a plug-on LCD screen for monitoring purposes, plus (for reasons I don't understand yet, but perhaps it's handy for status and warning alerts, etc) there are also many RGB LEDs.

image(image source: buspirate.com)

The price is extremely reasonable (although the cables for it add to the cost - but they could be DIY'd).

I hope someone eventually writes a Python interface for this (otherwise, I will do it myself). I hoped to use the BeagleConnect Freedom (BCF) for similar purposes, but they are useless at getting information out for people to develop with it; mine has been a (small) dead brick for half a year. 

The Bus Pirate, on the other hand, is designed by Ian Lesnet. I purchased a couple of other boards originally designed by Ian (a logic analyzer and an FPGA board) a decade ago! They are excellent, so I've got high hopes for this board too.

  • Sign in to reply
  • Cancel

Top Replies

  • shabaz
    shabaz over 1 year ago +4
    Just kicking the tyre : ) I tried building it, that went smooth (except that on Ubuntu, I needed to type this first: sudo apt install libstdc++-arm-none-eabi-newlib After that, it was a normal build…
  • shabaz
    shabaz over 1 year ago +4
    I've not looked at it yet, but it arrived in a box the size of a paperback book. Inside were the two boxes for the BP5 and the optional probes.
  • shabaz
    shabaz over 1 year ago +4
    It comes _extremely_ well packaged! I want to know where Ian got these stickers made : ) Even comes with a hex/allen key to open it, and spares. In earlier photos I'd seen, the case looked like a 3D…
  • wolfgangfriedrich
    0 wolfgangfriedrich over 1 year ago

    Shabaz,

    Thanks for posting this info. I am excited because the 'old' buspirate was one of my favourite debug tools. 

    I just love a console to punch in commands and values instead of an API where I have to program something around it to make it useful for my case. 

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • shabaz
    0 shabaz over 1 year ago in reply to wolfgangfriedrich

    I missed out on the old BusPirate so it will be new for me, but I'm looking forward to trying it!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Jan Cumps
    0 Jan Cumps over 1 year ago in reply to shabaz

    I have the BP2. I use it surprisingly little.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • shabaz
    0 shabaz over 1 year ago in reply to Jan Cumps

    I'm guessing this new version is mainly porting across the older BP protocols and user interface, and it's disappointing that (from what little I can tell) only a few protocols are supported on the BP5. I'm very happy that it's now RP2040 though, with the space to implement extras (e.g. program up Flash / EEPROMs etc). 

    I considered the BP4 at one point, but figured I couldn't ever modify it (since it used a PIC). Plus I'd like to script, so a Python interface will be very attractive.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Jan Cumps
    0 Jan Cumps over 1 year ago in reply to shabaz

    I used to use it for spi and i2c scripting / prototyping . Sometimes for UART - to - USB. I still do, but let's say once a year or less.

    But I found that I am more performant doing that in C with a controller that I know well. (nothing wrong with the BPs performance. I'm faster in C than picking up the scripting protocol each time I need it).

    I typically get going faster with an Arduino (UNO for 5V, MKR for 3v3), or an MBED board - if that has a better lib for the device I try to talk to.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • scottiebabe
    0 scottiebabe over 1 year ago in reply to Jan Cumps

    image

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Jan Cumps
    0 Jan Cumps over 1 year ago in reply to scottiebabe

    I'm going to tell this to Chris!

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • shabaz
    0 shabaz over 1 year ago

    Just kicking the tyre : ) I tried building it, that went smooth (except that on Ubuntu, I needed to type this first:

    sudo apt install libstdc++-arm-none-eabi-newlib

    After that, it was a normal build like any other Pico project, no different procedure.

    image

    Then I tried sticking it on a normal Pi Pico board, and a file system appears, containing this text file:

    image

    A couple of serial ports appear, one didn't do much (or I had the wrong baud rate), but the other worked with the usual 115200 baud:

    image

    I think most of it may function (or probably easy to modify) with the standard Pico board, especially if the extra features like adjustable I/O voltages and so on are not needed. Easy to add a microSD card too.

    • Cancel
    • Vote Up +4 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Jan Cumps
    0 Jan Cumps over 1 year ago in reply to shabaz

    Just realised it is a 4 <blush/>

    image

    I have a Papilio Pro - partly designed by the same Ian. That one I use a lot. Not anymore for FPGA prototyping, but as a permanent protocol analyser.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • shabaz
    0 shabaz over 1 year ago in reply to Jan Cumps

    Same here, regarding programming, keen to see if it can be used with Python controlling it from a PC, as a kind of halfway house, for dealing with stuff at the data level just to capture or dump bytes. The BeagleConnect Freedom had an interesting idea to allow a Linux driver to allow local PC implementation of protocols that would operate remotely via USB or wireless, but it's restrictive (Linux only, if it works!). But I think rather than that, I'd prefer just Python rather than using the Linux driver API, for a debug tool such as this.

    Currently I use MicroPython as a sort of Bus Pirate! Actually, that would be a perfect implementation if the Bus Pirate CLI was just either a modified MicroPython or a library for MicroPython (but also with an interface to normal Python on a PC too). I'd prefer that than have to learn a CLI. But I guess that's a very different project, since perhaps many are familiar with the existing BP CLI.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube