Raspberry Pi Pico multiple virtual COM ports - iCE40HX8K programming

Started by cdan, May 01, 2022, 09:46:01 AM

Previous topic - Next topic


Hello all,
I have a couple of Raspberry Pi Pico lying around and I was thinking that I could use one of them
as a programmer and serial bridge at the same time.

The idea is to use tinyusb to implement a USB device on the Pico with two CDC interfaces, ending up in
two virtual COM ports on the host. One COM would be used for flashing the iCE40HX and the other COM
could possibly be used to communicate with the FPGA (assuming a UART IP is used in the FPGA design).

I think it is fairly simple to implement exactly the same functionality as it is currently available in the
iceprog.ino arduino sketch (used with the olimexino-32u4 programmer) but with the advantage of not having
to manually push the HWB button and reset the programmer in order to put it in programming mode.
Any communication on the virtual COM, designated as the programming channel, will automatically be decoded
and sent over to the SPI interface.

Before I spend any time on this project, I thought it is wise to bounce this idea off you and get some feedback.