Java on the LEGO MINDSTORMS EV3

ev3

I have been working for the last month on leJOS for the LEGO MindStorms EV3.

leJOS stands for LEGO Java Operating System. On the LEGO MINDSTORMS NXT, it really was an operating system, as it replaced the firmware on the machine. The EV3, however, has a Linux operating system, so leJOS is a set of Java applications and libraries, plus some modifications to the LEGO Linux operating system.

leJOS on the EV3 runs from a micro-SD card, which contains a small-footprint Linux system. The leJOS project has modified some of the kernel modules, modified the kernel a bit, and added a few more kernel modules, to produce a system, that supports Java.

We are running the official Oracle VM, which is similar to the one that runs on the Raspberry Pi.

One of the leJOS project members, Andy Shaw, has had a pre-production version of the EV3 for a few months, and had completed most of the work on the Linux system, and had produced an early working system.

However, we decided to take this opportunity to make major changes to the leJOS API, including introducing a standardized sensor framework.

I have helped with the API, but have also produced the menu system that you see in the picture above. It is a port of the NXT version, but with quite a lot of changes.

leJOS on the EV3 supports TCP/IP over Wifi, USB and Bluetooth PAN. Wifi is supported by USB dongles, and leJOS supports many more than LEGO does.

Bluetooth serial comms is also supported, as on the NXT but with a standard Linux bluez stack.

I have also written the code for communicating between EV3s and NXTs running leJOS. It uses Bluetooth RFCOMM. This supports serial comms and remote access to the NXT hardware.

I have written Java RMI code for EV3 to EV3 communication, and RMI access to the leJOS menu on the EV3. This supports a set of PC tools, that I am also working on, partly by porting the NXT versions.

Currently you can only produce the SD cards on Linux, but a Windows version of SD card production is coming soon, thanks to Andy Shaw.

The next version of EV3 leJOS with all this in should be very popular with robotics enthusiasts. leJOS has always had a lot of users in schools, colleges and universities.

The EV3 is a much more powerful machine than the NXT, and will allow people to build much more sophisticated robots.

We hope to get this version of leJOS running on other platforms, including Raspberry Pi with a BrickPi interface to the LEGO motors and sensors. I have just received my BrickPi from the Kickstarter project, and will blog about it soon.

Advertisements
This entry was posted in robotics and tagged , , , , , . Bookmark the permalink.

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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