e-con systems See3CAM_24CUG USB 3.1 global shutter camera review

e-con Systems See3CAM_24CUG a full HD color global shutter USB 3.1 Gen 1 camera based on an Onsemi AR0234CS CMOS image sensor capable of capturing moving scenes at up to 120 fps. This global shutter camera is especially useful for robotics and other applications that may require a high frame rate such as Automatic Number Plate Recognition (ANPR), Autonomous Mobile Robots (AMR), gesture recognition, drones, barcode scanners, factory automation, conveyor monitoring cameras, and traffic monitoring systems.

e-con Systems sent a See3CAM_24CUG USB global shutter camera sample to CNX Software for review. I’ll go through an unboxing before testing in Ubuntu with both an AMD Ryzen 7 2700U laptop and a Raspberry Pi 4 single board computer. It happens to be based on the same sensor as the e-CAM20_CURB camera for Raspberry Pi 4 that we reviewed last year.

See3CAM_24CUG specifications

  • ON Semiconductor AR0234CS CMOS sensor with 1/2.6″ optical form-factor
  • Global Shutter, Fixed focus (adjustable by user)
  • Onboard ISP image sensor from ON Semiconductor
  • Uncompressed UYVY streaming
    • HD (1280 x 720) up to 120 fps over USB 3.2 Gen 1
    • Full HD (1920 x 1080) up to 60 fps over USB 3.2 Gen 1
    • 2.3 MP (1920 x 1200) up to 55 fps over USB 3.2 Gen 1
  • MPJEG streaming
    • HD (1280 x 720) up to 120 fps over USB 2.0 or 3.2 Gen 1 (Note: 10% vertical cropping)
    • Full HD (1920 x 1080) up to 120 fps over USB 2.0 or 3.2 Gen 1 (Note: 10% vertical cropping)
    • 2.3 MP (1920 x 1200) up to 120 fps over USB 2.0 or 3.2 Gen 1
  • Holder – M12 (S-Mount)
  • FOV – 128.2°(D), 104.6°(H), 61.6°(V) with the lens provided by e-con Systems
  • Host interface – USB 3.1 Gen 1 Type-C female port; UVC compliant, no additional drivers needed
  • Expansion – 6-pin GPIO connector (CN2) with I2C, external trigger input, strobe output, 5V, and GND
  • Supply Voltage – 5V via USB-C
  • Power Consumption – Max: 2.02W, Min: 0.86W
  • Dimensions & Weight
    • Without Lens: 30 x 30 x 26 mm | 20 grams
    • Without Lens + enclosure: 35.3 x 35.3 x 29 mm | 51 grams
    • Lense weight – 6 grams
  • Temperature Range – -30°C to 70°C without enclosure; 0°C to 50°C with enclosure
  • Compliance – FCC, RoHS

The external trigger is used for synchronizing multiple cameras, for example, for stereo vision applications. e-Con Systems provides support for Windows and Linux by default, but Android can also be supported through the Webeecam SDK, and Mac OS support can be done upon request. As we’ll see below 64-bit Arm is also supported in Ubuntu.

See3CAM_24CUG unboxing

See3CAM USB 3.0 camera package

The camera came in the same package design as the one we received last year, and the company provides a serial number to access documentation and software tools.

e-Con Systems See3CAM_24CUG unboxing review

The kit comes with the See3CAM_24CUG USB camera and a USB to USB-C cable.

global shutter USB 3.0 camera

The camera lens allows for manual focus adjustment.

USB-C camera adjustable fixed focus
It’s a two-board design, one for the camera module, and the other handling MIPI CSI to USB 3.1.

See3CAM_24CUG board USB-C port

The female USB-C port and CN2 GPIO connector can be found on the bottom of the camera.

CYUSB3065-BZXI camera board

The bottom board relies on an Infineon CYUSB3065-BZXI EZ-USB CX3 programmable MIPI CSI-2 to USB 5 Gbps camera controller.

Quick test in Ubuntu 22.04

