Thursday, June 29, 2006


When you receive the Lego Mindstorms NXT, it comes with firmware version 1.01. The NXT CD that comes with the set contains firmware version 1.03, which is also available online. During MDP, some people have installed the 1.03, which worked fine.

HOWEVER, for a lot of people who recently received the Lego Mindstorms NXT set, and have tried to upgrade their firmware, THE NXT BRICK DIED ON THEM. It seems that the NXT doesn't come back correctly from the firmware upgrade. It keeps producing the ticking sounds that indicates it is being updated, whereas it should end with a loud beep and be ready for work when the upgrade is complete.

Lego is aware of the problem, and is working on it. There is no fix available yet. Therefore, DO NOT UPGRADE YOUR FIRMWARE at this time. I'm sure that by the time Lego Mindstorms NXT lauches officially, Lego will have resolved this problem.

For an active forum on this problem, it is probably best to use this article on TheNXTStep blog, since they have the discussion going. I'm repeating the message here to make sure everyone is aware of this issue. I'll be happy to answer questions, off course, but I don't intend to install the firmware just yet myself...



At June 29, 2006 8:05 PM , Anonymous Drew said...

The NXT Step Blog has good comments and boiling these down are the following:
Original Firm ware works fairly well. Upgrade at your own risk. We have huge confidence in Lego to fix it.
If you want to attempt it here are the suggestions to reduce risk:
-Turn of &/or remove Bluetooth Radios and Doogles (USB Bluetooth){put them back on/in after a successful firmware update}
-Make sure you use a powered USB (perferably right out of your computer (not monitor/keyboard))
- make sure all connections are secure (plugs all the way in) and batteries are full power (I heard that for other firmware updates that full power is a good idea.)
- Dont run extra programs or background functions (cant hurt to turn off messengers etc so you computer can focus)

The best description of the problem and post ticking solitions is coppied below:

"Brian Davis said...
To try to answer a bunch of things...

To My Knowledge, you can not permentantly "break" your NXT by trying to put new firmware on it. For the technically-minded, when the reset button is pressed long enough, the NXT enters a boot-mode (i.e.- it's actually *supposed* to be making that annoying ticking). Really this is for the odd case where the NXT stops responding. Usually, you can updare the firmware *without* hitting the reset button. Again, To My Knowledge (although I'm certainly *NOT* employed by LEGO) you're not going to permenantly damage you new toy this way. There is a known issue with some BT dongles, in that while they are attached the firmware update option doesn't work (for some reason). This *may*? be part of the problem.

No, it is not a Mac issue, or a Windows issue, to my knowledge: there were plenty of each in the MDP, and we got it to work. I've two NXT's, and I've been upgrading the firmware for some time now (having gone through several beta versions).

There is not a way known to me to pull the firmware off a NXT and back into the computer; nor can you just "erase" the existing firmware, to provide a blank slate to upload new firmware. It doesn't work that way. Firmware is updated based on a small bit of boot-up code, and new firmware will overwrite preexisting firmware.

Regading the "shouldn't have been released" comment. I'm not sure what to say here. Is LEGO releasing an alpha version on you unsuspecting folks? NO! Let me repeat, I do NOT think this is the case. I suspect this is a case of a new piece of software suddenly being testing by several hundred folks on radically different machines with all sorts of odd install histories (Windows users: ever really browed your drivers? The list can be scary).

Suggestion for the "ticked off": remove the batteries, and count to 5. Now put them in. Still clicking? Put a LEGO antenna in the *correct* pinhole, and depress the rest button once briefly - you can feel it push in slightly, and if your not careful (especially with a paperclip) you can press on the bottom of that hole and just be pushing plastic, not button. Still clicking? Try pushing it in and holding it, fully pushed, for 5 seconds. Now, that (I *think* should have reset things so the NXT is now patiently awaiting a firmware update. Now, try running the environment, and then attach the clicking NXT to the computer via USB; make sure there are no BT dongles on the computer at the time, and you migbht want to try different USB ports. Ask the environment politely to update the firmware, and see what happens.

As to what the difference in functionality between the two firmware version is, I don't remember (if indeed I ever knew). But in general, the MDP has been running on 1.03 for some time now. Some of the blocks may have odd or reduced functionality under earlier (non-supported) versions of the firmware.

On a personal note, I'm sorry some of you are having these troubles. A lot of us on the MDP spent a good bit of time trying to break our toys (& sometimes succeeding) to try to prevent issues like this. All I can say is even a bunch of dedicated fans can't identify problems that we didn't find, and this sounds like one of them. We may not work for LEGO, folks, but we're trying to figure out how to help.

Brian Davis
There are two ways to "reset" the NXT brick. First, you need to find the little button hidden deep inside the outside pinhole on the bottom under the USB port. Next, you need to press it (a LEGO antenna works just great... why use a paperclip when you can use LEGO :-) ?). A short press just reset the brick (IMS). A longer push (push and hold) will put the NXT into firmware update mode (in these cases).

