Infrared Proximity Sensor

The CKT-IRSENSE is an inexpensive reflective infrared proximity sensor, designed primarily for model railroad use, utilizing the latest in proximity sensor technology.  It can be used to trigger a variety of sound and visual effects as well as provide track occupancy status.  The sensor’s small size (0.25″ x 2.25″) makes installation simple with only a single 3/8″ hole required.  The technology used in the CKT-IRSENSE makes it highly tolerant of background lighting conditions, thus requiring no user adjustments.


  • Activate grade crossing signals
  • Trigger a sound event using a CKT-SQUEAL sound player
  • Simulating a spring switch using an MRServo switch machine
  • Block detection for signal systems
  • Occupancy detection on hidden tracks
  • End-of-track indication in hidden staging yards
  • C/MRI track occupancy inputs

How It Worksckt-irsense

At the top of the device are two small lenses – one emits a series of infrared pulses, which are then reflected by objects into the other lens, a receiver.  By measuring the intensity of the returned pulses, the sensor can detect the presence and distance to an object.

The device automatically compensates for background lighting, eliminating false triggers.

Electrical Connections

The CKT-IRSENSE needs 5-24 volts of clean direct current (DC) power to operate.   Two opposite polarity, open drain (also known as open collector) outputs are available with variable release times up to 20 seconds.  When the sensor is activated, one of the outputs shorts to GND while the other output is open.  When not activated, the outputs are in the opposite states.  Each output is capable of driving loads up to 250mA at 40V.  This allows interfacing to a wide range of devices such as logic level inputs, LEDs, and even directly driving relays.


Delay Times

The activation time is preset to 0.1 seconds.  The outputs will indicate that an object has been detected if the object is present over the sensor for 2 consecutive readings spaced 100ms apart.  This helps eliminate errant readings.  As a consequence of this, though, there will be a slight (0.1s) delay for an object being detected.  For most model railroad applications, this is not an issue.  If longer (or shorter) activation times are required, we can provide custom programmed devices.  Please contact us with your requirements.

The release time is preset to 0.1 seconds.  The outputs will indicate that an object is no longer detected if the object is not present over the sensor for 2 consecutive readings spaced 100ms apart.  This can be used to debounce the detector outputs to stop the outputs from toggling, for example, in the spaces between rolling stock as it travels over the sensor.

Longer release times are available by connecting a resistor between the yellow wire and ground (black wire).  See the user manual for details.

Sensing Distance

The CKT-IRSENSE is pre-calibrated to a typical detection range (~1.5”) and needs no user adjustment for most applications.  However, the detection distance will vary based on the reflectivity of the object being sensed.  If other ranges are needed, contact us for custom programmed devices.  The detection range can be adjusted from approximately 0.5” to 3”.


Installation is easy, requiring only a 3/8″ diameter hole below the track.  The sensor itself can be located between ties, making for a very discrete IR sensor solution.  To secure the sensor to the benchwork, a variety of methods can be used, ranging from hot glue to a mounting bracket.


Mounting Bracket

A simple mounting bracket can be made from a 1/4″ cable clamp (IDEAL 772835L works well), a 3/4″ inside corner brace, a #8 nut and bolt, and some double-sided tape.


To begin, place the CKT-IRSENSE PCB in the 1/4″ cable clamp.


Attach it to one leg of the corner brace using a #8 bolt and nut.


On the layout, place a piece of double sided tape where the corner brace will contact the bottom of the benchwork.  Carefully position the assembly inside the 3/8″ hole and check for alignment.  Make sure nothing obscures the lenses on top, such as ties or ballast.  With the corner brace pressed onto the double sided tape, this is a good time to temporarily connect power and make sure the sensor behaves as desired.


