Tuesday, January 6, 2015

LEGO Mindstorms and the Case for Free Software

Looking back at my broken LEGO Mindstorms creation made me realize how much work I put into that little jerk.  Actually, he doesn't deserve to be called names.  It's LEGO that deserves it. They're the reason I had to jump through so many hoops.

Let me explain:

I inherited these LEGO Mindstorms from a friend who was cleaning house for a long-distance move.  These were the NXT 1.0 set, and NXT 2.0 was already out.  I have a household with two newish Macs, and it turns out that the Mindstorm programming environment for NXT 1.0 only runs on Windows and PowerPC Macs (i.e. old Macs that don't have processors made by Intel).  There's a ton of assorted updates to the software on the LEGO Mindstorms website, but none of them make it work on Intel-based Macs.

And here's the kicker: if you want the 2.0 software that will run on Intel Macs, you need to buy an NXT 2.0 set (or a software disk), which means shelling out a lot more money.  I wasn't about to do that.

I looked around for alternatives, and discovered LeJOS, which is a Java compiler and firmware for the NXT platform.  I am very comfortable with Java, so that was a big plus.

LeJOS required me to flash my Command Brick, but that turned out to be very easy with the provided software.  My key takeaways were:

  • The build files worked well enough, even though they were a little clunky.  The Ant ones worked with some fiddling, but the Maven ones didn't seem to work out of the box.  
  • Transferring my programs to the Command Block was easy.  
  • Support for the various functions of the sensors and motors was good.
  • Documentation was good enough that I had little trouble creating my programs.

All in all, installing LeJOS on my computer and Command Brick was a positive experience, and let me easily and quickly set up a development environment that worked with my LEGO Mindstorms NXT 1.0 set, all in a modern Mac-based computing environment.  That gets a big thumbs up from me.

However, that doesn't negate the fact that LEGO should make their Mindstorms brick-programming software free to download.  Not only could second-hand purchasers of Command Bricks then use it, but people with the older products wouldn't be left with crapware as computing evolved.  It also might just make a pretty cool standalone learning tool for people who didn't already have a LEGO Mindstorms NXT set, and convince some parents to invest in one!

No comments:

Post a Comment