Try this: Hold the reset button down for about 4-5 seconds, and then try updating the firmware again... and if that ever-so-annoying clicking continues, we'll work on another solution.

The "new firmware" doesn't neccessarily provide any patches etc... I think Jim just wanted to make sure that the firmware that is on your NXT brick is the same as the firmware the NXT-G editor expects to find there (as with any new product, it went through several revisions). If it's not, strange things can happen.

Brian "this clicking is driving me crazy" Davis"

At June 29, 2006 8:59 PM , Anonymous Anonymous said...

I am so excited!
I just got off the phone with tech support...she suggested trying another USB port on my laptop and it worked.

No more clicking! I must admit...I thought I had tried everything (batteries out, reset switch for 10 seconds, etc...) but never thought of swapping ports on the laptop.

Hope that helps someone else.

At June 30, 2006 5:28 AM , Anonymous Anonymous said...

We read this too late (why would we have searched for it until the problem surfaced). Tried these techniques on 2 different PCs and both XP and VISTA. Sent Tech Support email, but sounds like that won't give any results. So much for preordering - we get to beta test! Lego should reward us early adopters since we're working out the kinks.

At July 01, 2006 5:12 AM , Anonymous Anonymous said...

dmr here, and a bit tired, so apologize for typing funnnnny, anyway:
OK,Lego, where's da "open Source" - I mean real open source starting with at least a block schematic of your 32-bit micro-P/8 bit micro-C nano-memory system so we can do two things: 1- BUILD fairly cheap hardware to give us things like 20, 30 binary switch inputs and as many simple binary outputs (not excessive - think of a ro bot with lots of 'whiskers' tha doesn't randomly turn and slam, but knows the open area ranges from 10 degrees to 30 degrees ahead and all else is wall - or a 'bot that knows it's also time to pump up the air tanks for the 20-degrees freedom pneumatic hand (each degree=1pneumo cylander under NXT expanded control) and gets the simple signal when the tanks are full.....

ALSO so we can write tight code to Bluetooth back annd forth our sensor reports and take a load off the controllers by keeping the bulk of the program running on a "spare" system, which could mean the equivalent of cramming a whole P4 or equiv. into a NXT block.

C'mon guys, give us the keys to the kingdom! Well debug the firmware in no time!

At July 02, 2006 4:26 AM , Anonymous Drew said...

The Developer Codes etc are going to be released but I think they are holding off till after the store release.
Hitechnic is offering multiplexors to expand the sensor switches and with the many old touch sensors and legacy wires (or new touch sensors) enmass.
For Preasure sensing you migh twan tot try a force feed back sensor with the nxt motor sensing ho much a piston is pushing outt and applying a power that is proportional to the angle. Then when the angle changes enough it triggers the pump (mind you with the Lego polarity reversal switch allows you to spring load a piston so that the a battery pack will power a pump when the preasure drops with out intelligent control.

The BT direct link might be possible but PC'sw dont like continous direct access - security. But it might be possible. Multiple NXT's can report sensor values to each other and hold different parts of the program.

Good luck but be patient. Let us know if you have success.

At July 05, 2006 7:02 PM , Anonymous Anonymous said...

Is it possible to load a different custom OS onto NXT? If yes, how?

At July 05, 2006 8:24 PM , Anonymous Filip said...

Yes, it is possible to change the OS of the NXT set.

To do that, you need to replace the existing firmware with your own version.

Lego has said in the past they would open source the firmware. That should make it much easier to create alternatives. It is not know exactly when Lego will release the code.

At July 20, 2006 7:37 PM , Anonymous Anonymous said...

I had the firmware issue happen to me, and I was able to get it to work by installing the software on another computer and updating the firmware to 1.03 on that one. Both machines were XP, so who knows what the difference was. I didn't think to just try another usb port.

At September 03, 2006 12:53 AM , Anonymous Anonymous said...

Thanks guys. Switching from my unpowered hub to a USB port direct from the PC worked.


Post a Comment

Subscribe to Post Comments [Atom]

Links to this post:

Create a Link

<< Home