ZedBoard FMC Pcam Adapter Two Camera Demo

This demo is out of date. For a more recent version, refer to ZedBoard FMC Pcam Adapter Demo.


Fig.1 The demo in action - displaying data from both Pcam 5Cs.


This project demonstrates the usage of the FMC Pcam Adapter as an interface from two Pcam cameras and the ZedBoard platform. The Video Stream from each different camera passes in through the MIPI/FMC connectors and out through the carrier VGA port. For errors and feed-back messages, a UART interface is present.

Features Used

Not Used Used
512 MB DDR3 (128M x 32) X
256 Mb QSPI Flash X
10/100/1G Ethernet X
SD Card X
USB 2.0 FS USB-UART bridge X
5 Digilent Pmod™ compatible headers X
1 AMS Header X
2 Reset Buttons (1 PS, 1 PL) X
7 Push Buttons (2 PS, 5 PL) X
8 dip/slide switches (PL) X
9 User LEDs X
HDMI Output X
VGA (12-bit Color) X
128×32 OLED Display X
Audio, headphone, microphone X




  • ZedBoard
  • 12V power supply
  • 2 Micro-USB cables. One for programming and one for the UART interface
  • 2 Pcam-5C cameras
  • FMC Pcam Adapter
  • VGA monitor
  • 1 VGA cable


  • Vivado Design Suite & Xilinx SDK 2018.2
    • The project has only been confirmed working in version 2018.2


ZedBoard FMC Pcam Adapter Dual Camera Project Repository – ZIP Archive GIT Repo

Download and Launch the ZedBoard FMC Pcam-Adapter Demo

Please follow the instructions that are listed in the “Demo Setup” section of the README file found in the project repository and ZIP archive, linked above. Keep in mind that the hardware platform and bitstream file must be exported before launching SDK. Return to this guide when prompted to check for additional hardware requirements and setup.
Plug one end of the VGA cable into the VGA port of the ZedBoard and the other end into the VGA monitor. Attach a micro USB cable between the J7 programming port and host computer. Attach a second USB micro cable between J14 UART port and host computer. After this, attach an external 12V power supply to the ZedBoard's power jack. Finally, make sure that the Zedboard's jumpers are configured such that VADJ is set to 3V3 and that the boot mode is set to JTAG (all MIO# jumpers are connected to SIG and GND).
First, make sure that all the Pcam connectors on the adapter in which you want to insert the FFC cable are open. Pull the black plastic tab on the edge of the connector out, away from the opening of the connector. This opens the connector, as it can be seen in the first image bellow.
Insert the FFC with the contacts facing up, toward the Pcam 5C PCB. The blue side (without contacts exposed) should be facing down on the Pcam side. Repeat the same procedure with the Pcam connector on the FMC Pcam Adapter, as you can see in the image number 2.

Note: This demo only supported the FMC Pcam Adapter's Pcam ports A and B. Pcams attached to other ports will not be used. If Pcams are not connected to ports A and B, when the demo is run, the corresponding portion of the output monitor will be gray.

Fig.2 First image shows the bottom of the FMC Pcam Adapter with the connectors left open, and the second image shows the FFC cable with the contacts facing up
After this, please ensure the FFC is fully inserted, and press both sides of the black plastic tab back towards the rest of the connector to latch the FFC in. Below two cables which are fully inserted can be seen.

If the cable becomes disconnected from the Pcam 5C or the FMC Pcam Adapter, please repeat the steps presented above.

Fig.3 Two properly connected cameras
Finally, after both cameras have been connected, connect the FMC connector to the ZedBoard. To ensure that it stays firmly in place, one to two bolts should be used, as seen in the image below.

Fig.5 Final setup
To view messages printed over the UART communication channel, open a terminal program (such as Tera Term or PuTTY) on the host computer set to 115200 baud rate, 8 data bits, no parity bit and 1 stop bit. On startup, the ZedBoard will print feed-back and error messages via the serial console.

Fig.4 Serial terminal that shows the Init. message
If a camera is unconnected, a warning message will be seen. The program will skip this warning and will start to initialize the rest of the cameras.

Fig.5 Serial terminal that shows the Init. message and the incorrect initialization of camera A
As stated above, if a camera is unconnected, the Zedboard will continue the initialization of the rest of the cameras, and the VGA monitor will output a gray image in that camera's region, indicating the lack of video data in the DDR memory.

Fig.6 Output VGA image with the camera A disconnected