16-Channel USB3.2 Logic Analyzer

Hi there,
I am working on the rp2040 expansion card project and thought of this.

after checking rp2040 documentation, I confirmed that rp2040 does have support for USB2.0 (12Mbps) just that it is not “PHY” (I still don’t understand this term, btw) and it can be done on a GPIO using the Programmable IO (PIO) controllers. example

I am interested to something like this since I plan to run the rp2040 as a pure GPIO controller and handle all protocols & applications on the framework, effectively offloading any computation from the mcu. I am currently working on a cpp+arduino version but certainly interested in remaking it in cpp+PIO assembly for best performance.

This would therotically provide ~750KSa/S on 16 pins and 6MSa/S (I doubt if this is possible as rp2040 runs 16MHz stock, so at that speed every cycle matters) on 2 pins which is more than enough for me who are really only using a logic analyzer for stuff like I2C.

*As a disclaimer, I am not undermining your project but rather trying to add a low cost alternative to it.

1 Like