Gaurav Singh, acting as Circuit Valley, has designed an open-source hardware USB 3.0 Type-C industrial camera with three boards: one to capture data through a CMOS sensor, another based on a Lattice Crosslink NX FPGA to handle image processing, and finally, a board equipped with an Infineon FX3 USB 3.0 controller for sending the video data to the host.
This design allows the DIY camera to be extremely flexible, as for instance, you could keep the FPGA and USB board, and simply change the sensor board for a better/different camera. A 3D printable enclosure is also provided, and the camera supports C-mount lenses, so the lens can also be easily changed as required. Here’s what the final result looks like.
- Sensor board
- Sensor for example Sony IMX290, IMX327, or IMX462
- FPGA/Host board interface – High-density connector with I2C, 4-lane MIPI with clock, I2C, a few other control signals, and power.
- Voltages – 1.2V, 1.8V, and 2.9V
- FPGA board
- FPGA – Lattice Crosslink NX LIFCL-40 with 39k logic cells in 256caBGA package
- System Memory – 2x 16Mybte RAM
- FPGA config flash memory
- 2x high-density connectors to connect to the sensor and USB boards
- Voltages – 1.0V and 1.8V
- USB board
- USB 3.0 controller – Infineon (previously Cypress Semi) CYUSB3014 USB 3.0 Superspeed controller
- Storag – EEPROM (for configuration)
- USB – 1x USB 3.0 Type-C connector + USB 3.0 mux to support connector reversal
- Voltages – 1.2V, 1.8V, and 3.0V
- Power Input – 5V via USB-C port
You’ll find the hardware design files (PDF and Protel schematics, PCB layout, Gerber) for all three boards, as well as the firmware running on the USB 3.0 controller on Github. The FPGA code is supposed to be there too, but I could not find it at the time of writing. He also designed an enclosure and a mount fitted with a CS to C mount ring in Fusion 360 which you’ll also find in the “hardware” folder of the Github repo.
He’s tested the camera with an IMX219 sensor that outputs raw Bayer data over MIPI CSI, and the FPGA will convert that to RGB data first through a Debayer, before converting the RGB data to YUV, and sending that to the USB 3.0 board. The FPGA will also manage automatic control over exposure and white balance.
More details, and plenty of photos, can also be found on Circuit Valley website. There does not seem to be any plan to manufacture or crowdfund the open-source hardware camera.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.