IcePi Zero
The IcePi Zero is an excellent example of an application specific FPGA circuit board.
Most FPGA boards are designed for general use . They do a little of everything, and do nothing that well. The icePi Zero was designed for retro computing. It does that and everything else is leaves to other boards in the large Raspberry Pi ecosystem.
The board designer wanted a board to run soft cpu cores. It has all that is needed for a soft core, the rest it leaves to the Raspberry Pi ecosystem. This makes for a small and inexpensive board. $64 = € 54 the same prices as the Olimex GateMate with 2 external RAMs, but Icepi has a lot more bang for the buck.
If you look at the circuitry, it is really quite beautiful. Somebody put a lot of energy into this product. And the board is open source, so if I need to I can make whatever changes I need, and produce a new board. I also very much like the FPGA he chose for this board.
It has DVI out, a fast SDRAM, two USB ports for the. keyboard and mouse, an SD card reader, and a USB port to connect to the desktop. Everything else it leaves to the Raspberry Pi ecosystem, which is easy to plug into since it has the Raspberry Pi form factor. Lattice ECP5 is an older chip, it still supports 3.3V peripherals, which is perfect for interfacing to the Raspberry Pi ecosystem: no level shifters are needed.
The designer scratched his own itch, and in the process perfectly targeted the market. There are not many trained FPGA developers, but there are a lot of software developers who want to become FPGA developers. Their first project is usually a soft CPU core. So they want a board like this. I did the same thing for my master's thesis in electrical engineering. In the process I learned that soft cores on FPGAs are so much slower than dedicated chips. For the FPGA to be competitive, it needs a much more parallel application, which is why I moved to video. processing.
While the high level design is perfect, I worry was that there will be bugs in this board. This is the first board the designer built. Since it is an open source board, a lot of experts gave him advice, but still mistakes could have been made. And indeed that happened. The first batch of boards were received on December 17th, 2025, two of the pins were reversed, and on Jan 1 2026 version 1.3 of the board was released. So if you are doing mainstream soft cpu cores you should now be fine, but for people like me who are doing something non mainstream, there is still a worry that there will be problems with the details.
Because this board is so small and simple, it is easy to modify it. There is already a pull request for a variant with an Analog. to Digital Converter (ADC).
I really like that the IcePi Zero was designed for a specific application: retro computing.
ECPi Camera. View
ECPi camera lets you connect any Raspberry Pi 2 or 3 camera to an ECP5 FPGA, process the image, and display it on DVI or USB 3. You can control the camera settings using the RPI Zero.
ECPi Camera uses the Display Parallel Interface (DPI) protocol rather than MIPI CSI. DPI is a very simple, low frequency, license free protocol for transmitting images using parallel single ended wires. There is the similar Digital Video Port (DVP) protocol but there are no cameras with a 24 bit wide DVP data path, so until now, only smaller or lower resolution DVP images were possible. For larger bandwidth, the more complex, higher frequency, proprietary MIPI CSI can be used but there are no open source FPGAs with MIPI CSI hard cores currently available. The Lattice Crosslink NX 17/40 is back ordered for two years. The Appicula project to support Gowin FPGAs with MIPI CSI hard cores just started and will take time to complete. This is an entirely open source tool chain, although obviously the chips themselves are all proprietary. There are closed source FPGAs with MIPI CSI, but they are all more expensive. And even if you did buy a MIPI CSI FPGA, you would still need a microcontroller to run the software to set all of the registers in the image sensor. Best to start with the inexpensive ECPi Camera RGB888 application.
ECPI Components
ECPi Camera uses a Raspberry Pi Zero and a Rasperry Pi Camera version 2 or 3 to drive an IcePi Zero board with a Lattice ECP5 FPGA. You can use either the $10 Raspberry Pi Zero (one core) or the $15 Raspberry Pi Zero 2W (four cores, Bluetooth and WiFi). You will also need a $16 micro SD card. Minimum 32 GByes, maximum 256 GBytes.
Raspberry Pi Zero FirmWare
The camera video can be displayed on the screen and the screen can actually be a 24 bit + controls Display Parallel Interface driving an FPGA. At 60Mhz, the display would be 1 MegaPixel. Maybe as much as a 2 MegaPixel display is possible.
FirmWare and GateWare
The Raspberry Pi firmware and the IcePi Zero FPGA gateware are in the Github Repository.
USB Output
For development it is fine to use the ECP5 DVI output. Good to have a
DVI switchbox. To show it off over Zoom, or capture images or video,
it is nice to have a DVI to USB dongle. Make sure to buy the USB 3
dongle, not a USB 2 dongle.
Questions???
Please send me an email