The specification for this development board is as follows:
- iCE40UP5K in QFN
- N25Q032A 32 Mbit SPI flash
- DB15 VGA port:
- ADV7123 RGB DAC
- PS/2 port with two channels for a mouse and keyboard
- I2C:
- 3 LEDs and a button
- User header with 6 available FPGA pins
- Powered by a 5V switching regulator (eg a 5V PM05S050A) and a barrel jack
A schematic is included here, along with the KiCAD data files, whcih are in KiCAD 6 format.
The PCB is a 4 layer board. My boards were manufactured by JLCPCB.
The jumper mechanism to route the SPI signals which carry the configuration data from the programmer was borrowed directly from the Lattice’s iCE40 UltraPlus Breakout Board.
Any iCE40 compatible programmer should be useable. I built my own, out of a Pi Pico, which is documented in another repo. The programmer has been used to program both the attached flash and the FPGA directly.
The design of this board is a very slightly tweaked version of the build I have on my bench. I have tweaked the LED and button connection after finding out that the three LED pins on the iCE40UP cannot source current for an LED and must sink it instead.
The following features have not been tested yet:
- I2C bus and peripheral ICs
- PS/2 port
The best place to learn about this board is undoubtably my blog, including this post: