I need to control a car with an EV3 brick. I want to control it remotely. The trouble is, I'm using an education set so I don't have the remote. What means of controlling it remotely could I use? I already tried it with some Android phone apps but none of them worked quite right. It's a car that uses rack and pinion steering and the apps seemed to be better suited for skid steering. Is there some other way I could have remote control of it? Perhaps through a laptop or a Playstation controller or something else?

Any suggestions would be greatly appreciated.

  • 1
    In relation to both these questions, I'm guessing the main issue is the Rack and pinion nature of the steering - you really need to use a servo motor for the steering, where it only travels between a limited number of degrees, and can return to "home" when you release the control. Commented Nov 13, 2014 at 10:21
  • Do you really need an EV3? The RC car chassis is a fairly common LEGO construction, complete with an infrared remote. If you need it to be programmable, you can still stick an EV3 with its motors and sensors on top of the standalone car chassis.
    – zovits
    Commented Nov 19, 2014 at 7:37

7 Answers 7


There is always the .NET API for Windows 8/ if you don't mind programming an app yourself (this would work for Windows/Windows Phone 8). The sample provided would allow you to control the individual ports of the brick but it doesn't take much to change this to control multiple ports from one button press. https://github.com/BrianPeek/legoev3

Sadly this solution is probably no good if programming isn't your strong suite :/


Here are some ideas...

Hardware options:

Software options:


Here is a short curses [1] script written in Perl with which you can use the arrow keys on your usb/bluetooth/WLAN connected PC to control the EV3.

It uses ev3duder, part of c4ev3, to establish a connection to the device and then keep sending direct messages to the motors. That way you don't need to modify any software on the EV3.

[1]: Curses is a terminal control library for Unix and is only used to capture the arrows keys. Check Stackoverflow for other means to do so on your Platform.


You can use second EV3 block (of corse if you have one)

If you know a little bit of Mindstorms then you need to use a sending block (it's blue).

But here is the algorithm you need to make two programs the Master program and the Slave program. (One little secret: it will better work if will load the programs with the USB cable turn off Bluetuth on your computer).

Here is the skeleton of the Master programenter image description here

And here is the skeleton of the Slave programenter image description here

Here I am making a program where by a big A motor I am controlling the speed of my robot but you can add anything like gyroscope or touch sensor.

  • This sounds like a possible option. Would you be able to edit your answer to flesh out how this would be accomplished?
    – jncraton
    Commented Feb 24, 2017 at 18:47

It is possible to connect a Playstation controller (Sixaxis or DS3) directly to the EV3 brick over Bluetooth. Here is how I do it: http://www.pabr.org/bricks/brickhid/brickhid.en.html

There is a servo emulation mode which should support rack-and-pinion steering.

Note that this is a quick-and-dirty proof of concept with several limitations:

  • A PC is needed to upload and start a native program on the EV3 brick at every power-up.
  • A WiFi dongle must remain attached to the EV3 brick.
  • Joystick events are mapped to motor commands directly; they cannot be processed by EV3 programs (but you can customize and cross-compile the C source code).

The proper way to do this is with a custom firmware with full Bluetooth HID support.


I would definitely use bluetooth instead of wifi, i've tried the dongle but it doesn't operate very smoothly. If you are having trouble with the steering I would use different controls on the app. Also make sure to use the official app as I have not tinkered with other apps yet.


I have long sought such a program, eventually wrote it himself. The basis is - on the basis of EV3Messenger its added buttons and handling keyboard events. I can send the latest version

  • 1
    Welcome to Bricks.SE. Can you elaborate on your program - perhaps add a few representative lines that explain the concept, so that others can write their own version (of course providing a link to your own code is always allowed). That way, even if you cease to respond to people's requests for your code, the answer still has value.
    – Phil B.
    Commented Feb 23, 2017 at 11:47

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.