Hardware (HDL for cheap FPGA like iCE40) might be helpful.
A port to other microcontrollers should also be possible. Ideally you'd use a CH32V003 to assist in debugging/programming a second one.
But Linux is out of the question. That's way too tight even for linux-rt. Keeping scheduling latency in the two digit microseconds is hard enough, and about as good as it gets.
... it might still be possible with Linux, but only by dedicating a core to the purpose, and making it otherwise unavailable to Linux. I believe that's how PiStorm works.
In any event, how much effort any of these would involve is worth considering for determining whether or not it is worth doing, vs spending the time improving the rest of the project.
> Hardware (HDL for cheap FPGA like iCE40) might be helpful.
I'm a bit confused, isn't the pi pico the "hardware" in this instance? An FPGA seems like extreme overkill for this when the Pico's PIO peripheral exists (which is what the OP is using).
RP2040 - 1x unit price = $0.70
iCE40 - 1x unit price = $2.50
I'm not sure if low power is necessarily a priority for a debug probe that's always hooked up to a computer, but the RP2040 seems competitive with power consumption. From what I can see in the datasheets, they're both on a 40nm process node.
I've never used the iCE40, is it easy to get a toolchain up and running for it? I haven't done any FPGA programming before but setting up the tooling always seemed more intimidating than using a standard C or Rust toolchain for a microcontroller.
Given the project needs more than just the MCU (or FPGA) chip itself, best to compare finished forms. The project OP posted uses a Pi Pico (aka ~$4) and a comparable form factor for an iCE40 is about $35-40ish.
Did the Pico steal your lunch money as a kid? Run over your dog? Otherwise why the extreme desire to use something ~10x more expensive and significantly higher power draw, for ZERO practical benefit? Don’t get me wrong, I love FPGAs and literally own dozens from $$ to $$$$ and have built many projects with them, but right tool for the job always should be considered.
Jesus christ. Nevermind what I said, then.
Hardware (HDL for cheap FPGA like iCE40) might be helpful.
A port to other microcontrollers should also be possible. Ideally you'd use a CH32V003 to assist in debugging/programming a second one.
But Linux is out of the question. That's way too tight even for linux-rt. Keeping scheduling latency in the two digit microseconds is hard enough, and about as good as it gets.
... it might still be possible with Linux, but only by dedicating a core to the purpose, and making it otherwise unavailable to Linux. I believe that's how PiStorm works.
In any event, how much effort any of these would involve is worth considering for determining whether or not it is worth doing, vs spending the time improving the rest of the project.