HiTechnic NXT IRSeeker V2 Sensor for LEGO Mindstorms NXT
Introduction
The NXT IRSeeker V2 (Version 2) is a multi-element infrared detector that detects infrared signals from sources such as the HiTechnic IRBall soccer ball, infrared remote controls and sunlight. It is perfect for robot soccer competitions.
The IRSeeker V2 operates in 2 selectable modes,
| Modulated (AC) Mode - The sensor will detect modulated IR signals such as those from the HiTechnic IRBall or some IR remote controls. In Modulated mode the sensor will filter out most other IR signals to decrease interference from lights and sunshine for example. The sensor is tuned to square wave signals at 1200Hz. |
Un-modulated (DC) Mode - The sensor will detect un-modulated IR signals such as older style IRBalls or sunlight. |
The IRSeeker V2 uses advanced digital signal processing techniques to filter the signals received and select only the signals required. A newly designed housing with a constant radius curved end cap increases directional peformance by minimizing distortion of light signals entering the sensor.

The IRSeeker direction values are shown here with 1 indicating the infrared target is left and behind, 5 if the target is directly ahead and 9 if the target is to the right and behind. A value of 0 is returned if no signal is detected.
Programming
Mindstorms NXT-G
All IRSeeker V2 functions can be accessed using the MINDSTORMS NXT-G programming block that can be downloaded from the download page.
IRSeeker Sensor Block
Display Settings

- The number shows which of your NXT's ports are connected to the IRSeekerV2. You can change this number in the configuration panel if you need to.
- The block's data hub will open automatically when the block is placed in the work area. At least one data wire must be dragged from the block's output plug to another block's data hub. (See the Data Hub section below for more information.)
Configuring the IRSeekerV2 Block

- Choose the port where your IRSeekerV2 is plugged in. By default, the block will be set to port 1 for an IRSeekerV2. You can change this selection if you need to.
- Chose the Mode. Two modes are available Modulated (AC) and Un-modulated (DC).
Modulated (AC) Mode - The sensor will detect modulated IR signals such as those from the HiTechnic IRBall or some IR remote controls. In Modulated mode the sensor will filter out most other IR signals to decrease interference from lights and sunshine for example. The sensor is tuned to square wave signals at 1200Hz.
Un-modulated (DC) Mode - The sensor will detect un-modulated IR signals such as the older style IRBall or sunlight.
IRSeekerV2 block Data Hub plugs
You must click on the Data Hub to open it as shown.

- This plug wires the number of the port that the IRSeekerV2 is connected to.
- This plug outputs the direction value.
- This plug selects the mode the sensor is operating in, 0 = Modulated Mode (AC), 2 = Un-modulated (DC) mode.
- This plug outputs the source detected logical value.
- This plug outputs the Channel 1 signal strength value.
- This plug outputs the Channel 2 signal strength value.
- This plug outputs the Channel 3 signal strength value.
- This plug outputs the Channel 4 signal strength value.
- This plug outputs the Channel 5 signal strength value.
The five strength values available make it possible to determine the approximate distance to the infrared source if it is of a known brightness. The five strength values come from five infrared sensors which are oriented to face in the 1, 3, 5, 7 and 9 directions. Internally, the sensor will interpolate the readings between these five primary directions to obtain the direction values 2, 4, 6 and 8.
So if you want to obtain the strength for each of the 9 directions, you should use;
| Direction | Strength Source |
| 1 | Channel 1 |
| 2 | Channel 1 and 2 |
| 3 | Channel 2 |
| 4 | Channel 2 and 3 |
| 5 | Channel 3 |
| 6 | Channel 3 and 4 |
| 7 | Channel 4 |
| 8 | Channel 4 and 5 |
| 9 | Channel 5 |
Notes:
-
Using infrared remote control as a signal source: Most remote controls will be detected by the IRSeekerV2 in AC mode but some remotes may not be detectable, depending on the signal generated. The IRSeekerV2 is tuned to detect a 1200Hz square wave.
-
The new IRSeeker requires the new V2 version NXT-G programming block that can be downloaded from the download section of our web site.
-
NXT Firmware version 1.05 or later must be loaded in the NXT for the IRSeeker V2 and other digital I2C sensors to operate correctly. You can check the firmware version by displaying the NXT Window in the Mindstorms software.
IRSeeker V2 Sensor Register Layout
Address | Type | Contents |
00 – 07H | chars | Sensor version number |
08 – 0FH | chars | Manufacturer |
10 – 17H | chars | Sensor type |
41H | byte | Mode |
42H | byte | DC Direction ( 0 - 9 ) |
43H | byte | Sensor 1 DC signal strength |
44H | byte | Sensor 2 DC signal strength |
45H | byte | Sensor 3 DC signal strength |
46H | byte | Sensor 4 DC signal strength |
47H | byte | Sensor 5 DC signal strength |
48H | byte | Sensor DC mean |
49H | byte | AC Direction Data (0 - 9) |
4AH | byte | Sensor 1 AC signal strength | 4BH | byte | Sensor 2 AC signal strength | 4CH | byte | Sensor 3 AC signal strength | 4DH | byte | Sensor 4 AC signal strength | 4EH | byte | Sensor 5 AC signal strength |
The I2C address of the IRSeeker V2 sensor is 0x10.
Other Programming Environments
NXC Programming
Current version of NXC include api functions for reading the HiTechnic IRSeeker V2. Functions include:
- SensorHTIRSeeker2DCDir
- SensorHTIRSeeker2ACDir
- SetHTIRSeeker2Mode
- ReadSensorHTIRSeeker2AC
- ReadSensorHTIRSeeker2DC
For a complete list of HiTechnic API supported by NXC, please refer to the HiTechnic API page of the online NXC Programmer's Guide.
//=====================================================================
// Sample Program to display the values from the
// HiTechnic IRSeeker V2
//
#define IRSEEKER IN_1
// Convenience macro that combines TextOut and NumOut
#define TextNumOut(xPos,yPos,str,col,num) TextOut(xPos,yPos,str); \
NumOut(xPos+6*col,yPos,num)
task main()
{
int dir, s1, s2, s3, s4, s5, result;
SetSensorLowspeed(IRSEEKER);
while(true) {
ReadSensorHTIRSeeker2AC(IRSEEKER, dir, s1, s2, s3, s4, s5);
TextNumOut(0, LCD_LINE3, "Dir: ",4,dir);
TextNumOut(6, LCD_LINE4, "S1: ",3,s1);
TextNumOut(6, LCD_LINE5, "S2: ",3,s2);
TextNumOut(6, LCD_LINE6, "S3: ",3,s3);
TextNumOut(6, LCD_LINE7, "S4: ",3,s4);
TextNumOut(6, LCD_LINE8, "S5: ",3,s5);
Wait(100);
}
}
RobotC
All IRSeeker V2 features are available in RobotC using the functions provided by the drivers pack available under RobotC below.
Downloads
| Description | Version | Release Date | Size | ||
| HiTechnic Enhanced IRSeekerV2 Block | 1.0 | June 14th, 2011 | 194.74 KB | Download Now |
| Description | Version | Release Date | Size | ||
| HiTechnic IRSeekerV2 Sensor Block for Mindstorms NXT Software | 1.0 | May 7th, 2009 | 176.46 KB | Download Now |
| Description | Version | Release Date | Size | ||
| Enhanced IRSeekerV2 Sample Programs | 1.0 | June 24th, 2011 | 211.33 KB | Download Now |
| Description | Version | Release Date | Size | ||
| Enhanced IRSeekerV2 Function | 1.0 | June 23rd, 2011 | 1.40 KB | Download Now |
| Description | Version | Release Date | Size | ||
| FTC Update For LabVIEW 2009 | 1.0 | October 6th, 2010 | 261.37 KB | Download Now |
| Description | Version | Release Date | Size | ||
| IR Seeker V2 Sensor VIs For LabVIEW2009 | 1.0 | October 7th, 2010 | 80.07 KB | Download Now |
| Description | Version | Release Date | Size | ||
| IRSeeker VI | 1.0 | April 2nd, 2009 | 47.82 KB | Download Now |
| Description | Version | Release Date | Size | ||
| HiTechnic IRSeeker Sensor Block (beta) | 2.0beta | June 14th, 2011 | 203.83 KB | Download Now |
New with v. 0.21: Gyro Sensor block now available with the other analog sensor blocks.
New with v. 0.20: Added support for the RPM value for Angle sensor. Split blocks into individual .ev3b files so you only need to import what you need. Worked around EV3 IIC U8 as I8 bug.
| Description | Version | Release Date | Size | ||
| HiTechnic EV3 I2C Blocks | 0.21 | February 7th, 2014 | 103.77 KB | Download Now |





