Connecting the NXT to the EV3: use the NXT as remote control for the EV3

In the post of November 11, 2013 (yes, that is quite some time ago) I announced the beta release of the application NXT to EV3 Connection Hub. This application makes it possible to use the NXT as remote control for the EV3.

When the EV3 was introduced, I assumed that it would be possible to send messages across the two bricks. It is not a strange assumption. Both bricks have bluetooth on board. So, I thought: connect the two bricks and you will be able to send messages back and forth.

Sending message from NXT to EV3For some reason (I can’t imagine a good reason for not implementing this), the Lego Company decided not to support this possibility. So I wrote a simple application in Microsoft.NET ( C#) that does the conversion of the two different protocols. Not that hard, but you will always need a PC to connect the two bricks. In the future, I might port the software to a smaller device or even better, for a smartphone.

The application connects via Bluetooth to the two bricks (the PC is therefor the master). Then, you can setup 10 channels to communicate between the two bricks. Each channel can have a different type: string, number or boolean.

So, you can connect mailbox 1 (always choose connection 0, don’t forget: the PC is the master) to 10 on the NXT brick to a mailbox.  The EV3 mailboxes should be named M1 to M10, you need to enter these names yourselves. By this means, you can send commands from the NXT to the EV3. In the demo program below, the NXT brick has one touch sensor connected and one motor. If you press the NXT touch sensor, the EV3 display is colored green. And if you rotate the NXT motor, the EV3 motor rotates with the same number of degrees.

The NXT program looks like this:
NXT to EV3 Connection Hub - NXT program

And the EV3 program:

NXT to EV3 Connection Hub - EV3 program

The first mailbox is of type String and the second of type Number. The NXT is at my computer connected to port COM5 and the EV3 to port COM6, but this will be different on each computer. At a Windows computer, you will have to connect the bricks via Control Panel > Devices and Printers > Add a device. Please make sure that you have the Bluetooth turned on at the bricks. The EV3 brick should run the Home Edition firmware, for some strange reason this does not work with the Education version.

When you run the application, first connect the two bricks. And then select the two types of the mailboxes and tick the toggle boxes. The screen will look like follows:

NXT to EV3 Connection HubThis should do the trick.

The application is unfortunately still not available. I simply do not have the time to make it more stable, test it on different platforms and to create a setup. But if you have Visual Studio, you can have the source code. Just drop me an email and I will send you a Dropbox link.


35 thoughts on “Connecting the NXT to the EV3: use the NXT as remote control for the EV3

  1. Hi, I’m working on a robotic hand project. It consists of two motors. The master motor is connected to the user’s hand, once the user moves his hand, the movement (after some calculation) is passed to the slave motor. I’ve finished my project but it has too many wires and it makes the movement pretty uncomfortable. Thus, I’m looking for a way to do some bluetooth connection between an NXT brick and an EV3 brick.
    Do you think it is possible to be done using your software? If so, can you please help me to establish this? I only have 3 lab hours per week!
    I’m being optimist (Or desperate) and providing a link to my code.
    Thanks in advance..


    • Hi there,

      I do not have the time to look at your code, sorry for that. Of course it is possible to connect the NXT and the EV3 with my application, as long as you keep in mind that you always need a PC nearby to run it.

      I will send you a Dropbox link to my code.

      Best, Hans

  2. I have two NXT’s and I am a bit dissapointed that Lego decided not to make this compatible… Well maybe someone in the scene is able to create an upgrade for the NXT firmware or a compatiblity option for the EV3 in some alternate firmware in the near future.
    Meanwhile, could you send me a link to your sourcecode..

  3. Hello Hans,
    May I have the link to the source code? My robotics team is researching about a swerve-drive system out of LEGO and we need to use both NXTs and EV3s together to make it work. Thanks for the help!

  4. Hi, I’m just doing the same thing by monobrick like this, but it’s not work fine for me. Could you send me the link or some advice?

  5. Hi Hans,

    just saw your amazing youtube-video. Absolutely great!!

    Could you please send me the source-code, too?

    Thank you very much in advance!

  6. Hi Hans,

    Do you think your code could be adapted to create a custom send and receive blocks to run on the NXT and the EV3 bricks and eliminate the use of the PC?

    Thanks, Micahel Wong.

    • Dear Michael,

      Of course, that would be a great idea. But you’ll need to adapt the Labview code and I expect the firmware code running on the brick as well to be changed. I still don’t understand why Lego didn’t implement this in the first place. I assume that they don’t us want to connect NXT and EV3 …

      Hope this helps.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s