USB Communication


First, let me congratulate you with this project! An Open Source FPGA hardware and toolchain is really exciting. Thanks for sharing this excellent work!

In the past I have used OpalKelly boards and implemented control hardware for our lab. The OpalKelly boards come with a ip core that makes data transfer from or to the FPGA very simple. I am now looking for something similar for the tinyFPGA BX board. The simplest example would be a verilog code that allows to turn on and off the led on the board via usb and a python script on the host computer.

Currently, I have downloaded the bootloader code and trying to figure out how to modify it. Unfortunately my knowledge of the USB protocol is very limited. What confuses me is, does the boot loader really implement a serial communication? As far as I understand it, it just announces itself as one, but the communication is done via writing to an endpoint. On my osx system, the device is listed as a ‘Communication Device’ but I do not see a serial port on /dev/tty* ?


I’m not sure if he follows the happenings in here, but maybe ask @robertbaruch - he hinted on twitter a little while ago that he had something working along those lines:


Did you ever get an answer to your question?


unfortunately not.
I am still digging into the boot loader code and trying to modify it. Unfortunately I am very busy at work and do not have too much time. I am also very frightened about debugging the code, since I have no clue how to do that.
Do you have more experience on the usb protocol?


I don’t - that’s why I came here looking. I asked @robertbaruch on Twitter but didn’t get a reply… perhaps they’ll see the question here.