I first connected the camera to my laptop running Ubuntu 22.04 and it’s detected as a USB camera called “See3CAM_24CUG” and supporting UVC 1.00:


The device on Bus 2, Port 1 is using a 5Gbps USB connection as expected:


Since it’s a UVC camera I should be able to use it with standard tools such as guvcview.

See3CAM_24CUG Ubuntu 22.04 gucview

It works, but somehow I can’t go much over around 30 fps in the preview window above whether I use Uncompressed UYVY or MJPEG camera output. The resolution has an impact too, but I eventually noticed the biggest impact on the frame in the video preview is the scene itself. I can get 60 fps when pointing to a bright scene, but when I point the camera to show my keyboard the preview frame rate drops to 15 fps.

Using Qtcam on Raspberry Pi 4

But since e-con Systems provides documentation and tools, I’ll stop with guvcview and head to the developer website to register the device with its serial number and access the documentation and tools.

See3CAM_24CUG register camera on e-con systems website

The company provides hardware documents with a 3D file, datasheets, and a getting started guide, Linux and Windows applications, a Windows SDK, as well as firmware and related tools.

See3CAM documents WIndows Linux utilities firmware

The document says QtCAM can be installed on Ubuntu 14.04 to 20.04, and indeed, the PPA for the program is only available on Ubuntu 14.04 (Trusty), Ubuntu 16.04 (Xenial), Ubuntu 18.04 (Bionic), and Ubuntu 20.04 (Focal), as well as some non-LTS versions and the 11-year old Ubuntu 12.04 Precise.

QtCam Ubuntu program

I have updated all my machines to Ubuntu 22.04, and I’d rather not use a machine with Windows such as the Khadas Mind, so I decided to install Ubuntu 20.04.5 Server 64-bit Arm on Raspberry Pi 4 and install the desktop environment since I’ve never used Ubuntu on the Pi 4, and I can see QtCam for Ubuntu 20.04 is supported on both amd64 and arm64 architectures.

Since we’ll need a desktop environment to check out the programs and the camera output, I installed the Ubuntu Desktop package as well:


After a reboot,  I connected the camera to one of the USB 3.0 ports of the Raspberry Pi 4 and try it out with guvcview to confirm I could reproduce what I did on my laptop.

Raspberry Pi 4 guvcview usb camera

It works fine, although you’ll notice a 21.50 fps in the photo above. An important note is the e-CAM20_CURB MIPI CSI camera is better suited to the Raspberry Pi due to its lower price, while the See3CAM_24CUG can work on more platforms including computers, laptops, and single board computers that do not come with a MIPI CSI connector, but have a spare USB 3.0+ port.

Time to install QtCam in Ubuntu 20.04:


See3CAM_24CUG USB 3.1 camera review

It works as well. If you want to build the Qtcam application yourself the source code can be found on LaunchPad. It might be possible to compile it for Ubuntu 22.04, but since it has not been tested by e-con Systems, there may be issues.

Qtcam interface

The user interface has camera and video modes with the ability to take photos or shot videos. The “Camera Settings” tab includes image quality settings (Brightness, Contrast, Saturation), still capture settings (color space, output size…), video capture settings (frame rate, color space, output size…), and audio capture settings (sample rate, channels…) that we can’t use with this specific camera since there’s no audio.

Still Capture Video Capture Ahdio Capture Settings

The selectable color space/compression, output size, and frame rate options match the ones from the specifications, meaning we can select UYVY or MPEG, three resolutions namely 1280×720, 1920×1080, and 1920×1200, and a frame rate of up to 120 fps when using 1280×720 resolution. If I select 1920×1200 resolution, I get some green lines and other artifacts on the preview windows, and the Raspberry Pi 4 may be struggling a bit. But there’s no problem when taking a photo with the Qtcam application.

Qtcam 1920x1200 Sample
1920×1200 sample – Click for the original image

Besides the basic settings we’ve gone through, the Qtcam program also comes with additional options in the “Extension Settings” tab, notably to use the trigger function of the camera.

