LEGO® Answers is a question and answer site for LEGO® and building block enthusiasts. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question
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? – Joshua Drake Jun 1 '12 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." – Joshua Drake Jun 1 '12 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 Jun 2 '12 at 19:11
@JoshuaDrake Exactly, and that is what I was hoping to find help with by posting this question. – mcqwerty Jun 2 '12 at 19:13
You may have better luck over on – Joshua Drake Jun 4 '12 at 12:59

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.

share|improve this answer
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 Jun 4 '12 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 – Joubarc Jun 5 '12 at 9:38
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 Sep 7 '12 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.

share|improve this answer
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 Jan 15 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 Jan 16 at 22:51

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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