Arm embedded platforms are very popular for embedded vision. Many of these platforms have a USB2, USB3 and or GigE ethernet port. Our USB3 and GigE Vision Cameras work with these ARM embedded platforms. The Raspberry Pi, that has a USB2 port, even works with our USB3 cameras on reduced frame-rate.
Which embedded board to select with USB3 Vision Camera
There are many embedded boards available in the market that work with our USB3 Vision Cameras. The following ARM platforms were extensively tested with our machine vision cameras: - NVIDIA Jetson TX1/TX2 - NVIDIA Tegra TK1 - Toradex Apalis TK1 on Ixora Carrier Board - Raspberry Pi 3B, incl. support of the camera module.
However other popular embedded boards are: - Odroid XU4 - NanoPi M4 - NVIDIA Jetson Nano - Firefly
We especially like the Raspberry Pi for low end applications and the NVIDIA JETSON embedded computer boards for the high-end machine vision camera applications. A Raspberry Pi is already available for less then 25 Euro's, While a NVDIA Jetson Nano starts at 99 Euro per piece.
20MP Sony IMX183 vision camera connected to a Raspberry Pi 3B
In our Vision Lab in China we have connected a Raspberry Pi 3B with our MER-2000-19U3M machine vision camera. The Vision camera has a 20MP B/W Sony IMX183 sensor. It's connected directly to the raspberry pi 3. The raspberry Pi is put in a red casing in the image below. The vision camera looks at a lens and displays this on a HDMI screen that is connected to the Raspberry Pi 3B. We even tested this setup with multiple 20MP machine vision cameras. Please note that the frame-rate is only a few frames per second, due to the limited bandwidth of the USB2 port of the Raspberry Pi 3B.
ARM System requirements for USB3 and GigE Vision cameras
To run on ARM platform, we provide a SDK for our USB3 and GigE vision cameras. The minimum system requirements are:
Software requirements
Hardware requirements
glibc 2.17
Armv7-a
gcc 4.8
256MB RAM
libstdc++.so.6.0.18
USB host port
How to install a machine vision camera on an ARM based embedded computer
Install SDK a) If ARM processor is ArmV7 architecture, unzip the Embedded_ ARMv7_SDK.tar.gz file by using the following command:
$ tar –zxf Embedded_ ARMv7_SDK.tar.gz
b) If ARM processor is ArmV8 architecture, unzip the Embedded_ ARMv8_SDK.tar.gz file by using the following command:
$ tar –zxf Embedded_ ARMv8_SDK.tar.gz
After finishing installation, you will see the following files in the installing directory:
Lib:
Libgxiapi.so
Sample:
GxContinuousAcquire8
GxContinuousAcquire16
GxTriggerExternalAcquire
GxTriggerSoftwareAcquire
Embedded API invocation process.docx
Use ARM SDK for machine vision camera a)Copy the dynamic library named “libgxapi.so” to /usr/lib directory. Using command:
$ sudo cp libgixapi.so /usr/lib
Compile example for machine vision camera on ARM embedded computer If ARM processor is ArmV8 architecture, the example programs are located in / Embedded_ ARMv8_SDK /Sample
Each example program directory includes a makefile for compiling the example. Each example must be compiled before executing it. You can use 'make' command to compile the program in the example directory.
Using command:
$ make
Execute example for machine vision camera on ARM embedded computer After compiling the program successfully, you can run the program in the current directory. But it is worth to be noticed that you must change user permission to administrator for executing the program.
Using 'sudo ./' command to execute the program in administrator mode.
$ sudo ./GxContinuousAcquire8
If the 'GxContinuousAcquire8' program run successfully, some texts will be printed as following.
Conclusion regarding 20MP Vision camera connected to Raspberry Pi 3B
All our USB3 and GigE Vision Cameras can be connected to industrial embedded boards that are ARM based. An example is a 20MP USB3 vision camera connected to a Raspberry Pi 3B