Skip to main content

Working with Raspberry Pi

Although the deserializer board's form factor is designed for the Jetson Orin/NX Developer Kit, users can still use it with a Raspberry Pi 5 mainboard with cable connections.

Hardware Connection

Connect to Raspberry Pi 5

Power Wiring

CFG Configuration

  • Connect the deserializer board's CSI0 interface to the Raspberry Pi 5's CAM1 or CAM0 interface using the provided cable.
  • Connect the power cables to the deserializer board's power interface and the 5V & GND pins on the Raspberry Pi's 40PIN header, respectively.
  • Connect the GMSL camera(s) to the camera interface(s) on the deserializer board using coaxial cable(s)
  • Set the CFG switch to the '0100' position as shown in the diagram (default configuration for ISX031 camera)

Software Configuration

  • Testing was performed using the official Raspberry Pi image: 2025-05-13-raspios-bookworm-arm64.img.xz

  • Flash the image file and boot the Raspberry Pi.

    • Extract the .img image file from the downloaded package.
    • Use the Raspberry Pi Imager or balenaEtcher to write the image file to a TF card.
    • Insert the TF card with the flashed image into the Raspberry Pi mainboard, connect the hardware, and power on.
  • Open a terminal on the Raspberry Pi and use the following commands to download and extract the driver package:

    wget https://files.waveshare.com/wiki/MAX9296-GMSL-Deser-Module/ws-rpi5-gmsl.zip
    unzip ws-rpi5-gmsl.zip
  • Install the drivers

    • Use the cd command to enter the driver package directory:

      cd ws-rpi5-gmsl/

      Enter Driver Directory

    • Add executable permissions to the installation script and execute it:

      sudo chmod a+x rpi5_gmsl_driver_install.sh
      sudo ./rpi5_gmsl_driver_install.sh
  • Configure the config.txt file

    • Edit the file and add the dtoverlay setting as shown in the image below

      sudo nano /boot/firmware/config.txt

      Edit config File

    • Depending on the connected camera, remove the comment symbol # from the corresponding configuration line. Here isx031-gmsl-camera-a is the camera model being connected, and sensor-type=ISX031C_GMSL2F_1CH sets the camera channel parameter.

    • Table of camera models and corresponding configuration parameters:

      Camera ModelCamera Model ParameterCamera Channel ParameterPreview Parameter
      ISX031C-GMSL-Camera-H100isx031-gmsl-camera-aISX031C_GMSL2F_xCHISX031-GMSL-Camera-A
      ISX031-GMSL-Camera-H60isx031-gmsl-camera-bISX031C_GMSL2F_xCHISX031-GMSL-Camera-B
      ISX031-GMSL-Camera-H100isx031-gmsl-camera-bISX031C_GMSL2F_xCHISX031-GMSL-Camera-B
      ISX031-GMSL-Camera-H120isx031-gmsl-camera-bISX031C_GMSL2F_xCHISX031-GMSL-Camera-B
      ISX031-GMSL-Camera-H190isx031-gmsl-camera-bISX031C_GMSL2F_xCHISX031-GMSL-Camera-B
      GMSL-2MP-Camera-Agmsl-2mp-camera-aGMSL_xCHGMSL-2MP-Camera-A

      *_xCH can be set to 1CH or 2CH depending on how many cameras are connected.

  • If one IS031 camera is connected (either link A or link B; the program will auto‑detect):

    dtoverlay=isx031-gmsl-camera-a,sensor-type=ISX031C_GMSL2F_1CH
  • If two IS031 cameras are connected:

    dtoverlay=isx031-gmsl-camera-a,sensor-type=ISX031C_GMSL2F_2CH
  • If connecting to the CAM0 interface, add the cam0 parameter at the end:

    dtoverlay=gmsl-isx031,sensor-type=ISX031C_GMSL2F_1CH,cam0
    dtoverlay=gmsl-isx031,sensor-type=ISX031C_GMSL2F_2CH,cam0
  • The default deserializer I2C address is 0x48(0x90 >> 1). If you need to modify the default address, you can add the dser-addr parameter at the end:

    dtoverlay=isx031-gmsl-camera-a,sensor-type=ISX031C_GMSL2F_1CH,dser-addr=0x4a
    dtoverlay=isx031-gmsl-camera-a,sensor-type=ISX031C_GMSL2F_2CH,dser-addr=0x4a
  • After setting, save the file and reboot the system with sudo reboot

Quick Test

  • Install gstreamer1.0 tools:

    sudo apt install gstreamer1.0-tools -y
  • The driver board provides a test script for preview. After rebooting the system, you can use the following commands to perform a preview test of the camera

    • Connected to Raspberry Pi CAM1, 2x ISX031C:

      ws_camera_preview.sh ISX031-GMSL-Camera-A csi1 2ch
    • Connected to Raspberry Pi CAM1, 1x ISX031C:

      ws_camera_preview.sh ISX031-GMSL-Camera-A csi1 1ch
    • Connected to Raspberry Pi CAM0, 2x ISX031C:

      ws_camera_preview.sh ISX031-GMSL-Camera-A csi0 2ch
    • Connected to Raspberry Pi CAM0, 1x ISX031C:

      ws_camera_preview.sh ISX031-GMSL-Camera-A csi0 1ch
  • The following is an actual test screenshot for reference only:

    Camera preview screenshot