Review of the ELP-USBFHD01M camera
6 minutes read

I have not found a review of this camera anywhere so I’m going to attempt to fill that void.

This USB 2.0 camera module is sold by Ailipu Technology Inc. (Shenzhen) under the model name ELP-USBFHD01M. There are several variations on the product depending on the stock lens you get it with.

I got the camera for around 35€. Shipping was around 30€. An additional 20% tax was asked at delivery (depends on buyer’s country).

Fig.1 ELP-USBFHD01M camera module with the 140° lens.



  • 1280×720 @ 60 fps (MJPEG).
  • Interchangeable M12 lens.
  • Manual exposure.
  • UVC compliant.


  • Image sharpness.
  • Poor dynamic range.
  • No housing.


The camera is UVC compliant so there is no special installation procedure. It is instantly recognized by Windows (tested on Windows 7, 8.1 and Windows 10 Tech preview). There is no vendor-specific driver to install on top of the Microsoft-provided UVC driver.

The USB descriptors report the following: VID = 05A3PID = 9230. However, a different camera module from Ailipu Tech (ELP8MP02G) reports a different vendor id so I’m not sure it is a legit id from USB Implementers Forum.

The camera name is reported as simply HD USB Camera and the manufacturer as HD Camera Manufacturer.

Hackability & Form factor

The module is 37.5 mm × 37.5 mm. It does not have any casing.

The back of the board has a 4-pin connector where the USB cable is plugged. The USB cable can be detached from the board and the connector wiring is printed on the board, which is pretty cool in case of a repair or modification. The shipped cable is 1 meter long as advertised.

USB connector2
Fig. 2. USB connector and wiring.

The board sports a standard M12 lens holder with 20 mm hole distance. The exact lens holder model will depend on the lens.

The lens holder can easily be unscrewed and swapped with another one. The lens is tightened with a screw.

Having an interchangeable lens is really neat.

focus screw
Fig. 3. Lens mount and focus screw.

Camera controls

The camera has many of the standard controls, including exposure, gain and sharpness.

Here are the DirectShow property pages for Video Proc Amp and Camera Control on the filter. Greyed out options are not available.

Camera properties Camera properties - Control

Note on white balance: it is not possible to reproduce the Auto mode with the manual slider. I have found that the best color is achieved when using the Auto mode, especially for whites. The manual mode gives a color cast to everything.

As it is usually the case, the exposure value will take precedence over the framerate when using long exposures. When this happens the framerate is limited to exactly 1/exposure duration.

Exposure values are not documented. Almost no camera manufacturer follow neither the UVC spec nor the DirectShow spec, and this camera is no exception.

Here is the mapping I found by inferring from 1/framerate on long exposures and comparing with a Logitech C920 for lower values:

Preset Value
-1 640 ms
-2 320 ms
-3 160 ms
-4 80 ms
-5 40 ms
-6 20 ms
-7 10 ms
-8 5 ms
-9 2.5 ms
-10 1.25 ms
-11 650 µs
-12 312 µs
-13 150 µs


Focus is done manually by screwing/unscrewing the lens inside its mount.

Stream formats

The camera can stream in MJPEG or YUY2 formats.

Each image size has a single framerate associated with it. In my experience the settings do not always match the actual frame frequency. I have added the values I actually measured in parentheses.

The following combinations are available:

    • 320×240 @ 120.1 fps (100 fps)
    • 640×480 @ 120.1 fps (100 fps)
    • 800×600 @ 60 fps (60 fps)
    • 1280×720 @ 60 fps (60 fps)
    • 1280×1024 @ 31 fps (30 fps)
    • 1920×1080 @ 31 fps (30 fps)
  • YUY2
    • 320×240 @ 31 fps
    • 640×480 @ 31 fps
    • 800×600 @ 21 fps
    • 1280×720 @ 9 fps
    • 1280×1024 @ 6 fps
    • 1920×1080 @ 6 fps

Image quality

Image quality is not a strong point of this camera. Since a poor image quality may come from many factor as the lens, the sensor, the image processing chip or the JPEG encoder, some of which we have partial control on, I will attempt to find out the origin of each issue.

Lens definition

I tested with the 140° and 180° stock lenses, as well as with a Sunex 955A (rated 5 megapixels). I was not able to quite reproduce the image quality of the Logitech C920 or the Microsoft Lifecam Studio. Image quality is not horrible though, and on bright daylight it may be enough depending on the purpose.

Lens flares

Since the camera is not in any housing, the lens is protruding and may be more easily polluted by light rays coming from aside. Some sort of hood will be a good addition when strong light is coming at an angle.

JPEG encoding

The compression level is not known. Some JPEG artifacts may be visible in low light conditions.

Dynamic range

The dynamic range is poor and if the scene contains dark and bright areas simultaneously details will be lost.

Rolling shutter

I measured the rolling shutter frame scan time to be 17 ms on the 1280×720 @ 60 fps and 36 ms on 1920×1080 @ 30 fps. The scan time at other resolutions is similarly mostly dependent on the framerate.

Sensor specs

The vendor reports that the sensor is an Omnivision OV2710. The spec sheet for it can be found in the OV2710 product brief. Here are some highlights:

  • Lens format: 12.7”.
  • Pixel size: 3 µm × 3 µm.
  • Image area: 5856 µm × 3276 µm.

The “720p cropped” image format

The 1280×720 @ 60fps stream uses a crop of the full frame, not a down sampling of the full sensor as in other lower sizes. This is a characteristic of the OV2710 itself.

The final field of view of the image will be reduced. Apply a factor of 23 to find the new field of view spanned by the cropped image. For example, if the 1920×1080 image diagonally spans 140°, in the 720p crop it will be reduced to 93°.

720p crop

The image circle created by a lens made for 13” sensors will cover the full frame (1920×1080) image. When using 1280×720 @ 60fps the image will be better suited to a lens made for 14” sensors.

The 180° stock lens provided with the camera seems to be a 14” format. It is well suited for the 720p cropped stream, but displays hard vignetting on full frame.


These samples were captured with Kinovea and are direct dumps of the MJPEG frames.


In the end the USBFHD01M is a capable camera module. To my knowledge no other USB 2.0 camera provides 1280×720 @ 60 fps to this date.

It can be an interesting tool if you can live with or work around its shortcomings.

Back to homepage

comments powered by Disqus