New IRLink IRBeacon Block

The HiTechnic IRLink is two-way IR communications sensor.  This sensor can be used to communicate with a LEGO RCX or to control LEGO Power Functions motors via a LEGO Power Functions receiver.  With the new IRLink IRBeacon block it can also be used to create an infrared beacon signal for the IRSeekerV2.  This block lets you choose between sending a 600Hz or a 1200Hz signal which can then be detected by an IRSeekerV2 sensor to determine the direction to the IR source.  You can use it on one robot to have another robot follow it.  This block can be used by itself as a one block program or it can be used in a loop and you can control when you want the block to be active or not.

Update (Nov 2011): Now also available as a LabVIEW 2009 VI.  This VI should also work with LV2010/LabVIEW  for LEGO Mindstorms


HiTechnic IRLink IRBeacon Block for LEGO Mindstorms NXT

 HiTechnic IRLink IRBeacon VI for LabVIEW 2009

Yesterday I had a customer who called and said they had purchased the IRLink and the IRSeeker V2.  Their goal was to make a robot that used the IRSeeker V2 follow an IRLink sensor connected to another NXT that they held in their hand.  The idea was brilliant except that to make the IRLink produce a good signal for the IRSeeker V2 is not trivial. 

It turns out that the IRLink, which is a two-way IR communications sensor, requires fairly low-level programming in order to create an arbitrary signal.  It is easy to use the IRLink to control things like LEGO Power Functions motors or to send messages to an RCX because NXT-G blocks for that purpose, or API calls in NXC or other languages, are readily available.  The problem was that there was no easy way to make the IRLink produce the 1200Hz (or 600Hz) pulsed signal for the IRSeekerV2 is tuned to look for. 

Introducing the IRLink IRBeacon Block. 


This block makes the IRLink produce a pulsed signal that is detectable by the IRSeeker V2.  The block lets you choose between 1200Hz or 600Hz which are the two modes that the IRSeekerV2 can be set to detect.  The block also lets you select the option Send Forever which makes it possible to use this block as a one block program.  When Send Forever is set, the block does not return and send the signal continuously.  If you want to control the signal to start or stop or to change it between 1200 and 600Hz, then uncheck Send Forever and put the block in a loop.  When not check, the block will send the pulsed signal for about 50ms at a time.

How will you use the block?  Perhaps make one robot follow another.  The leader robot can have the IRLink running this block and then the follower robot can use the IRSeekerV2 to keep track of the location to follow along.

Note regarding IRLink signal strength

The IRLink is not nearly as powerful as the HiTechnic Infrared Ball or the Infrared Beacon that was sold to FTC teams in the past.  One reason is that the amount of power that is available on an NXT sensor port is limited, and, as a result, the amount of power that can be used by the IR LED in the sensor.  Under certain conditions this range can be improved but it depends on how the NXT is used and what other sensors you have connected to the NXT.  If signal strength from the IRLink is a problem for your project, please let me know and I will send you information about a possible solution.

After sending the early version of the block to the customer I received this message:

Thank you for all your help! It works now!


You are welcome!


Tags: , , , ,

6 Responses to “New IRLink IRBeacon Block”

  1. Noah says:

    Thank you for this! Do you happen to have this block available as a labview VI? :)

  2. Gus says:

    I have just uploaded a LabVIEW 2009 version of the IRLink IRBeacon. This VI should also work with the newer LV2010/LabVIEW for LEGO Mindstorms. Included with the download is a demonstration program that uses the IRSeeker sensor to detect the signal from the IRLink.

  3. Mark says:

    Hi Gus,
    I was wondering if any NXC code exits for the irlink sensor. I want to use the NXT to read data from the rcx tower.

  4. Gus says:

    Xander Soldaat has written a tutorial on programming the IRLink with examples in both NXC and RobotC. That is a good place to start.
    He has included a sample program to send a message over IR. I think what you are looking for is a way to receive a message which I’m sure can be done but I’m not sure if anyone has published such a solution.

  5. Mark says:

    Thanks Gus!

Leave a Reply