Add interface2

This commit is contained in:
Andrew Kay
2021-03-29 16:38:00 -05:00
parent fce3b4c273
commit 925830f0a4
107 changed files with 54855 additions and 24 deletions

37
interface2/README.md Normal file
View File

@@ -0,0 +1,37 @@
# interface2
Modern interface using a Lattice iCE40 FPGA and STM32 microcontroller.
![interface2 assembled](.images/hero.jpg)
## Hardware
You can find a [complete BOM](https://octopart.com/bom-tool/S80JaI18) on Octopart.
You can find the Gerber files for fabricating a PCB in the [fabrication](pcb/fabrication) directory. I have used JLCPCB to make the PCBs.
## FPGA
For now, the FPGA bitstream must be built using Lattice iCEcube2.
```
cd fpga
make
```
Uses FIFO module from [Sylvain Munaut](https://github.com/smunaut).
## Firmware
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](https://platformio.org/) 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
```