/ICE40UPDevBoard

A development board for iCE40UP5K FPGAs

Primary LanguageHTMLGNU General Public License v2.0GPL-2.0

ICE40UPDevBoard: an iCE40UP5K development board

ICE40UPDevBoard PCB

Features

The specification for this development board is as follows:

  • iCE40UP5K in QFN
  • N25Q032A 32 Mbit SPI flash
  • DB15 VGA port:
  • 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.

PCB design

The PCB is a 4 layer board. My boards were manufactured by JLCPCB.

Using

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.

Possible gotchas

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

Blog

The best place to learn about this board is undoubtably my blog, including this post: