Aswin Bouwmeester's holonomic Mindstorms robot, programmed with LeJOS.

Aswin Bouwmeester’s holonomic Mindstorms robot, programmed with LeJOS.

Today, the team behind LeJOS — the Java operating system for Legos — released a beta edition of their software for Mindstorms EV3.

LeJOS has been around since 2000, when Jose Solozano first built the open-source Java-based software for Mindstorms RCX; it’s one of several software replacement systems for Mindstorms, which try to take advantage of more powerful programming languages to enable users to take their projects in different and more advanced directions.

“It doesn’t run the Lego virtual machine, the Lego software. Instead, it runs the standard Oracle virtual machine,” says Lawrie Griffiths, one of the lead LeJOS developers of EV3. “We’ve taken what Lego produced and improved the kernel access, removed their software and replaced it with Oracle’s Java virtual machine, and improved all the networking access.” That is, LeJOS plays nice with more wi-fi dongles, Bluetooth, and even other robotics operating systems.

The EV3 edition of LeJOS is the first to take advantage of Lego’s increasingly open-source programmable bricks; prior versions had to be reverse engineered to work with the bricks. Chief among LeJOS’ advantages, says Griffiths, is better motor control; it’s easier to keep speed and acceleration constant, and achieve better accuracy and precision.

But it’s also important, he says, that it plays well with other systems. It communicates easily with devices, like phones and GPS units, as well as sensors, like gyroscopes. That’s partly what enabled Andy Shaw, another developer who was the first to work on LeJOS for EV3, to build his EV3 motorbike; it steers by tipping slightly, and then correcting itself. “To do that you need fast processing of the gyro sensor and good motor control,” says Griffiths.

Ultimately, LeJOS is about allowing programmers — at least those who know Java — to go beyond what Lego Mindstorms are typically capable of. “Other languages were very popular on the NXT,” says Griffiths. “What Lego provides is a visual programing system, a graphical programming system. That’s very good to get started with, but you soon find that it’s very limited, it’s very slow work … [LeJOS is] much quicker to write programs. You can write bigger programs easily, you can write better structured programs, you can have teams of people working on programs.”

Though LeJOS has been available in alpha since EV3 came out in September, the beta version includes a Windows installer alongside Linux and Mac OSX, as well as a plugin for the Eclipse integrated development environment. It’s also the first time LeJOS has worked directly with Oracle, which seems keen to have its Java language used in the burgeoning internet of things. The next issue of LeJOS will feature Java 8, says Griffiths.

“One of the real advantages of our stuff is we’ve got this big open source project, and people come and contribute all sorts of interesting stuff to the project,” says Griffiths.