The pico-ice is a small, low cost board with the Raspberry Pi Pico processor (RP2040) and a Lattice Semiconductor iCE40UP5K FPGA. The board features independent flash for the FPGA and RP2040, low power SSRAM, a couple of pushbuttons and a 3 color LED with all FPGA and RP2040 pins brought out to easy to use 0.1" header pins (most arranged as PMOD's) for fast prototyping.
The tinyVision.ai pico-ice Board Features:
- RaspberryPi RP2040 processor with all pins brought out including debug
- Lattice UltraPlus iCE40UP5K FPGA with 5.3K LUTs, 1Mb SPRAM, 120Kb DPRAM, 8 Multipliers with all pins brought out
- External FPGA memories: 4MB qSPI Flash, 8MB low power qSPI SRAM
- Independent 4MB qSPI flash for the RP2040
- RGB LED, shared between the RP2040 and FPGA
- 2 pushbuttons: 1 dedicated and 1 primarily for processor reset during development but can be repurposed for user applications when not used for reset
- USBC connector for convenient access to the RP and powering the board.
- ALL RP2040 and 32 FPGA GPIO on 0.1" headers and PMOD's:
- 2 dual PMOD's dedicated to the FPGA
- 1 dual PMOD shared between the pico and FPGA
- 1 dedicated dual PMOD for the pico
- Support for USB host or device mode using the RP2040
- On board 3.3V and 1.2V Regulators, can supply 3.3V to your project
- USB power is also brought out to power custom shields
- Open source schematic and layout using KiCAD design tools. OSHW certified.
- 4 layer board with a solid ground plane for good signal integrity
Board and Firmware features:
- FPGA clock supplied by the RP2040, easy to program FPGA clock under control of the RP2040
- RP2040 can program the FPGA directly or the dedicated FPGA flash. Programming is done using a drag-drop of a UF2 file or using a command line DFU based approach for flexibility.
- Sample RP2040 code provides a pass through UART function for the FPGA
- 8 bit wide bus between FPGA and RP2040, can be used for qSPI, UART etc.
- Support for ultra low power sleep mode: can shut down the RP2040 and FPGA while keeping the SRAM powered (tens of uA in standby)
Boards are fully tested and programmed with a blinking LED flash image before shipping. Included are four dual PMOD's (not soldered on to give you flexibility in mounting). Please note that a USBC cable is not included!
This board was designed as a community effort with many people contributing to the board and firmware development. Thank you to all those who helped review and try this out, this board wouldn't be possible without you!