Last updated: 29 November 2024

Raspberry Pi with 20MP industrial camera

ARM embedded platforms are very popular for embedded vision. Many of these platforms, such as a Raspberry Pi have a USB2, USB3 and or GigE ethernet port. Our USB3 vision cameras and GigE vision cameras work with these ARM embedded platforms. The Raspberry Pi 3B, that has a USB2 port, even works with some of our USB3 cameras on reduced frame-rate such as our 20MP USB3 camera.

Raspberry Pi with 20MP industrial camera

Which embedded board to select with a 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
  • Raspberry Pi 4
However other popular embedded boards are:
  • Odroid XU4
  • NanoPi M4
  • NVIDIA Jetson Nano
  • Firefly
The Raspberry Pi is preferred 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 little money, while a NVDIA Jetson Nano development kit costs several hundred euros.

20MP Sony IMX183 vision camera connected to a Raspberry Pi 3B

For tests, we initially connected a Raspberry Pi 3B with our MER series machine vision camera: MER-2000-19U3M. Nowadays, we would work with the MER2-series camera of this IMX183 sensor camera: the MER2-2000-19U3M. Would you like to know if this could be a suitable camera for your project? Get in touch below. 

 

For testing, we have connected the camera directly to the Raspberry Pi 3B. 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.

Industrial camera connected to a Raspberry PI



All our MERCURY2 cameras have been equipped with a new FPGA since the end of 2022 at the latest. The new FPGA provides a greater functionality, but as a downside it is no longer compatible with the USB2 port of the Raspberry Pi 3B.
MERCURY2 machine vision cameras with the new FPGA have been tested successfully with the Raspberry Pi 4. Please note that the frame rate might be limited, as with the Raspberry Pi 3B.
 
A camera with the new FPGA can easily identified by a letter next to the barcode one the label. If you are unsure or need more advice, feel free to contact us at any time.

ARM system requirements for USB3 and GigE vision cameras

To run on ARM platform, we provide a free SDK for our USB3 and GigE vision cameras on our download page. The minimum system requirements are:
 
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

Our USB3 and GigE Vision Cameras can be connected to embedded boards that are ARM based. An example is a 20MP USB3 vision camera connected to a Raspberry Pi 3B or 4.