JeVois Tutorials  1.6
JeVois Smart Embedded Machine Vision Tutorials
Share this page:
Using the sample FIRST Robotics vision module

Starting with JeVois v1.6.1, JeVois provides a simple demo module that can detect a U-shaped object and estimate its location and pose in 3D space. This module is provided for inspiration of FIRST Robotics teams. It has no pretension of actually solving the FIRST Robotics vision problem in a complete and reliable way. It is released in the hope that FRC teams will try it out and get inspired to develop something much better for their own robot.

Theory of operation

The basic idea of this module is the classic FIRST robotics vision pipeline: first, select a range of pixels in HSV color pixel space likely to include the object. Then, detect contours of all blobs in range. Then apply some tests on the shape of the detected blobs, their size, fill ratio (ratio of object area compared to its convex hull's area), etc. Finally, estimate the location and pose of the object in the world.

In this module, we run up to 4 pipelines in parallel, using different settings for the range of HSV pixels considered:

Detections from all 4 pipelines are considered for overlap and quality (raggedness of their outlines), and only the cleanest of several overlapping detections is preserved. From those cleanest detections, pipelines 2-3 learn and adapt the HSV range for future video frames.

For more details, please see the documentation of FirstVision

Getting started


The module has many parameters you can tune.

You can do that either interactively by communicating with JeVois over a serial communication while it is running (see Changing machine vision parameters), or you can edit the values in the script.cfg file as we have done above.

See the documentation of the FirstVision module for what the different parameters do.

Building a vision rig

Several users have contributed great mounts for the JeVois camera, some of which also include a mount for an LED ring. Search for jevois at to download free models that you can print with a 3D printer.

Here is for example the very nice mount of NickFury at


How to program your own vision pipeline

Stay tuned, we will soon release two relevant pieces: