Another Pico Logic Analyzer Project

Just wanted to highlight this project stumbled onto over on YouTube. I haven’t looked any deeper than just watching the video in the background while working on a MicroPython project. But there could be some useful information there for cross pollination of projects.

2 Likes

I’m doing a gusmanB port after I debug the pico probe port.

2 Likes

I should have the latest version of gusmanb from the man himself any day now. :upside_down_face: Anxiously waiting that is. :grimacing:
Cant wait for the BusPirate port! :face_holding_back_tears:

2 Likes

Clearly you folks are on top of the situation. I didn’t even know it had a name :sunglasses:

-Chris

1 Like

FYI, the populated boards (which disappear fast - as they are first come-first serve), are about 50€ (25€ + delivery from Spain to the US) - and that doesn’t include the RPi2350. You have to sign up for a waiting list. I haven’t had a chance to play with it yet. Apparently it can sample up to 400Msps in a limited burst mode. Contact logicanalyzerorders@gmail.com if interested.

1 Like


1 Like

If anyone can help out, I am looking for the latest Raspberry Pi Pico2 model or datasheet? I’m on the go and the only one I found was not the most current.

It’s for the GusmanB V6.0 logic analyzer.

1 Like

The beta software changes frequently, but he hasn’t updated the public source. This link is dated Dec 14th. but it only includes the binaries for the firmware and the logic analyzer.

I have all the repos and things from Dr GusmanB, but I don’t see the latest Pico2 files or datasheet.

I need the proper revision of the Pico2 files.

there is a 6.0 branch on the repo

3 Likes

Thanks, didnt catch that!

2 Likes

Major update of Gusmanb’s LogicAnalyzer.

-Pico2 now is supported.
-Added Sigrok protocol decoders to the software.
-New terminal capture application.
-Many enhancements to software/firmware.
-All in one packages.
-Included gerber files and BOM/Centroid.
-Too many changes to specify here, please read the Wiki once updated.
Release Release 6.0 · gusmanb/logicanalyzer · GitHub

3 Likes

OK, I now have need of the logic analyzer functionality. I’d like to learn how to use gusmanb’s software with the BP6 hardware, primarily because he now supports the sigrok protocol decoders (and I’ve had trouble getting sigrok working in the past).

  1. Is the LA binmode (as usable by GusmanB’s LA) a stable feature now?

  2. If so, is there an existing write-up / tutorial?

Note that I’ve have not previously installed gusmanb’s software, nor used the BP6 LA binmode before … so installation gotchas also appreciated.

2 Likes

There is no compatible binmode yet, but all the infrastructure is there to support gusmanb. There may be updates for RP2350, which was an improved DMA which may make things easier.

There is also a port of the original gusmanB firmware.

I had an issue with the client, but it was quickly resolved in the issues on github.

2 Likes

Ok, no binmode.

If I understand correctly, I could load the ported firmware on the BP6, and it will work with gusmanB’s LA software? If so, where do I find that alternate (port) for the BP6?

2 Likes

Sorry, not for BP6 yet. This all is next after blueTag.

4 Likes

Hi Ian,
Sorry for the newbie question, but looking at the gusman pcb design, it seems not much more than a pico2, so I was wondering what would a port to the Bp6 require?
I know I can just get the gusman design PCB made up and solder on a pico2 I have lying around, but since I have a nice shiny BP6 I’d love to use it for this.

1 Like

The GusmanB logic analyzer is pretty easy to port (or was when I ported to BP5). There are the basic steps:

  1. (Optional) We have buffers, set to input by default, so nothing really needs to happen here. For good measure, make the buffer direction control pins (GPIO0-GPIO7) outputs and to ground during initialization. This will ensure the buffers are firmly held as input to the RP2350.
  2. Our first IO pin is GPIO8, I believe GusmanB uses GPIO0 as the first pin. We have 8 pins and GusmanB has a bunch more. The PIO program needs to be modified to use 8 as the starting IO, with 8 pins total. I forget exactly how to do this, but part is literally changing pin 0 to pin 8 when loading the PIO program.I believe there is already an option in the source for 8 channels only.
  3. Disable any indicator LEDs. They might trigger hardware connected to the Bus Pirate, depending on the pin used.
  4. (Optional) Enable a power supply. The buffers need to be powered. This can be done with an external supply on the VOUT pin (easy), or using the on board power supply (harder). There is a library called pirate-lib that drops into a project and gives basic control of the Bus Pirate hardware, from here you can enable the PSU.

Here are two examples of pirate-lib:

Here is an older walk through of pirate-lib that is a bit dated.

Basically you copy the pirate-lib folder into the source, then create a pirate_config.h to contain any initialization code. This example loads the display and enables the PSU if the button is pressed.

    #elif ( BOARD_TYPE == BOARD_BUSPIRATE )
    #include "pirate/pirate.h"
    #include "pirate/pullup.h"
    #include "pirate/bio.h"
    #include "pirate/shift.h"    
    pirate_init();

Finally, include pirate.h and any additional features somewhere early in the initialization function and call pirate_init();.

Here’s one tricky part - pirate-lib only supports RP2040 based Bus Pirates at the moment. The hardware defines are here in pirate.h, they need to be replaced with the contents of the BP6 platform file. Ideally it should be merged so both RP2350 and RP2040 chips are supported, but that is excess work :slight_smile:

I created a fork of the GusmanB logic analyzer for a Bus Pirate port. I am unable to take on this project at the moment, but I will make time to support/contribute to port if you (or anyone) helps it along. Of course I am here to help with any roadblocks as well.

1 Like

Hum, it seems like V2 supports WS2812 LEDs and has configuration options now.

    #elif defined (BUILD_PICO_2)

        #define BOARD_NAME "PICO_2"
        #define SUPPORTS_COMPLEX_TRIGGER <-remove?
        #define INPUT_PIN_BASE 2 <- GPIO8?
        #define COMPLEX_TRIGGER_OUT_PIN 0 <- probably remove?
        #define COMPLEX_TRIGGER_IN_PIN 1 <- probably remove?
        #define GPIO_LED <- change to #define WS2812_LED, or remove
        #define LED_IO 16 <-pin 36 on BP6R2

        #ifdef TURBO_MODE
            #define MAX_FREQ 200000000
            #define MAX_BLAST_FREQ 400000000
        #else
            #define MAX_FREQ 100000000
            #define MAX_BLAST_FREQ 200000000
        #endif
        #define CAPTURE_BUFFER_SIZE (128 * 3 * 1024)
        #define MAX_CHANNELS 24 <- change to 8

It seems like the V2 can probably be ported just by modifying the board configuration file (minus power supply for the buffers).

2 Likes

Thanks so much for the detailed reply Ian!

Thanks to your detailed explanation, it doesn’t seem like its a huge amount of work so I will give it a go!

2 Likes