USB Sniffer Lite for RP2040
github.com
github.com
At work, we're somewhat limited in what we can install on the office PCs. Therefore I listen to music on an iPod, rather than streaming.
To control the music on the iPod, I have a USB sniffer that picks up the media keys on my keyboard, and sends serial packets to the iPod.
I should rewrite taradov's code using RTOS threads to allow capture and sending at the same time, but what have now works well enough for my use case. If I press a key during the parse phase then it doesn't pick up, but I can always just press it again and usually it gets through.
For newer devices I've got an Arduino that take iPod remote commands and converts them to a TRRS headphone jack remote. So I could use the media keys on the keyboard to control a phone, for example.
Soon I plan to use Arduino Audio Tools to build an iPod remote -> Bluetooth A2DP remote using an ESP32 (note that -C and -S don't support A2DP, just ESP32).
Every time I change the volume or track on my iPod during a work day, I'm using this USB Sniffer, and it's been very reliable.
And that right there should curdle the blood of the folk who won't allow Spotify. (I don't mean to suggest this is a security risk, I don't think it is, but those words ...)
None of these are cheap though.
Open hardware so you could build your own for fairly cheap. I bought a clone (is it a clone if the creator never sold them? I'd have preferred to buy it from him...) off aliexpress for ~$50.
I've also used this to capture the firmware update flow for the gamepad on a GPD Win 2. A physical sniffer wouldn't be ideal here since the gamepad - while USB - is embedded within the device.
Also, it lets you sniff USB traffic of a different host machine, e.g. USB communication between a game console and a USB controller.
If yes, is there a derivative or version of this chip without the ARM core?
That said, this is the same issue if there are MPEG codecs, or HDMI related blocks. That's why AV1 codec and DisplayPort should be at least there, and actively prefered.
Yes, and it also contains other IP block (for example the USB from Synopsys) for which fees will be paid by the manufacturer. The Cortex-M0+ cores in the rp2040 are probably pretty cheap, so they don't impact the final price much.
> is there a derivative or version of this chip without the ARM core?
No. There might be future versions (they are, in general, looking at Risc-V stuff), but there isn't too much benefit.
> That said, this is the same issue if there are MPEG codecs [..]
No it isn't. The issue with those is that not only does the creator of the IP block itself need to get paid, but also the patent pool behind it, which is usually much more expensive. For most products from a smaller company (and even many larger ones), an AV1 hardware codec or a DisplayPort output will also be an IP block bought from someone else.
But indeed, would be good if those ARM free SOC would also be free-ed from HDMI and MPEG blocks.
Getting rid of ARM cores is only the middle of the journey for better hardware freedom, HDMI and MPEG codecs must be a target too.
From your GP:
> I guess I will avoid that chip and favor those without an ARM block then. Luckily there are many.
What would your personal top picks be for a use-case like the OP?
That's why it is critical to favor worldwide royalty free ISA like RISC-V. This is not a silver bullet but does a good enough job.
And the geopolitical issue of totalitarianism may bite one day by open source nuclear arm design.
It depends. May be paying ok. Not that apple cannot enjoy fruitful result even if somehow it must pay a bit on some core.
USB device <-> RP2040w ))) wifi/bluetooth ((( RP2040w.usb0 <-> computer
USB device <-> RP2040w ))) wifi/bluetooth ((( computer.software_xyzpc ->: to have wireless robot control, printer, other devices which have drivers, but aren't easily programmable.