Page 1 of 2

NXT Enhanced Firmware

Posted: 07 Aug 2011, 16:06
by ilchiodo
Hello Everyone,
I'm new to NXT, having purchased my first one by a friend of mine for a few bucks.

I'm having problems running a program (a "File Error!" message appears on the screen of the NXT), and I think there is a problem with my firmware (actually, 1.05, this is the older NXT version). Can I upgrade my firmware with John Hansen's Enhanced firmware? will this overwrite my 1.05? How should I behave in this situation?


Cheers
Chiodo

Re: NXT Enhanced Firmware

Posted: 07 Aug 2011, 16:18
by haydenstudios
Hi Chiodo,

If you would like to install John's enhanced firmware, refer to this tutorial posted by another one of our members. After installing Bricxcc, it will tell you how to install the enhanced Firmware.
I know that you didn't ask for it, but just incase you want, you can view the downloadable LEGO firmware versions from their website, and you may also download the latest version 1.31, not available on their site anymore, on the attachment below.

Re: NXT Enhanced Firmware

Posted: 07 Aug 2011, 17:48
by nxtreme
ilchiodo wrote: Can I upgrade my firmware with John Hansen's Enhanced firmware? will this overwrite my 1.05? How should I behave in this situation?
Welcome to the forums! haydenstudios did reply to most of your questions, but I thought I'd clarify a bit. Installing the enhanced firmware version 1.31 will overwrite 1.05, as you can only have one firmware version installed at a time. However, enhanced 1.31 fixes a lot of issues with certain things and includes some new features, so it's worth installing. If you have any other questions, be sure to ask them!

Re: NXT Enhanced Firmware

Posted: 07 Aug 2011, 18:37
by h-g-t
There is a comprehensive guide to the Brixc CC in the software section of this forum and I suggest you read it as the process of changing the firmware does not always go smoothly!

You can also change the firmware using the NXT-G program.

Changing it is not a 'one-time' deal. You can put in any firmware you have stored on your computer so you can use the enhanced version created by John Hansen then replace it with the standard Lego product if you want.

Re: NXT Enhanced Firmware

Posted: 07 Aug 2011, 21:16
by haydenstudios
h-g-t wrote:Changing it is not a 'one-time' deal. You can put in any firmware you have stored on your computer so you can use the enhanced version created by John Jansen then replace it with the standard Lego product if you want.
I might also add, just a little FYI, that every time you flash the NXT's firmware, a piece of information called a lock bit is used up. It is said that if every lock bit it used up, the respective NXT will cease to function. Not that it's a real huge threat, and you probably won't have to worry about this, because an NXT's number of lock bits is an approximate minimum of 100. Just a little fun fact. Or, a good thing to consider if you ever for some silly reason have the temptation to spend a few hours repetitiously flashing the firmware ;) .

Re: NXT Enhanced Firmware

Posted: 08 Aug 2011, 19:50
by schodet
haydenstudios wrote:I might also add, just a little FYI, that every time you flash the NXT's firmware, a piece of information called a lock bit is used up.
Where do you take this information from?

As far as I know, lock bits are used to protect a firmware from being read or written, they are cleared anyway each time you erase the micro-controller memory.

Atmel sells "10,000 Write Cycles, 10-year Data Retention Capability", so there is no need to worry (actually, memory used for programs will wear sooner than the one used for the firmware).

Re: NXT Enhanced Firmware

Posted: 09 Aug 2011, 15:20
by haydenstudios
I will accept correction if I have been mislead. I originally read that from this book
Image

Re: NXT Enhanced Firmware

Posted: 09 Aug 2011, 19:46
by afanofosc
The low number for lock bit lock/unlock cycles is, iirc, a very conservative value at extreme temperature conditions. Under normal circumstances your NXT's lock bits should be good for around 8000 lock/unlock cycles. My nxttools command line utility was used by a fellow at LEGO to repeatedly flash a firmware image on the NXT and in his tests he had device failures in that ballpark (i.e., 8k). Since it takes about a minute to flash a firmware image it would take 5.5 days of reflashing every minute before you would likely experience any lock bit problems. If you flashed your firmware once every day you could do that for almost 22 years before you would likely experience any lock bit problems.

If you try to flash your NXT with a new firmware image and it does not reboot properly and it clicks softly then just immediately perform another firmware download attempt. In my experience, using BricxCC, it has never failed on the second attempt (when the brick is softly clicking). I have once had a firmware download leave the NXT without the soft clicking and I had to hold the reset button pressed for > 5 seconds to perform a hard reset before I was able to successfully download the firmware image.

John Hansen

Re: NXT Enhanced Firmware

Posted: 09 Aug 2011, 22:06
by haydenstudios
afanofosc wrote:The low number for lock bit lock/unlock cycles is, iirc, a very conservative value at extreme temperature conditions. Under normal circumstances your NXT's lock bits should be good for around 8000 lock/unlock cycles. My nxttools command line utility was used by a fellow at LEGO to repeatedly flash a firmware image on the NXT and in his tests he had device failures in that ballpark (i.e., 8k). Since it takes about a minute to flash a firmware image it would take 5.5 days of reflashing every minute before you would likely experience any lock bit problems. If you flashed your firmware once every day you could do that for almost 22 years before you would likely experience any lock bit problems.
Ah, thanks for the info.
Chiodo, sorry for kindof hijacking your topic, how's that enhanced firmware installation going?

Re: NXT Enhanced Firmware

Posted: 04 Sep 2011, 08:02
by ilchiodo
Hey!
Sorry for me being distant for so much time, but I had some university problems to sort out...

By the way, i was surprised by the amount of responses to my stupid question! Thank you so much, I'm really appreciating this forum and all you people :)
Regarding the firmware... some days after I opened this thread I downloaded John Hansen's, tried to install it using brickCC, and I got it working with no real problems! Now all the code lines are well supported (I think XD) and I can go on with the programming.

PS: I'm thinking about purchasing online a gyro sensor and an accurate color sensor, and maybe a lithium battery with charger... Can someone give me some piece of advice about websites where i can do it?

PPS: Sorry for my bad English. I hope I got myself understood anyways :P

CHiodo