Modern interface using a Lattice iCE40 FPGA and STM32 microcontroller.
You can find a complete BOM on Octopart.
You can find the Gerber files for fabricating a PCB in the fabrication directory. I have used JLCPCB to make the PCBs.
For now, the FPGA bitstream must be built using Lattice iCEcube2.
cd fpga
make
Uses FIFO module from Sylvain Munaut.
The firmware currently provides the ability to send commands and receive responses - it is designed to implement a terminal controller, not a terminal.
You will need PlatformIO to build and upload the firmware, only Platform IO Core (the CLI) is required.
Before building the firmware, you will need to generate the FPGA bitstream; see the steps above.
To build and upload the firmware using USB DFU:
cd firmware
platformio run -t upload