Review: IR Dome USB WebCam - perfect for Raspberry Pi
The good folk at Ailipu Technology have sent me a fist-sized USB camera to review. This is a cheap and simple way to get external video into a home server like a Raspberry Pi.
This is the, slightly cumbersomely named, elp-usb100w05mt-dl36.
What's in the box?
The USB cable is around 5 metres long, and is wired into the camera. Four screws and rawlplugs are also included. Why? Because there are mounting holes at the back of the camera.
To access them, your have to unscrew the base. The whole camera unit comes apart - this allows you to change the orientation and angle of the camera.
The unit is a simple affair. A central lens, a light sensor above it, and 24 Infrared LEDs.
It's rainproof - so suitable for mounting outside. No software is needed - it is detected as a USB video camera in Linux.
Sample Shots
Here's the quality of image taken in the midday sun. Click for bigger.
There's a bit of fish-eye on the image, but colours are reasonably good. Image is a bit soft, but certainly good enough to let you see what's going on.
Here's the same shot at night.
IR illumination is pretty good. You don't get much fine detail - but it is more than enough to see what's going on. The camera needs to be installed outside - the IR will reflect back into the lens if the unit is placed behind glass.
Drawbacks
It's only a 1280x720 resolution unit. That's fine for seeing detail in things close up - but you're not going to pick up car car number plates very easily.
The MJPEG stream is meant to be 30fps. In reality, it varied between about 10FPS & 30FPS. Again, good enough for security camera footage.
Poor audio. There is a cheap mono microphone inside the unit. As in right inside the dome. If you tap on the lens, you'll hear it, but it doesn't seem to pick up speech or anything else. But if all you care about is seeing what's going on, it's not a huge issue.
The USB cable seems pretty chunky - but I'm not sure how weather-proof it is. If you install it, remember to regularly inspect it for defects.
Internals
You can unscrew the dome! It's tight, and there is a rubber layer there to keep it waterproof.
You can see the tiny condenser microphone in there. Everything is securely afixed and neatly wired. You could easily replace the internals if you needed.
Verdict
A pretty good camera for forty quid. If you have a Raspberry Pi mounted outside, this is a good way to get video to it.
In a world of cheap, WiFi connected IP cameras, this makes sense for anyone who wants a more reliable connection - and a camera which can boot up instantly.
Quality isn't exactly high def - but, for the price, it will do.
Get it
You can buy the camera for £40 on Amazon (Affiliate link).
Or get it direct from the manufacturer
Linux Tech Specs
Camera works out of the box with Linux - tried on a recent Debian build and an older Raspberry Pi.
USB Info: 05a3:9310 ARC International
Full v4l2-ctl
output:
Driver Info (not using libv4l2):
Driver name : uvcvideo
Card type : USB 2.0 Camera
Bus info : usb-0000:00:14.0-3
Driver version: 4.10.17
Capabilities : 0x84200001
Video Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
Width/Height : 1280/720
Pixel Format : 'YUYV'
Field : None
Bytes per Line : 2560
Size Image : 1843200
Colorspace : sRGB
Transfer Function : Default
YCbCr/HSV Encoding: Default
Quantization : Default
Flags :
Crop Capability Video Capture:
Bounds : Left 0, Top 0, Width 1280, Height 720
Default : Left 0, Top 0, Width 1280, Height 720
Pixel Aspect: 1/1
Selection: crop_default, Left 0, Top 0, Width 1280, Height 720
Selection: crop_bounds, Left 0, Top 0, Width 1280, Height 720
Streaming Parameters Video Capture:
Capabilities : timeperframe
Frames per second: 10.000 (10/1)
Read buffers : 0
brightness (int) : min=-128 max=127 step=1 default=0 value=0
contrast (int) : min=0 max=255 step=1 default=128 value=128
saturation (int) : min=1 max=128 step=1 default=64 value=64
hue (int) : min=-40 max=40 step=1 default=0 value=0
white_balance_temperature_auto (bool) : default=1 value=1
gamma (int) : min=72 max=500 step=1 default=100 value=100
gain (int) : min=0 max=100 step=1 default=0 value=0
power_line_frequency (menu) : min=0 max=2 default=1 value=1
white_balance_temperature (int) : min=2800 max=6500 step=1 default=4600 value=4600 flags=inactive
sharpness (int) : min=0 max=6 step=1 default=3 value=3
backlight_compensation (int) : min=0 max=2 step=1 default=1 value=1
exposure_auto (menu) : min=0 max=3 default=3 value=3
exposure_absolute (int) : min=1 max=5000 step=1 default=625 value=625 flags=inactive
exposure_auto_priority (bool) : default=0 value=1
Craig Marston says:
Hey that's cracking, cheers!