The
ev3dev
distribution is a full Debian 7 (wheezy) Linux distribution running on the 3.3.x kernel that has been customized for the LEGO MINDSTORMS EV3 controller. (huh?)
Rather than use custom language bindings that use direct access to mmap'ed files, this distribution aims to allow as many programming languages as possible to access the EV3 peripherals using simple Linux file access. If your favorite programming language is available as an ARM port, and it can read and write files, you can use it to program the EV3.
Currently the ev3dev
distribution includes the following languages:
ev3dev
supports standard apt
tools, so once you get up-and-running you can install whatever language you like.
And although you can directly access the APIs via file I/O if you want to, let's face it: that's hard. It's much easier when you have a higher-level library to use. Contributors have written language wrappers for the following languages:
Features above and beyond the official LEGO kernel include:
ev3dev
can do almost everything normal Linux can, while the stock LEGO kernel cannot.
ev3dev
Kernel:Don't want to give up your official LEGO MINDSTORMS EV3 kernel and rootfs? You don't need to!
Just install ev3dev
on any microSD card (min 1GB suggested, but can you even buy one that small anymore?) and plug it into the microSD slot on the EV3. The uboot loader will look on the card, find the ev3dev
kernel and happily boot that instead!
When you want to use the official LEGO tools, just shutdown the EV3, unplug the ev3dev
microSD card and restart the brick.
This is still an early beta, so it's not as polished as the official LEGO offering, but it's getting better every week as we add support for more of the native EV3 drivers. Alongside the main kernel, work is also being done on brickdm, which adds a LEGO-like GUI.
Currently, the project is being maintained by @dlech and @rhempel in their spare time. Active development is being done in the main
ev3dev-kernel
repo as well as in places like
brickdm
and other related packages.
ev3dev
supports many of the basic functions of the brick, including:
To start working with ev3dev
, head over to the getting started page on the main wiki.
No. ev3dev
runs completely off of an SD card, leaving the existing firmware intact. To restore the original functionality of your brick, just power it off and remove the SD card containing ev3dev
. When you turn it back on, it will boot using the existing firmware.
ev3dev
do everything that the official firmware can?
No. Although the goal is to support as much as we can, some things will probably never make it in to ev3dev
for various reasons. Here are some things that ev3dev
doesn't do (currently):
If you are at this section right now as a result of true inquiry, that probably means that ev3dev
itn't something for you (yet). We're currently in a heavy development stage so ev3dev
requires some more advanced knowledge and lots of time to use. We invite you to look here often, because some day we will have many more user-friendly features for you to take advantage of. Stay tuned!