What is known of the new MINDSTORMS EV3 capabilities when it comes to netwoked functions. What type of interface can be plugged to interact with a PC or portable device (smartphone/tablet)?

In term of interconnection (WiFi/bluetooth) and in term of protocols available what are the options?

Are there any libs (C/C++) which are already available and compatible with the brick?

3 Answers 3


The Mindstorms EV3 brick uses Bluetooth 2.1EDR. What protocol they use on top of that is still unknown, but will probably be released publicly by LEGO at some point. It's likely some compatibility with the NXT is possible (that is, an EV3 and a NXT bricks should be able to communicate together), but this is pure speculation and I doubt they just reuse the exact same protocol without at least expanding it.

For USB, apparently the regular USB port is 2.0, but there's also a host USB port which, according to the previous link, is only 1.1 (which seems strange to me, and the official PDF product sheet for the EV3 brick specifically mentions "USB 2.0 host enabling brick daisy chaining, wifi communication, and USB memory sticks") and can be used to daisy-chain up to 4 devices. The very fact they state a limitation hints that their software itself has this limitation, as I don't see any hardware reason to do so. This means that with an alternate firmware, you can probably do more.

WiFi is only possible using a WiFi dongle connected to the USB port, which seems to be allowed. If the host port is really 1.1, that may limit the speed to 12MBit/s. You can find its PDF product sheet here which says:

The EV3 Wi-Fi Dongle fits with the LEGO® MINDSTORMS® EV3 platform and uses wireless communication. It plugs into the USB host port of the EV3 Intelligent Brick and provides wireless communication with a computer. A wireless access point is required between the LEGO EV3 Intelligent Brick and any Wi-Fi -enabled computer as well as your Apple or Android device. All you need to do is set up the connection inside the software and you’re ready to go!

Also, considering the OS is linux-based (on an ARM9 processor), and considering LEGO's history of letting people hack Mindstorms in any way they can think of... there'll probably a lot of other possibilities (USB Ethernet, for example).

APIs and/or libraries aren't available yet, and probably won't be until the kit is released, but it seems there'll be at least an official iPhone & Android app to control all robots you can make with the kit.

  • 2
    WiFi Dongle? Great!
    – Coyote
    Commented Jan 9, 2013 at 9:13
  • Yes, I updated with a link to its product sheet
    – Joubarc
    Commented Jan 9, 2013 at 10:24
  • As I understand it, the existing NXT can't be controlled from iOS Apps, as Apple doesn't allow pairing with untrusted devices. Given that Lego have said it'll be possible to control the EV3 from an iOS, we can presume they've solved this. However does this also mean that third-party (non-Lego) apps will be able to communicate with the EV3 too? Commented Jan 9, 2013 at 15:48
  • I didn't know about that restriction from Apple - what do they mean by "non-trusted devices" in this context? It it's a matter of approval process, maybe LEGO did the necessary paperwork this time - they do have some iOS apps, so I guess their relation with Apple isn't too bad
    – Joubarc
    Commented Jan 9, 2013 at 17:58

The new EV3 Intelligent Brick has the following announced features:

  • IR sensor
  • Bluetooth connectivity*
  • SD Card Slot
  • USB Port
  • Linux-based firmware
  • Full iOS and Android compatibility out of the box

In terms of libraries for connecting with it - if it's based on a standard core, then I would assume that a standard bluetooth stack should be able to communicate with it, but unless it's based around an arduino core we will need to wait until full specs are released before the libraries catch up.

* Assumed based on current NXT feature-set and connectivity for phones.


A bit late but well:

For source code you can check out https://github.com/mindboards/ev3sources

The EV3 comes with:

  • Bluetooth, two protocols on top of it, one used by the iPhone App and the other is RFCOMM with application data the same as over USB and TCP.
  • USB: over HID

  • TCP: Device uses UDP broadcasts to announce itself and can then be contacted over TCP.

You can plugin a WLAN Dongle into the USB Port or a USB-Ethernet adapter. It was the case that only a particular Netgear dongle was supported. Don't know if that has changed.

Protocol spoken is specified by this manual.

ev3duder, which I wrote as part of c4ev3, tries to detect an EV3 and can send system commands (e.g. Uploading/Downloading) or open a persistent tunnel which you can use to tunnel your own direct commands (check out moveEv3.pl for an example).

If you want to send stuff over USB, you got the ~/dev/lms_usb device file. For WiFi, just open a socket and do your stuff. Bluetooth I can't recall, unfortunately. Check out ev3duder's source for specifics if you don't want to use it directly.

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.