Adventures with Lego Mindstorms: NXT

Sunday, January 21, 2007

First post, for the second time!

Before we start, a note to Google and Blogger;

Lets hear it for Blogger's "Save as Draft" feature! It's function seems to be to create a blank blog posting with no data. To bad it says it is to save work because it is quite aggravating to loose two hours of it by using the function that is supposed to prevent such loss.

On to my first post, for the second time!

This weekend I picked up Lego Mindstorms NXT as a Christmas gift to my self. I have started up this blog to track my learning progress and to act as a resource for others. Here you will find notes on my current projects, code samples, pictures and videos. Hopefully it will help someone with their own Mindstorms Project.

First Impressions

The kit is very impressive on first impression. The box certainly is hard to open! The tear off tabs at the back had me stumped for quite a while. The last time I opened a LEGO set I was about 10 years old and there are some immediate changes that are noticeable. The most obvious is that the large plastic molded container with depressions for pieces is gone in favor of a simple box filled with permeated bags containing the Lego pieces. While I understand that this reduces packaging costs, it would be nice to have resealable bags to help with organization. The unique parts and NXT Brick are all packaged separately in a nice box that can be reused (IE. isn't destroyed by opening) and the instructions are in large format and are universal to read. All things I would expect from LEGO.

The set itself seems to be quite large with a wide variety of pieces. Unlike most Lego Sets, this is a generalized building set rather then a model, so parts are varied and provide a wide range of possibilities beyond just the models included in the instructions. The unique pieces that come with the set have a well made, quality feel that seems a step above the motorized LEGO I remember from my childhood.

Installation and Set-up

My installation and set-up was a far from smooth experience. I managed to run into every problem and roadblock that exists with these devices. Initially everything went well. I hooked up the brick to it's motors and sensors and ran the TRY ME programs that come with the brick, as well as running the little DEMO program that is saved in MY FILES. Everything ran well with no problems until I went to install the software, driver and do a NXT Firmware update. When I installed the Mindstorms NXT application to my computer and started up the program. My first indication that everything might not go smoothly was a message indicating that my Bluetooth dongle isn't supported by the NXT device. This shouldn't be too much of an issue, so I just unplugged the dongle and continued on with the installation. I wish I could say that everything other then Bluetooth worked as expected, but when the Mindstorms program booted up it was immediately apparent that something was wrong. The programming interface came up, but on the right hand side of the screen, where instructions for other models should appear, is just a blank page. There don't seem to be any options or settings for the program so I have no idea why it is displaying this behavior. Uninstalling and reinstalling doesn't fix the problem. Again, this shouldn't be a show stopper so I continued on to update the NXT Firmware.



Firmware

The firmware update dialog was easily found under tools and when it booted up I was surprised to find it had already detected and had prepared a firmware update to 1.03 for me! Of course at the time I had no idea that this was just the default layout and that the firmware displayed was not the newest available. I activated the upgrade and watched with the status bars crawled across the screen and my NXT updated the firmware. It was after this that all the problems started. Once the firmware update was completed, my NXT brick became totally unresponsive and sat softly clicking to me. knowing that there was a reset button on the bottom, and checking online in the FAQ I tried a reset, but with no results. I then upgraded the software on my computer, the NXT driver and got the newest firmware from the LEGO website. Nothing would work. I contacted LEGO technical support via email and was quickly rewarded with a response. Their support was excellent and quick. I had been connecting through a USB hub and by changing to a USB port directly on the computer I was able to detect the NXT and update the firmware. By this time I was just happy that my brick would boot up at all. It had been a few days since I purchased the set and having it sit useless was upsetting. While I though everything was good to go, the brick had other ideas. This time it refused to run any programs at all, or communicate with the computer. Another email to LEGO ensued and it was suggested that I return the set for exchange. I was about to do this, had actually packed up the component, removed the batteries when I decided to give it one last crack and as luck would have it, it worked! That certainly saved me an embarrassing episode at the return counter of the Toy Store!

Tech Support

I have to hand it to LEGO Mindstorms Technical Support. It should be noted that this is not the same department as regular LEGO tech support. They did an excellent job,and at all times made me feel like a valued customer. Good job guys!

So that is my first post, read on to see what I build!