Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
This section houses sensor articles that are about 3-wire or pin ADI sensors.
VEX made electronic sensors for the V5 Brain and Cortex.
The Bumper Switch returns when the switch is pressed.
The bumper switch is a pretty basic; in addition to being reliable and durable, it is easy to install and use. It falls into the category of βdigital sensors,β meaning that it returns only two possible values: 1 or 0.
Triggering it requires a reasonable amount of force, so donβt plan to use this for a movement that will lightly touch or graze its target object.
There also used to be an older model that works the same exact way, but with a smaller button.
(Purdue SIGBots)
The VEX Encoder helps to determine the rotation of a shaft.
The VEX Quadrature Encoder, or simply the VEX Shaft Encoder, is a two-port device which counts the number of times that a spinning axle has rotated. Both ports are outputs and output periodic pulses corresponding to movements of the shaft in question. This sensor must not be confused with the discontinued "VEX Optical Shaft Encoder" which is not a quadrature device and only counts rotation in one direction.
As with potentiometers, using these encoders requires advance planning. As seen from the image above, these items take up a significant amount of space, measuring more than 3/4β³ thick. On a chassis they are typically installed in between the wheelβs supporting c-channels (the structure of one side of the chassis is something like: c-channel, wheel, encoder, c-channel, with spacers & shaft collars thrown in as needed). These sensors come in a handy 2-pack because teams often use one on each side of the robotβs chassis to help keep the robot driving straight in autonomous mode, in addition to knowing how far it has gone.
The chassis is not the only place to use these sensors, but it is the most popular.
Once there are a lot of sensors on the robot, the analog & digital ports can fill up fast. 4 shaft encoders will take up 8 ports.
Inside the red box is an infrared light and a sensor on opposite sides of a wheel with lots of little holes/slots in it (image at right). The sensor can tell when light is shining through the holes and when it is not, and thus can count the number of βclicksβ that have gone past its viewing window. One full revolution includes 360 clicks (not 90 clicks, as described on the downloadable info sheet).
The reason that these encoders have 2 wires (the older model had only one sensor/one wire) is that the second wireβattached to a second sensor inside the deviceβallows the to know which direction the wheel is spinning. One could use these sensors with just one wire plugged inβsimulating the older version of the componentβif (a) it is not important what direction the wheel is moving, (b) it will only move in one direction during usage, AND (c) the robot has so many sensors and gizmos that there are no more digital ports on the .
Underneath it all, these shaft encoders are indeed digital sensors. When the infrared light makes it from the light to the light sensor through one of the open slots, the encoder spits out a 0 (LOW). When the light is blocked it spits out a 1 (HIGH). The keeps track of these 1s and 0s to generate a running count of clicks. Combined with information from the second wire to the (which gets data from the second infrared sensor inside the device), it knows what direction the shaft/wheel/encoder is moving: the knows whether to add to its click count or subtract from it.
Thereβs an important distinction to be made here between encoders and potentiometers; understanding it will help discern which sensor is needed for the task at hand.
Shaft encoders (and IMEs) count the number of βclicksβ that the robot has movedβrelative to its starting position. Think of it like a carβs trip-counter, which can be set to 0 whenever is necessary. The trip counter displays how many miles (or kilometers) have been travelled since the button was pressed: it is the current position RELATIVE TO the starting position. A shaft encoder is like a trip counter for the robotβit can be set to 0 whenever and, unlike a carβs trip counter, it has the added ability to count backwards, all the way into the negative numbers. And like the trip counter, the encoder can count up very high, until it gets to the maximum set by the manufacturer.
When the robot is turned off, itβs like disconnecting the carβs battery: when it is turned back on, the trip counter/click counter is reset to 0 automatically.
Encoder ==> Relative position
Now think about GPS. The satellite system will give an ABSOLUTE location on the globe of where the car is via latitude & longitude numbers. A potentiometer is more like GPS. It has a value of 0 at its lowest point and a value of 4095 at its highest point; thatβs it. When itβs attached to a robotβs movement arm, the potentiometer returns a number from 0 to 4095 that represents the armβs exact location.
If the car was left alone and turned off, the GPS will give me the same location as when the car was left. The potentiometer is the same way. If the robot was turned off with its arm in a specific place, and the last reading it gives is 1000, when the robot is turned back on it will still read 1000 (provided the arm hasn't moved when it was off). It does not reset to 0, ever.
Potentiometer ==> Absolute position
(Purdue SIGBots)
An Accelerometer measures proper acceleration.
The Accelerometer is no longer sold on the VEX storefront. Check out the for the most up to date sensor carried by VEX.
This sensor is not compatible with the .
While it may seem that acceleration can be used to infer force, this is only valid on movable objects with constant mass and produces a net force estimate, which may be useless if the value of one particular force is to be measured. It is also not feasible to integrate the accelerometer once for velocity and/or twice for position; most accelerometers lack the precision and stability required for this to work. Accelerometers are viable solutions for determining if a robot is leaning to take quick action to prevent tipping over.
Most accelerometers, like their cousins the Gyroscope, output an analog voltage. The best models can use a digital protocol like SPI or I2C. While not nearly as sensitive to line noise as gyroscopes, accelerometers should still be shielded from noise sources. If a robot or assembly is rigid, it theoretically should not matter where the accelerometer is placed, but most devices tend to perform better at or near the gyro (but priority must be given to the gyro in this regard).
BLRS (Purdue SIGBots)

The VEX Potentiometer helps track the rotations of shafts
The is a simple analog sensor used to measure angular position. It returns a voltage between 0 and +5 V linearly proportional to its angular offset from one side. Currently, there are two different models: the older red potentiometer, and the newer black potentiometer. While the red potentiometer has a range of motion of approximately 260ΒΊ, it can only electrically measure up to approximately 250ΒΊ. Because it is somewhat fragile. it is important that these older units be protected against external stresses past its limits to prevent breaking the device. The new potentiometer, however, is able to rotate a full 360ΒΊ and has a 333ΒΊ electrical rotation angle, and this lack of a hard stop means that it is much less easily damaged (although one should always be careful).
To install the potentiometer, run the shaft of the arm whose movement needs to be measured through the small, white square hole in the middle, which is able to rotate. The larger black (or red, depending on the model) outer casing is screwed onto the robot. Then when the arm lifts, its axle turns the inner portion of the sensor to produce a reading.
This sensor will require some advance planning in the robot design. First of all, they take up space; it is important to plan where the sensor should be to avoid issues with other parts, especially moveable ones. The newer sensor is smaller, but it will also necessitate advance planning. Second, it can be difficult to put one of these on after the fact; doing so would likely involve taking the arm joint apart and changing all of the existing spacers, etc. to get it to fit since usually it would be installed fairly early on in the construction process. Not only that, but if the spot is tight enough to where it just wonβt fit, it may require even more disassembly or even a partial re-design.
If the arm is geared, that is, the motor is turning at speed X and through gears makes the arm move at speed Y, and you are planning to use one of the older red potentiometers, be sure to install the potentiometer on the shaft that stays within that 250ΒΊ arc. Do not install an older potentiometer on any shaft that is spinning more than 250ΒΊ. If it is installed on a shaft that exceeds this, the sensorβs βstopsβ at each end of the arc will likely break, and the data will be meaningless. Since the newer potentiometers do not have a hard stop, they may be installed on any shaft.
Despite what VEX says in their documentation, the shaft may not βslide easilyβ into the sensor; it may be necessary to use a significant amount of force. Be careful, though; this stiffness increases the likelihood of inserting the square arm shaft in not-quite-the-right orientation of the sensor, which could damage it. Take some time and make sure to think through and visualize each step before committing to it and screw everything together.
Install it βjust enoughβ at first; no need to tighten it completely or put lock nuts on yet. Using the online/debugger window, manually move the robotβs arm up & down to make sure that the sensor data is between 0 and 4095 at all times. If the sensor value does not move smoothly through the range, that is, if it stays at one number for a long time, or has a gigantic jump, then it is likely on the wrong way.
The armβs potentiometer values (POT, for short) donβt need to start at zero at the bottom of your robotβs arm movement; the important thing is that the armβs lowest position and highest position are both in the sensorβs range as listed above. When doing testing, make sure to write down the minimum and maximum values for your robotβs arm movement and put them in the engineering notebook. The programmers for your team will need this information.
Inside the outer casing is an adjustable resistor, and turning the shaft at the bottom of the sensor changes the resistance, allowing varying amounts of voltage to get to the other end of the circuit. That amount of voltage is measured and converted by the cortex into a value between 0 and 4095.
Hereβs VEXβs documentation sheet with the technical specs.
Potentiometers measure absolute position through a short range of motion, so they are good for lifts and other subsystems with a defined range of motion. The resolution is higher than with an Encoder and the potentiometer only requires one wire, so if a system can use a potentiometer then that's recommended.
BLRS (Purdue SIGBots)
This section houses sensor articles that are about RS485 or smart port sensors.
The LED Indicator is a 5V LED coming in red, green, or yellow that, unlike the other 3-pin electronics, only possesses 2 pins. However, it is still compatible with the V5 Brain, and can be connected to the brain via a 3-wire extension cable. The LED Indicator can be used for decorative purposes, or can be used functionally as a way to show software feedback.
In VEXcode or PROS, the LED Indicator can be configured as a digital output device.
The boolean nature of the LED Indicator (since it relies on digital output) is reversed. A digital output of "0" will turn the LED on, whereas a digital output of "1" will turn the LED off. A strange side effect of using the LED Indicator with the V5 Brain is that it will be faintly illuminated when the digital output value is telling the LED to be off; this behavior is not seen when the LED Indicator is used with the Cortex.
(Purdue SIGBots)
(B.E.S.T.I.E. Robotics)
The VEX Yaw Rate Gyroscope returns the rate of rotation around the vertical axis.
The Gyroscope is no longer sold on the VEX storefront. Check out the V5 Inertial Sensor (IMU) for the most up to date sensor carried by VEX.
The VEX Yaw Rate Gyroscope, or simply the VEX Gyro, is an analog gyroscope which returns a voltage between 0 and +5 V approximately proportional to the rate of rotation around the vertical axis through the sensor. The sensor can detect a rotation of up to +/- 1000 degrees per second. While the Yaw Rate Gyroscope is acceptable for coarse positioning, use of a digital gyroscope may lead to more precise readings. When powered, the Yaw Rate Gyroscope becomes illuminated by a bright green light, which can be seen next to the "PWR" marking.
In , the Yaw Rate Gyroscope returns the angle of rotation in degrees. However, in , the Yaw Rate Gyroscope returns the angle of rotation in decidegrees (tenths of a degree). This means that rather than receiving a reading of 360 degrees, it will return 3600 decidegrees instead. Additionally, the sensor measures heading from -3600 decidegrees to 3600 decidegrees. This differs from how the works when measuring heading, since it only has a range from 0 degrees to 360 degrees.
The VEX Yaw Rate Gyroscope is highly vulnerable to and should be shielded or placed far from . All gyroscopes must be placed at the robot's center of rotation for optimal results. Dynamic calibration is therefore a must before each run.
(Purdue SIGBots)
(B.E.S.T.I.E. Robotics)
The VEX V5 Optical Sensor is used to determine the color of an object and has secondary function to determine the relative motion of an object
The VEX V5 Optical Sensor can be used to determine the color of an object or to detect gestures. It connects to the through a Smart Port located at the top of the sensor.
The Optical Sensor possesses the ability to take in light and, based on this, determine the color of an object. It also utilizes infrared light, reflecting it off of an object in front of it to determine the proximity and directional movement of the object. Its color detecting feature works best if the object is closer than 100mm. One especially useful feature of the sensor is that it possesses a programmable white LED light. The LED can assist in occluding ambient lighting in order to minimize the amount of calibration needed for the sensor in preparation for a tournament, since lighting will vary drastically in different venues. Additionally, this LED functions with analog inputs, meaning users can set the brightness percentage of the LED from 0 - 100%.
When programming, the most ideal way to determine the color of an object using this sensor is to utilize its hue readings. While it is possible to obtain the RGB color of the object, it might be too difficult to discern what color the object might be because you have three values, all of which are additive towards each other, to interpret.
The Limit Switch is a sensor that returns a value when it is pressed.
The limit switch is also a digital sensor (returning 1 or 0) and acts very similarly to the . When the little metal lever is up, as in the photo above, it returns a value of 1, when the little metal lever is depressed, it gives a value of 0.
Like the bumper switch, the limit switch is also easy to use and quite reliable, but fragile (otherwise known as βflimsyβ). You donβt want to put this sensor in a place where it can get entangled with other robots or on a robot appendage that will hit things hard. If you did, youβd probably have to replace this sensor at the end of every match.
This sensor requires only a tiny amount of force to trigger it, as compared to the bump switch.
The Line Tracker can track "lines" and other objects using infrared LEDs
The Line Tracker is an analog sensor consisting of an infrared LED and an infrared light sensor. It has a single mounting hole and is designed to be mounted under the chassis of a robot. The Line Tracker allows a robot to follow a pre-marked path.
The Line Tracker functions by illuminating a surface with its infrared light LED and then the infrared light sensor measures the reflected infrared radiation. Based on the reflected radiationβs intensity, the Line Tracker can determine how light or dark the surface is below the sensor.
Lightly colored surfaces will reflect more infrared light than dark surfaces and will appear brighter to the sensor. This allows the sensor to detect a dark line on a pale surface, or a pale line on a dark surface.
The Line Tracker is an analog sensor which means the infrared sensor will return a value anywhere between 0v and 5v of voltage to the V5 Brain depending on the reflected infrared radiation. The V5 Brain then converts this value to a percentage of reflectivity. This type of measurement requires an adequate threshold of difference between the shades of reflectivity in order to successfully follow a line.
For example, the Line Tracker will not follow a strip of black electrical tape placed on the dark gray VEX Competition Field Tiles because the sensor will return percentages of reflection too close together for a threshold of difference. However, a strip of white electrical tape on the VEX Competition Field Tiles will provide a large difference in values and an adequate threshold for the robot to track the tape.
The measurement component of the sensor is comprised of a Hall Effect sensor that measures the magnetic field of 2 magnets to track the absolute angle ([0,36000)) of the rotation sensor. The angle resets every full rotation of the rotation sensor. A chip inside the rotation sensor (a Cortex M0+) then keeps track of the total rotations which acts as the relative position measurement, which does not reset every rotation.
Since the rotation sensor angle (get_angle) is absolute, as it's based on the magnetic field generated, the angular position of the shaft will not reset when it loses power. However, since the chip loses power the position (get_position), which is relative, of the rotation sensor is not tracked and it resets to zero every time the sensor is turned on.
Alyssa Agarie (Former VEX Competitor)
BLRS (Purdue SIGBots)


Hue is determined based on a color wheel. However, because this color wheel is a circle, there can be 360 degrees marked for each different color on the color wheel. This means that whenever you are programming, the sensor will return values in degrees with a range from 0 - 360, meaning a hue of between 350 and 10 is red. Because the range of colors is so large, it's better and simpler to be able to have a range of colors via hue to account for any ambient lighting differences that may change the hue readings.
There are a few minor differences for the Optical Sensor's API in VEXcode and PROS. VEXcode allows the user to directly determine the color of an object, a feature which is not present in PROS. Of course, both programs still allow the user to obtain the hue and RGB value of the object. Unlike VEXcode, PROS is able to return the saturation of an object. Combined with brightness, it's entirely possible that PROS users could create an HSV value from this if necessary. PROS is also exclusively able to obtain an analog proximity reading from 0 - 255 (low values represent an object that's far, high values represent an object that's close) whereas VEXcode only tells whether an object is near the sensor or not.

BLRS (Purdue SIGBots)
BLRS (Purdue SIGBots)
The VEX V5 GPS Sensor is a next step for getting robot position data with the VEX ecosystem. The sensor does have some confusion amongst the community.
The name "GPS" can be misleading. It is not like the Global Positioning System, which uses time-of-flight from many known points(satellites) to determine position. The VEX GPS uses a QR-like system to develop unique patterns at different locations around the field. An onboard camera in the sensor can then determine position based on the sequence shown, and the relative size of the sequence.
Second, the GPS is not a "learning failure" for robot positioning. Many in the community have wrongly assumed that this is not preparing students for a university education or a workforce position. Wheel/Encoder-based Odometry is not being widely used anymore, instead a QR based location system is being preferred as it is cheaper and does not have the potential for drift error. While the mathematical foundation of Wheel/Encoder-based Odometry is still important, the VEX GPS allows students and educators to work with modern equipment to determine robot position.
β
The GPS contains a camera and an integrated as well as a camera to determine location. The IMU uses gyroscopic movement to track position, which is then cross referenced with the GPS's camera that tracks the wall strip around the field, by the corners of the black squares on the strip.
More information about this algorithm can be found on this patent document .
The VEX GPS sensor is remarkably simple to install and operate, Just make sure that the sensor is vertically on the same plane as the field strips, or roughly 10.5 inches off of the ground, and initial position values on field and offset values from center of rotation on robot are set correctly. The sensor's position, heading, total degrees rotated throughout the match can be then retrieved from it via whatever API the programming platform used provides.
Robot Position is the most fundamental data to use for autonomy, check out the to learn how to use this data effectively, and to see what type of algorithms this sensor abstracts.
Unfortunately, like all camera-based sensing, there is an effective range for the VEX GPS. The measured deadzone is shown to end at approximately 13.5 inches away from the wall. The signal also does not become clear until approximately 20 inches away from the wall. There is an onboard IMU to help with the deadzone and inconsistent read areas, but the accuracy is limited outside of the effective range. The end of the range is beyond 12 feet and is not an issue within the VEX field.
Purdue SIGBots (BLRS)
MTBR
The VEX Ultrasonic Range Finder helps determine how far away an object is.
The VEX Ultrasonic Range Finder, or simply the VEX Sonar, is a rangefinding device which uses pulses of high-frequency sound to estimate the distance to an object. It connects to the VEX Cortex or V5 Brain using two digital ports; one port to send a sound wave, and the other to receive it. The sensor runs continuously as long as it is being powered, meaning that even if no software is requesting the sensor's distance reading, it is still active. When the sensor is active, a faint and rapid ticking noise can be heard from the sensor.
In VEXcode, the Ultrasonic Range Finder returns the distance in the unit of measure that the programmer chooses, since unit of measure is a parameter necessary to get the distance. However, in PROS, the Ultrasonic Range Finder returns the distance specifically in centimeters. The sensor's distance range is between 3cm and 300cm. According to the VEX Robotics website, the sensor is sensitive enough to detect a pole with a diameter of 3cm at a distance greater than 2m.
Sound travels very slowly compared to the speed of a microprocessor clock. As such, distance is estimated by sending a 40kHz wave of sound lasting 250 microseconds via the ''OUTPUT'' signal. A change in the "INPUT" signal from high to low indicates that the wave has returned to the sensor. The equation for the Ultrasonic Range Finder's distance reading is where "d" represents the distance between the sensor and the object found, "t" represents the time it took for the sound wave to return to the sensor, and 171.5 is half the speed of sound in meters per second.
Soft or rounded objects do not reflect sound as well and can confuse or elude the VEX Ultrasonic Range Finder. Using more than one VEX Ultrasonic Range Finder at a time can also cause interference.
(Purdue SIGBots)
(B.E.S.T.I.E. Robotics)
The VEX V5 Distance Sensor measures the distance between the sensor and an object using a small laser.
The V5 Distance Sensor is a rangefinder which uses a Class 1 Laser reflecting off of an object to determine distance. It connects to the V5 Brain through a Smart Port on the top of the sensor.
The Distance Sensor can return three types of data: the distance between the sensor and an object, the object's size, and the object's approach velocity. In PROS, the Distance Sensor can additionally return a "confidence" reading, which rates how accurate the distance returned from the sensor actually is on a scale from 0 - 63.
The range of the Distance Sensor's readings is between 20mm and 2,000mm. However, under optimal conditions, the Distance Sensor can push past the 2,000mm limit, occasionally reaching distances up to 2,100mm.
In order to measure the distance between an object and the sensor, the Distance Sensor's laser uses a method called "time of flight". An internal clock measures the time at which the laser is sent out, and the time at which the light receptor (also inside the sensor) receives the laser. The equation for time of flight is where "d" is the distance reading in meters and "t" is the time it takes for the laser to hit the light receptor in seconds. The accuracy of this sensor is limited, as it has around a 5% accuracy beyond 200 mm, and a +/- 15mm error with distances closer than 200mm meters.
The velocity of an object in relation to the sensor is calculated by taking the delta value of the distance divided by a small period of time.
MTBR (Michigan Task Based Robotics)
(B.E.S.T.I.E. Robotics)
The Inertial Sensor is a combination of an Accelerometer and Gyroscope.
The V5 Inertial Sensor is a combination of a 3-axis (X, Y, and Z) and a 3-axis . The accelerometer will detect a change in motion (acceleration) in any direction and the electronically maintains a reference position so it can measure a rotational change of position in any direction against this reference. A detection of a change in motion can help decrease the chance of a robot falling over when it is driving or while it is climbing over an obstacle.
The housing of this sensor has a single mounting hole which allows it to be easily mounted to the robotβs structure. In addition, there is a small indentation in front of the mounting hole which marks the sensorβs reference point. On the bottom of the housing, there is a round boss which is sized to be inserted into a square hole of a piece of structural metal. This will keep the sensor fixed to its attachment point. On the back of the sensor housing is a V5 Smart Port.
Both the portion and the portion of this sensor produce a smart signal feedback to the V5 Brain.
The accelerometer measures how fast the sensor changes its motion (accelerates) along the X-axis, the Y-axis, and/or the Z-axis. These axis are determined by the orientation of the Inertial sensor. For example, one orientation could have a robotβs X-axis as its forward and backward motion, its Y-axis as its side to side motion, and its Z-axis as its up and down motion (such as the robot lifting itself up off the field on a suspension pole).
The accelerometer measures a change in motion when its internal electronics detect a change in inertia and this creates a change in its reading. The faster the change in motion the more the reading changes. Note: This may be a larger positive value or a larger negative value depending on the direction of the motion along the axis.
Acceleration is measured in gβs (unit of gravitational acceleration). The maximum measurement limit for the accelerometer portion of the Inertial Sensor is up to 4g. This is more than enough to measure and control most robot behaviors.
The gyroscope, rather than measuring linear motion along the 3 axis, measures the rotational motion around the 3 axis. The sensor measures this rotation when the internal electronics create a fixed reference point. As the sensor rotates away from this reference point it changes the output signal.
It takes a short period of time for a gyroscope to establish its reference point (calibration). This is commonly called the initialization or startup time. (Note: It is recommended using 2 seconds for a calibration time or start the sensorβs calibration within the pre-auton portion of the competition template. When using the sensor within the VEXcode V5 Blocks/Text drivetrain functions, the calibration is included within the function.)
An electronic gyroscope also has a maximum rate of rotation. That is, if the object the sensor is measuring is spinning faster than the gyroscope can measure its rotation, the sensor will return incorrect readings. The maximum rotation rate for the Inertial Sensor is up to 1000 degrees/second. Once again, this is more than enough to measure and control all but extreme robot behaviors.
BLRS (Purdue SIGBots)





Use up to eight more 3-wire ports with the V5 3-Wire Expander.
The VEX V5 3-Wire Expander is an electronic that acts as a method to provide eight additional 3-wire ports while only using one V5 port on the Brain. This is useful when all eight 3-wire ports on the V5 Brain are already occupied, but more ADI sensors need to be used.
The 3-Wire Expander can be attached to the robot via the attachment hole as well as the 0.05" long plastic peg on the bottom of the casing. The casing has very similar dimensions to the V5 Rotation Sensor, meaning a 1" screw and nut should suffice for securing it.
On the V5 Brain's "devices" UI, the 3-Wire Expander behaves exactly as the native 3-wire ports menu, showing inputs and outputs on ports A-H.
In , a 3-Wire Expander is configured in conjunction with the devices that are plugged in. This means that the is used like normal, but the device being initiated will include an array of the smart port number of the 3-Wire Expander, then the 3-wire port letter being used on the 3-Wire Expander. For example, passing the parameters {{1, "A"}} will configure a device plugged into port A of the 3-Wire Expander that is plugged into port 1 of the V5 Brain.
In , the 3-Wire Expander is configured as a "source" for 3-wire ports to be recognized. This means that when a 3-wire device is configured, it will prompt you to select whether the 3-wire port is plugged into the brain or the recently configured 3-Wire Expander.
While the 3-Wire Expander practically provides no additional behavior compared to the basic 3-wire ports on the brain, it has been noted that the 3-Wire Expander is especially susceptible to electrostatic discharge, seemingly . Interestingly enough, it is more likely that the V5 port on the 3-Wire Expander will be rendered broken rather than the ports on the Brain. This is different from how V5 electronics typically behave, in which the Brain's ports usually face permanent damage before the electronic plugged into it would.
(Purdue SIGBots)

The Vision Sensor tells you where colored objects are located.
At its most basic mode, the Vision Sensor tells you where a colored object is located. The location's X value represents the right and left position. When the camera is tilted down, the Y value represents the distance to the object, with some basic trigonometry necessary.
The Vision Sensor combines a dual ARM Cortex M4+M0 processor, color camera, WiFi, and USB into a single sensor. The sensor can be trained to locate objects by color. Every 200 milliseconds, the camera provides a list of the object found matching up to eight unique colors. The objectβs height, width, and location is provided. Multi-colored objects can also be programmed, allowing color codes to provide new information to the robot. Color-codes can represent anything, including location, object type, street signs, movement instructions, robot identifiers, etc. The Vision Sensor has USB for a direct connection to your computer. The Vision Sensor also has WiFi Direct and acts like a web server. This allows you to wirelessly view βliveβ video from any computer equipped with a browser and WiFi.





V5 Vision Sensor
Vision Framerate
50 Frames per second
Color Signatures
7 independent colors
Color Codes
2 3 or 4 color signatures per color code
Image Size
640 x 400 pixels
Microcontroller
Dual ARM Cortex M4 and M0
The Vision Utility is the primary tool used to calibrate the Vision Sensor such that it will be able to locate objects of a particular color. The user-calibrated color that the Vision Sensor tries to locate is known as a "signature". The Vision Sensor can store seven signatures total. To use the Vision Utility, the Vision Sensor must be plugged into a computer via a mini-USB cable. Then, after opening the Vision Utility, the sensor's camera should become active, and should relay the video feed to the Vision Utility window.
To generate a color signature, freeze the on-screen image. Then, hold down the left mouse button to create a rectangular area to cover. The area covered will represent the color signature. After releasing the left mouse button, the area will be set. From there, the "set" button can be pressed on the right of the window for any of the seven signatures. This will generate a signature in the given signature slot. These steps can be repeated to generate as many color signatures as possible.
Pressing the blue copy button on the bottom right of the window will copy all of the signatures in VEXcode syntax. This means that the signatures will be competition-ready as soon as it is pasted into VEXcode. In terms of PROS, the VEXcode syntax copied from the Vision Utility will not function on its own, but the signatures can be properly generated using the "signature_from_utility" method.

Connectivity
V5 Smart Port IQ Smart Port USB Micro
Wireless
2.4 GHz 802.11 Wi-Fi Direct hotspot with built in webserver
Compatibility
Any device with WiFi and a Browser
Weight
0.77lbs (350g)








