IMX93 TEVS Camera Usage Guide
π Introductionβ
This article guides you how to get started using TechNexion camera modules on EDM-IMX93 and AXON-IMX93 board.
You must have the background knowledge to modify the kernel configuration, rebuild, and replace the kernel and the device tree source (DTS).
This article uses the EDM-WB baseboard as an example, The operation of AXON-WB baseboard is almost the same.
πΈ Supported Camera Modulesβ
- TEVS Series
- VLS3 Series
Camera Series | Products |
---|---|
TEVS | TEVS-AR0144 TEVS-AR0145 TEVS-AR0234 TEVS-AR0521 TEVS-AR0522 TEVS-AR0821 TEVS-AR0822 TEVS-AR1335 |
Camera Series | Products |
---|---|
VLS3 | VLS3-AR0144 VLS3-AR0145 VLS3-AR0234 VLS3-AR0521 VLS3-AR0522 VLS3-AR0821 VLS3-AR0822 VLS3-AR1335 |
π§© Supported Boardsβ
SoM | Board |
---|---|
EDM-IMX93 | EDM-WB |
AXON-IMX93 | AXON-WB |
π§ Hardware Setup Instructionsβ
1. Power Supply Preparationβ
- Use a DC 5V or 12V power cable to supply power to the board.
- If you're using FPD-Link III SerDes, a 12V power adapter (minimum 3A) is required. Connect it via the barrel jack connector.

The EDM-WB can also be powered via USB Type-C (5V).
2. Debug Console Connectionβ
- Prepare a USB-to-UART cable if you're connecting to a PC.
- Connect the cable to the debug console port on the EDM-WB board.
3. Camera Interface (CSI) Overviewβ
- The board features one MIPI-CSI-2 interfaces, referred to as CSI1.
- These use 70-pin board-to-board connectors manufactured by Hirose.
- The image below shows a TEVS camera connected to the CSI1 interface.

π» Prepare Yocto demo image for testing TechNexion cameraβ
To test TechNexion cameras, you will need a Yocto-based demo image that includes the necessary device tree blobs and camera drivers.
π½ Downloading the Demo Imageβ
Prebuilt demo images are available for download on TechNexion's official server.
Download Link:β
π Supported Release List (Instructions for EDM-IMX93)
π Supported Release List (Instructions for AXON-IMX93)
πΎ Flashing the Imageβ
You can flash the image to either e.MMC or an SD Card using one of the following methods:
1. Using uuu
Tool (Universal Update Utility)β
TechNexion provides a guide to flash the image using the uuu
tool:
π How to Flash with UUU
Before flashing, ensure the board is set to Serial Download Mode in the boot configuration.
2. Using ums
Command in U-Boot (USB Mass Storage)β
Alternatively, you can write the image directly to flash storage over USB-OTG using U-Bootβs ums
command:
π Using UMS in U-Boot
The board must be booted with a version of U-Boot that supports the ums
command. Typically, this is done from the existing e.MMC.
π οΈ Build Yoctoβ
TechNexion supports building a Yocto-based Linux image tailored for camera modules using the following kernel and branch.
π¦ Supported Linux Kernelβ
Linux Kernel Version | Yocto Branch |
---|---|
6.1.55 | tn-imx_6.1.55_2.2.0-stable |
π Source and Build Instructionsβ
π Fetch Yocto Source
π Build Yocto (Instructions for EDM-IMX93)
π Build Yocto (Instructions for AXON-IMX93)
πΈ Camera Testing Instructionsβ
Specify Camera DTBO in U-Bootβ
If you are using TEVS cameras, you can skip this step. These models support automatic camera detection in U-Boot.
Manual DTBO Setupβ
-
Connect the debug console cable to the baseboard (via UART).
-
Power on the board and interrupt the boot process. Keep pressing
Enter
when the following message appears:Hit any key to stop autoboot:
-
Set the correct camera overlay (DTBO) using the U-Boot environment variable:
- TEVS Cameras
- VLS3 Cameras
u-boot=> setenv dtoverlay tevs
u-boot=> setenv dtoverlay vls
- Save and continue the boot process:
u-boot=> saveenv
u-boot=> boot
Don't forget the append LCD overlay if the baseboard has LCD connections.
π₯ Start Camera Video Stream via GStreamerβ
Check Camera Availabilityβ
Use the v4l2-ctl tool to list connected video devices.
$ v4l2-ctl --list-device
Example output:
FSL Capture Media Device (platform:42800000.bus:camera):
/dev/media0
mxc-isi-cap (platform:4ae40000.isi:cap_devic):
/dev/video0
In this example, /dev/video0 is the capture device connected via CSI1.
Launch GStreamer Pipelineβ
Replace <res_w>
and <res_h>
with your desired resolution:
$ gst-launch-1.0 v4l2src device=/dev/video0 ! \
video/x-raw, width=<res_w>, height=<res_h> ! \
videoconvert ! \
waylandsink sync=false
It not necessary to use or using videoconvert
. Because IMX93 have ISI to convert format.
π¨ Troubleshootingβ
Ensure camera device tree blob overlay(DTBO) is specified correctly in u-boot.
- TEVS Cameras
- VLS3 Cameras
u-boot=> printenv dtoverlay
dtoverlay=tevs
u-boot=> printenv dtoverlay
dtoverlay=vls
We can check whether camera have been initialized correctly.
For TEVS cameras:
$ dmesg -t | grep tevs
tevs 1-0048: tevs_probe() device node: tevs@48
tevs 1-0048: Version:24.9.0.1
tevs 1-0048: Product:TEVS-AR0144, HeaderVer:3, MIPI_Rate:800
tevs 1-0048: probe success
mx8-img-md: Registered sensor subdevice: tevs 1-0048 (1)
mx8-img-md: created link [tevs 1-0048] => [mxc-mipi-csi2.0]
Ensure camera device tree blob(DTB) is specified correctly.
$ dmesg -t | grep -i model
Machine model: TechNexion EDM-IMX93 and WB baseboard