I have both an RCX and an NXT. I would like to control the RCX brick from the NXT (and possibly communicate back to to the NXT from the RCX). I would like to avoid purchasing the Mindsensors RCX to NXT Communication Adapter which is no longer available in their store, and instead control the RCX via inputs to one of it's sensor ports via outputs from an NXT sensor port.

The physical connection can be achieved with the NTX to RCX converter cable but I am unsure how to control the output from the NXT sensor port to emulate any of the sensors that the RCX can recognise.

I found this post on another forum asking a very similar question, but the people who responded don't seem to have understood OP's intent, it is however worth a look for the illustrations.

This then is really a question about programming the NXT to gain fine control over the output from a sensor port to emulate a RCX sensor and if it is even possible.

I am open to solutions in any programming language/environment.

  • 1
    Aside from the dynamic nature of NXT programming, is there anything in particular you were hoping to gain from this method of driving the RCX? Commented Jun 1, 2012 at 13:10
  • Captain Obvious Says: "You would need to simulate input that the RCX understands. That would likely entail having knowledge of all RCX compatible sensors at the level documented for the rotation sensor as linked from the forum thread that you linked." Commented Jun 1, 2012 at 13:14
  • @JoshuaDrake Aside from the fun of the challenge of getting it to work, I was hoping to gain the 3 extra motor outputs and 2 extra sensor inputs of the RCX for 'the price of' one NXT sensor input.
    – mcqwerty
    Commented Jun 2, 2012 at 19:11
  • @JoshuaDrake Exactly, and that is what I was hoping to find help with by posting this question.
    – mcqwerty
    Commented Jun 2, 2012 at 19:13
  • You may have better luck over on electronics.stackexchange.com Commented Jun 4, 2012 at 12:59

2 Answers 2


I think you're overlooking a very simple yet elegant solution: connect a NXT motor to the motor port (no problem there, that's what it's for), connect a RCX rotation sensor to the RCX (again, the intended purpose), and by now you should pretty much know where I'm going with this: connect the rotation sensor mechanically to the NXT motor.

Considering the NXT motor has a good precision, you can easily you this to send messages from the NXT to the RCX; but of course you'll need to invent the protocol yourself; that is, decide what these messages mean. And you won't have feedback from the RCX to the NXT (you didn't ask for it though)

I know you don't want to purchase anything, but for reference, there is now the IR Link Sensor made by HiTechnic and sold directly by LEGO, which is presumably easier to use (and you can get feedback through it, too).

I don't think you'll be able to use a converter cable directly; you'll need to use some intermediary electronic, possibly using the I2C protocol. This prototype board solution (also from HiTechnic) should do the trick if you use one of the outputs to drive the RCX input (you can probably use an analogue one).

And if it's more ports you're after, you'll want to consider their multiplexers too.

  • I had considered the option of using a motor output and purchasing a rotation sensor, but as I said, I was hoping to achieve the control of the RXC, (and possibly communicating back to the NXT) by connecting the sensor ports with a converter cable. I was hoping for tips on the programming of the NXT regarding simulating a sensor. As I mention in a comment on the question, trying to achieve control ‘sensor input to sensor input’ is partly for the fun of the challenge, but it looks like that is probably just not possible.
    – mcqwerty
    Commented Jun 4, 2012 at 21:37
  • I fear it's not possible with just the converter cable - since the output port of the NXT will output a voltage and the input port of the RCX will be looking for a resistance (and possibly outputting a voltage of its own which will probably be a problem). Or something. But then Joshua's right, this is more a question for electronics.se
    – Joubarc
    Commented Jun 5, 2012 at 9:38
  • 1
    Yet another not-quite-what-you-asked-for solution: make a NXT robot that will push buttons on the RCX. Or, better, on the RCX remote if you have one. Bonus points if your NXT robot resembles a hand.
    – Joubarc
    Commented Sep 7, 2012 at 6:49

I know this is 3 and a half years late, but I figured I'd throw in my two cents.

Attach an NXT light sensor and an RCX light sensor facing into each other. You can communicate bi-directionally by flashing the built-in LEDs.

On the RCX side, this can be accomplished by switching the sensor mode between touch sensor and light sensor to passivate or activate the LED. From the NXT, things should be simpler, and even the NXT-G software has the ability to turn on and off the LED.

  • Interesting idea. I like the fact that this would only tie up one of the sensor ports on each controller and leave all of the motor ports free.
    – mcqwerty
    Commented Jan 15, 2016 at 3:11
  • I've used the light sensor method successfully in several of my own projects, despite it not being a very fast form of communication (although it's much faster than the motor/rotation sensor combo). I thought about using one of the converter cables to make a direct connection, but I haven't been brave enough to try it, in fear of burning out some internal chip.
    – MindS1
    Commented Jan 16, 2016 at 22:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.