Once satisfied, attach it permanently to the benchwork with a screw through the corner brace.



  1. I’m happy there is am infrared detector out in the market place.
    Eventually, I want too move to a computer automated system.
    Do you provide instructions to interface with a computer I/O
    device to program with jmri or it’s equivalents. How do you interface with a PC. Thank you, Regards, Todd Bauer

    1. The CKT-IRSENSE is easy to interface to any computer I/O board. Both of the outputs on the CKT-IRSENSE provide an open-drain pull-down when activated. Pick the output that gives you the correct polarity for the application (pull down when the sensor is covered vs. pull down when uncovered). Since it is open-drain, a pull-up resistor will be needed. This is sometimes provided for you on the I/O board, but if not, simply connect a 10k resistor from the CKT-IRSENSE output being used to the logic supply of the I/O board (typically 5V). See the Logic Level Output application example in the CKT-IRSENSE user manual. If you can provide a part number for the I/O board you are planning to use, we can provide more precise information.

      As for interfacing with JMRI or similar, that’s entirely up to the I/O board being used. Since the CKT-IRSENSE simply provides a logic level output when it detects (or doesn’t detect) something, the particular I/O board determines the compatibility with JMRI.

    2. My QRD1114 sensors are connected to Arduino digital inputs. I’ve written scripts to detect rolling stock trucks and have had limited success with the Arduino performing uncoupling operations over Kadee permanent magnet uncouplers. I found I needed to paint a white stripe on the underside of each truck – but even then some trucks are too high over the rails to get detected. Next I was going to try to add a LM358N to get a digital signal when the white stripe is higher over the rails.

      I’m tempted by your circuit, but it seems to be more designed for train detection than truck detection. Could it be programmed for my application? Seems making the 0.1 timeout more like 0.01 might do the trick – but it would still detect the rail car between the trucks(?)

      1. Detecting trucks without also detecting the rolling stock underframe would be difficult. Since the sensor relies on reflection, the reflectivity of the surface affects the detection distance. Theoretically, you might be able to paint the underframes a very flat black and the trucks a highly reflective silver. Then, tune down the detection sensitivity (in the firmware). However, this would take some experimentation.

  2. Can the sensor power a “dead track” (in a mountain) to power locomotive A to come into view while locomotive B enters the mountain, enters the “dead track” and awaits A to pass the sensor, thereby achieving a repetitive process in my small diorama? Thank you, RGS

    1. The sensor cannot power track directly. However, it can drive a relay that could be used to selectively enable/disable power to a section of track.

  3. Can I have two or more sensors on the same track for Block detection ,and are your sensors compatible with Tomar signals ? Also, are activation relays required ?

    1. Yes, you can have as many sensors on the track as you wish. The outputs are open-drain, so they can be connected in parallel to get a wired-OR (or wired-AND) output of all the sensors. The sensors don’t require relays, but they can be used. See the example circuit in the user manual. The output of the sensor is very versatile, so it can be interfaced to many other systems on the market. Let us know your specific details and we can work with you on how to do it.

      1. Thanks for answering my questions, I will soon be purchasing at least one if not more block detection sensors for placement of my “work in in progress” HO freight yard.
        I’m just little concerned about the opening of light between the freight cars as the move across the sensor and how your time delay works to eliminate any false signaling. Darryl

        1. The outputs of the IR sensors respond almost immediately (with a small deglitch) to any object covering the sensor. However, once the sensor is uncovered, the outputs will wait the programmed delay time before releasing to the no-detect state. If, at any time during that delay, the sensor is again covered, the outputs will not release and the timer will start over again when finally uncovered.
          Another way of looking at it is that the sensor must remain uncovered for the entire delay time, otherwise the outputs will remain in the detect state. This is what lets the sensor ride through any gaps between cars without false toggling.

  4. I recently purchased a few of your ckt-irsense units to try and have a question.

    I wish to drive a relay switched by either of two ckt-irsense units. How do I connect the two in an OR configuration?

    1. Just connect the white or blue output wires (depending on which polarity you want) from both sensors together and use that to drive the relay. An example of this is shown in Figure 8 of the IIAB Manual.

  5. I have several ckt-IRSENSE and plan to use them for block detection.
    What interface do I need for the output of these units?

Leave a Reply

Your email address will not be published. Required fields are marked *