User guide - DVS128 Dynamic Vision Sensor
inilabs documentation is constantly in development. If this guide is missing the answer to any question you may have, please don’t hesitate to ask us. We use the sourceforge jAER help forum for all questions regarding inilabs products. If your question involves confidential information, however, please use email@example.com. First you could try the inilabs troubleshooting guide.
This user guide covers the DVS128 camera:
Specifications for this and other DVS models can be seen here:
- Unpack camera. You should have camera with lens, mini tripod, and a cs-c adapter ring.
- Install jAER, following the instructions in the jAER user guide.
- Plug in the DVS128 to your PC (or Mac) using a USB A-B cable.
- Follow the instructions here to install drivers:
This information applies to DVS128 and DVS128_PAER, but not to the eDVS, which has an M12x0.5mm lens). The lens mount shown above for the integrated lens mount in the DVS128 camera and the DVS128_PAER is designed for CS mount lenses. If you have a C-mount lens (which can be identified from a marking on the lens), you need to use the C to CS converter adapter ring (normally supplied with the device) that moves the lens further from the chip. The chip requires lens designed for 1/2 inch imagers (die size is 6.0x6.3mm and active area is 5.12×5.12mm. In any case, the field of view is larger than that of common 1/3 inch imagers for which many lens are sold.
The field of view (FOV) depends on the focal length L of the lens and the size W of the pixel array. The angular FOV (AFOV) is given by:
The linear FOV (LFOV) at a distance D from the lens is given simply by similar triangles:
The pixel array measures 128 pixels x 40 um/pixel = 5.12 mm.
The following table shows the horizontal and vertical field of view in degrees and its size at various distances for different common focal lengths.
Computations of DVS128 field of view
lens focal length
horizontal or vertical
dist. 10 cm
dist. 30 cm
dist. 100 cm
You need to load a set of biases. The jAER user guide explains how to do this, in the section on “biasing”. In order to get the best performance out of your device for your application, in terms of speed, noise etc, you need to adjust the biases. The biasing guide explains how to do this.
For the DVS128, You can find the standard bias sets under:
The default biases DVS128Slow.xml or DVS128Fast.xml are suitable for many situations.
Stereo camera configurations
By choosing the AEChip DVS128StereoPair as shown below, you can plug in two DVS128 by separate USB interfaces and they will be treated as a stereo pair. Recording, playback, control of biases, common filtering, etc are applied to the resulting stereo stream.
The events are internally represented as objects of type BinocularEvent.
Look for usages of this class for examples.
The rendering of stereo recordings uses the convention red=Right, green=Left. (remember “red right”). However this choice is arbitrary. The assignment of left / right is made by lexicographic comparison of the serial number strings. (This assignment is likely to be changed without notice.)
Internally, the raw stereo addresses presently use bit 15 to mark the right eye, i.e. 1=right, 0=left. However this assignment is also likely to change without notice.
The hardware interface class for the stereo pair allows the optional ordering of incoming events so that time increases monotonically. This sorting has significant cost in computation and latency. See usages of the class StereoHardwareInterface for examples of the use of the setIgnoreTimestampNonmonotincity() flag. This option is controlled by the File/Check for non-monotonic time in input streams option, as shown below:
The DVS128 firmware (CypressFX2 software and CPLD configuration) can be updated easily (although firmware updates always have some element of risk).
- firmware updates were previously broken when running jAER using the standard JRE. Make sure you have updated your working copy before attempting firmware update!
- Firmware updates have only been tested with a single DVS128 plugged in.
You can check which firmware version you have and then optionally update. Do this by using the USB menu (with the DVS128 plugged in):
Updating firmware always has an element of risk and if something goes wrong you may need to return the camera for a new EEPROM. If you elect to update, you should see a progress bar followed by success:
LEDs and sync connectors
A close-up photo of the DVS128 sensor is shown below. On the back, the upper LED, is a blinking “heartbeat” LED, which shows that the camera’s controller is running. The lower LED, is on as long as the DVS128 is time-stamp master; it turns off if the DVS128 is clocked externally - see the synchronisation guide.