Home / Robots / EV3 / EV3: Creating a Console Cable

EV3: Creating a Console Cable

As some of you know, the EV3 runs a stripped down version of the Angstrom Linux distribution. The cool thing is that the kernel has been configured to output diagnostics data to the first sensor port (S1).  You can easily access this data by using a USB to serial converter.  You can make one yourself or if you’re not that good with soldering or hacking cables, you can wait another week or so and buy a pre-made console adapter from Mindsensors.

There is a mistake in this tutorial!  You should use the red wire instead of the black wire as ground.  If you don’t do this, then the cable may not work very well (or at all).

What you’ll need

  • An NXT or EV3 cable you don’t mind seeing get hurt
  • A cable cutter
  • A soldering iron
  • Soldering tin
  • A wire stripper or small knife
  • A USB to UART bridge dongle.  I am using the Prop Plug, since I had a couple of them already. Sparkfun sells them as well, as well as many other manufacturers. Make sure you’re using a 3V version, not 5.
  • 4 pin-long single row header

Step 1: Preparing the cable

CIMG3172 CIMG3173 CIMG3177
Cut the cable. I prefer to take a long cable and cutting it in half, so I have another decent cable that I can use for something else (or another console converter cable) Strip about 1.5-2cm of the outer casing off.  This part is a total pain, be patient and be careful not to damage the small wires in the process. I used a very sharp knife for this. It’s good to have a band-aid handy. Snip off the green, red and white wires, so they’re not in the way and strip about 3-4mm off the blue, yellow and black red wires

Step 2: Soldering it together:

CIMG3178 CIMG3179 CIMG3182
Before soldering the wires to the headers, it helps to tin them up a bit.  This also stops them from fraying in the process of trying to get them soldered onto the header. If you’re not sure how to do that, you can watch a video here: [LINK]. Carefully solder the wires onto the 4 pin header.  It helps if you have one of those 3rd hands to hold it in place. I used a female header socket to hold the pins in place. This prevents them from moving around when they get hot. Remove the female header.  I also pulled out the unused pin since I am not using the reset functionality of my USB to UART converter.

Note!

It is important that the yellow wire is hooked up to RX and that the blue wire is hooked up to TX.  If you don’t you’ll either get complete gibberish on the terminal window, or worse, break something.  The black red wire is connected to the ground (VSS) pin.  Please note that this is the pinout for the Prop Plug, if you’re using another make/model, please ensure you’re connecting the right wires to the right pin:

  • Yellow: RX (receive)
  • Blue: TX (transmit)
  • Black: VSS (ground)  This should be the red wire instead.

Step3: Testing your setup

Now that you’ve made a dongle, it’s time to test it out.  Connect the USB dongle to your laptop or computer and make a note of the COM port.  In my case it was COM4. Connect the NXT cable side to the 1st sensor port on the EV3.

Finished console cable

Lucky for me, nothing blew up when I hooked up my converter cable to the computer and EV3.

EV3 console cableEV3 console output

I used PuTTY to connect to the EV3. You’ll have to configure it for 115200 baud, 8N1.  It is important to note that once the VM starts, you won’t be able to interact with the EV3 anymore.  That’s because the EV3 VM now expects there to be a sensor attached to that port.

Within a few days I hope to have an SD card bootable image online for you to play with so you can play around on the EV3 without the need for the LEGO VM.  Until then, happy soldering.

About Xander

Xander Soldaat is a Software Engineer and former Infrastructure Architect. He loves building and programming robots. He recently had the opportunity to turn his robotics hobby into his profession and has started working for Robomatter, the makers of ROBOTC and Robot Virtual Words.