- 31 May 2023
- 2 Minutes to read
- Print
- DarkLight
- PDF
PICO-IMX8M-MINI TEVI Camera Usage Guide
- Updated on 31 May 2023
- 2 Minutes to read
- Print
- DarkLight
- PDF
Introduction
This article guides you how to get started using TEVI Series camera on PICO-IMX8M-MINI.
You must have the background knowledge to modify the kernel configuration, rebuild, and replace the kernel and the device tree source (DTS)
Supported TEVI Camera Modules
Board | Support Module |
---|---|
PICO-PI-8M | TEVI-OV5640 TEVI-AR0144 TEVI-AR0234 TEVI-AR0521 TEVI-AR0522 TEVI-AR0821 TEVI-AR0822 TEVI-AR1335 |
Overview
- Connect debug console, power, and camera to board
- Prepare Yocto demo image for testing TechNexion camera
- Build Yocto
- Instructions for testing camera
- Trouble shooting
Connect debug console, power and camera to board
- Prepare DC 5V power cable to plug in. (Note: PICO-PI-8M is powered by USB Type C)
- Prepare UART cable connect to debug console of PICO-PI-8M
- It's recommended to prepare a FPC cable to connect board will be more easy to use.
Prepare Yocto demo image for testing TechNexion camera
The demo image contains the required device tree blobs and camera drivers to enable TechNexion cameras.
Prebuilt demo images can be available for download via TechNexion's server.
Image Download Link:
pico-imx8mm_pico-pi-8m_yocto-4.0-qt6_qca9377_mipi5-1280x720_20230420.zip
Flash image to e.MMC
- Using 'uuu' to flash
UUU
Ensure the boot mode is configured as serial download mode.
Boot Configurations of PICO-PI-IMX8M-MINI
- Using u-boot's 'ums' Command to Write Flash Storage over USB-OTG
UMS
The board must also boot from either e.MMC with a version of U-boot that has the ums command enabled.
Please refer to Instructions for testing camera section for camera testing steps.
Build Yocto
Supported TechNexion Linux kernel branch for TEVI camera modules
Linux | branch |
---|---|
5.15.52 | tn-imx_5.15.52_2.1.0-next |
Fetch Yocto source
Build Yocto
Instructions for testing camera
Specify camera DTBO in u-boot
Connect debug console cable to PICO-PI-IMX8M-MINI.
Power on board , and enter u-boot prompt.
Specify camera dtb via 'dtoverlay' u-boot environment variable
u-boot=> setenv dtoverlay tevi-ap1302
or
u-boot=> setenv dtoverlay tevi-ov5640
- Continue boot process.
u-boot=> saveenv
u-boot=> boot
Start camera video stream via gstreamer
Specify the capture device you just get and start gstreamer to get video stream on screen :
$ gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, width=<res_w>,height=<res_h> ! imxvideoconvert_g2d ! waylandsink window-width=<x> window-height=<y> sync=false
It must have to use or using videoconvert . Because IMX8MM doesn't have ISI to convert format,
Trouble shooting
Ensure camera device tree blob overlay(DTBO) is specified correctly in u-boot.
u-boot=> printenv dtoverlay
dtoverlay=tevi-ap1302
or
dtoverlay=tevi-ov5640
We can check whether camera have been initialized correcly.
$ dmesg -t | grep ap1302
or
$ dmesg -t | grep ov5640
tevi-ap1302 1-003d: sensor_probe() device node: tevi_ap1302@3d
tevi-ap1302 1-003d: Product:TEVI-AR0521, Version:1. Lens:S84-IR FW:428 Freq:48M MIPI:816M, Version:1
mxc_mipi-csi 32e30000.mipi_csi: Registered sensor subdevice: tevi-ap1302 1-003d
tevi-ap1302 1-003d: probe success
or
ov5640_mipi 1-003c: supply DOVDD not found, using dummy regulator
ov5640_mipi 1-003c: supply DVDD not found, using dummy regulator
ov5640_mipi 1-003c: supply AVDD not found, using dummy regulator
mxc_mipi-csi 32e30000.mipi_csi: Registered sensor subdevice: ov5640_mipi 1-003c
ov5640_mipi 1-003c: Camera is found