ECPi Camera
The open source FPGAs with MIPI CSi hard cores are back ordered for 2 years. A $10 Raspberry Pi Zero can read from a CSI camera and drive a 24 bit Display Parallel Interface (DPI) output. The goal of this project was to feed that DPI into an ECP5 FPGA. Sadly it is not so simple.
There are several problems with this approach.
What follows is the description of this open source project.
ECPi camera lets you connect any Raspberry Pi 2 or 3 camera to an ECP5 FPGA and display it on DVI or USB. You can control the camera using the RPI Zero. Parts are available.
ECPi Camera uses a Raspberry Pi Zero and a Rasperry Pi Camera to drive an IcePi Zero using 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). This is an entirely open source tool chain, athough obviously the chips themselves are all proprietary.
Assembly
You need a Raspberry Pi Zero, an IcePi Zero available from CrowdSupply or Electrow, any Raspberry Pi Camera version 2 or 3, a camera cable and a male and a female header. The camera cable should convert between the standard 24 pin camera flexible printed cable socket and the Raspberry Pi Zero's 15 pin FPC socket. The standard header configuration is male headers on the RPI Zero facing up, and female headers on the IcePi Zero facing down. You can solder them, or if you are not comfortable with your soldering skills, what I am using is the Pimoni Hammer headers. Here is a blog posing about how to do it, scroll all the way down for how to do the female hat header.
If you are concerned about using hammer headers, here is an article reviewing the product. Basically it and the comments say that it works fine, and has some plusses and minuses. "Solder is not glue". In the automotive industry the fittings are press fit, solder does not survive temperature cycling. But the holes are a particular size, and the gold platting is a little thicker. Pimoroni and the article tested the electrical characteristics and all is fine. Be careful to apply equal pressure everywhere and to not bend the board. A vice woudl be the best way to do it.
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. This page explains how to do the wiring . At 60Mhz, the display would be 1 MegaPixel. Maybe as much as a 2 MegaPixel display is possible.
GateWare
I am working on it. There is an open source ECP5 color bar gateware. I need to instead drive it from the camera input.
USB Output
For development it is fine to use the ECP5 DVI output. to show it off, or capture images or video, it is nice to have a DVI to USB dongle shown below. Make sure to buy the USB 3 dongles, not the USB 2 dongles.
Code Repository
As soon as it is all working github and codeberg repositories will be created.
Questions???
Please send me an email
ECPi Details. View
Lots of technical details about the Raspberry Pi Zero, ECP5 FPGA and making them work together.
Built with the Forest WIki.
User contributed content is licensed under a
Creative Commons CC By 4.0 License.