Qtcam Extension Settings Qtcam advanced settings

I gave the Face Detection demo a quick try, but the Raspberry Pi 4 is struggling with the actual frame rate in the preview windows being closer to 1 fps despite what’s shown in the screenshot below.

Qtcam Face Detection

I’ve captured a few videos with some motion to show the performance of the global shutter camera. First at 1280×720 resolution with the framerate set to 120 fps.

YouTube video player

 


The resolution is indeed 1280×720, but the frame rate is slightly confusing as we are both shown a 120 frame rate and a minimum and maximum frame rate of 24 and 30 fps. I understand that the camera can handle 120 fps, but the video itself is recorded at a variable frame rate between 24 and 30 fps. It already looks more capable than the Raspberry Pi Global Shutter camera with higher video resolutions.

Let’s switch to 1920×1080 @ 60 fps.

YouTube video player


The 1920×1080 video is captured at 60fps but it does not look that smooth to me…

and finally 1920 x 1200 @ 55 fps.

YouTube video player


The 1920×1200 is also recorded at 55 fps, but there are lots of artifacts in the video and it’s basically unusable. I’d guess the Raspberry Pi 4 may be struggling to handle the higher resolution and MJPEG compression. H.264 is also an option, but it’s done by software here, so it would be even harder to manage for the Pi.

See3CAM_24CUG USB 3.1 global shutter camera tested with Windows 11

So I decided to remove the CPU bottleneck and installed the e-CAMView program on Khadas Mind mini PC (Intel Core i7-1360p 12-core Raptor Lake processor, 32GB RAM, 1TB NVMe SSD) running Windows 11.

Khadas Mind USB 3.0 camera

The e-CAMView program has fewer options than the Qtcam, and I was unable to change the resolution which was set to 1920×1080. The preview window runs at 55 to 60 fps whatever I do with the camera. I recorded another video sample “driving” on the table…

YouTube video player

This is much better and the video is really smooth, albeit there are some horizontal green lines on a couple of frames at the beginning of the video. So the Raspberry Pi 4 struggles with higher resolutions and a more powerful system is required for smooth video streaming or recording using the software provided.


Mediainfo confirms the video has a 1920×1080 resolution and a 60 fps frame rate, but it is recorded with a variable framerate between 19.993 and 60.302 fps and a 41.5 Mbps bitrate.

Finally, I recorded a fan with the See3CAM_24CUG USB camera and my mobile phone (rolling shutter) camera to illustrate how global shutter cameras like the one from e-con Systems can better capture motion.

YouTube video player

Conclusion

e-con Systems See3CAM_24CUG global shutter USB 3.1 camera provides the ability to capture videos with motion without the side-effects of rolling shutter cameras and does so at full HD resolution (1920×1080) up to 60fps, or at up to 120 fps at 1280×720 resolution. But note that this needs a rather powerful system, as our testing showed the Raspberry Pi 4 struggling to keep up at 1920×1080 or 1920×1200 resolutions and switching to a more powerful Raptor Lake mini PC delivers much better results with a higher frame rate and fewer artifacts. The MIPI CSI model that we reviewed last year is better suited to the Raspberry Pi 4.

On the software side, the camera is UVC compatible so it can be used with most camera programs. Having said that, e-con Systems provides its own Windows program (e-CAMView) and SDK and Linux program (Qtcam) with source code, so developers have a starting point to add support for the camera capabilities and special features like trigger mode (for multiple camera synchronization).

I’d like to thank e-con Systems for sending the See3CAM_24CUG USB global shutter camera for review. The kit can be purchased on e-con Systems store for $199. Note you can also purchase it without lense for $179 or with an enclosure for $259.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies or become a Patron on Patreon

ROCK Pi 4C Plus

One Reply to “e-con systems See3CAM_24CUG USB 3.1 global shutter camera review”

  1. Be aware that there is no continuity of supply guarantee, or much in the way of support.
    It’s cheap but there are compromises.

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC