Sunday, January 6, 2013

Lego Mindstorms NXT 2.0 + Mac OS X Lion

I'm trying to get child number two interested in Lego Mindstorms (brought on by my own recent interest in the Arduino microcontroller). I've had Lego Mindstorms since the late 90s (RXT 1.0). Nothing says fun for a college-aged married couple like playing with Legos while watching TV. 

Currently, we have the Lego Mindstorms NXT 1.0 kit, which is a few years old. The last time we used it (2 years?), it worked great. Yesterday, Owen was excited and flew through the building of the first model. We sat down at his Mac (that still had the Mindstorms software installed) and naively thought it might just work. Nope. It quickly crashed. A quick investigation revealed that since Leopard, Mindstorms and Mac OS X have no lost love. There is a flurry of various trial-and-error discussion topics on the web. Lego offers little help.

First, it became obvious that we should upgrade to the latest NXT-G 2.0 software. This was difficult to find (even on Lego's website). I ended up downloading from a Dropbox link here. The source  is from this discussion thread. It turns out that this is version 2.0.f5. Unfortunately, on our rip-roaring 500kb/s internet, this full ISO image required several hours.

Today, I sat down to install it (quickly?). Three hours later, I think I found the recipe that worked for us:

  • Mid-2007 iMac (Intel Core 2 Duo)
  • Mac OS X Lion (10.7.3)
  • Full Lego ISO image (2.0.f5)
    • I used the link above.  However, I've since discovered that it's also available from Lego, but not on their Downloads page (why would it be there).
  • I did not apply any of Lego's patches from their support files.
  1. Uninstall old Mindstorms NXT software, if necessary by dragging it from the Applications folder to the Trash Folder.
  2. Uninstall Adobe Flash.  
  3. Double-click ISO image to mount it.
  4. Execute the Install program.
  5. This will take a few minutes and then will restart your computer (do they think this is Windows or something?)
  6. You also need to upgrade the firmware on your NXT.  Download the 1.31 version from Lego.
  7. At this point, I was able launch NXT-G just fine.
  8. I connected a USB cable to the NXT and upgraded the firmware smoothly.  I then removed the USB cable.
  9. I am now able to communicate with the NXT via Bluetooth just fine.  Lots of people have had issues with this, so maybe I'm lucky.  I'm definitely not upgrading to Mountain Lion yet.
Bluetooth limitations: The only limitation I have found is that I can only communicate with the NXT from my (administrator) account and only if I use the Default profile in NXT-G.  If I try to use the kids' accounts or make NXT-G profiles for the kids, bluetooth doesn't work.  Not great, but better than constantly re-connecting the USB cable.