NXT Memory concerns/complaints

There have been some recent posts on other Mindstorms forums about the on-board memory of the NXT brick. One forum posting in particular concerned the FLL challenges and the size of the NXT-G programming language files - the concern being whether the files were so large that the brick would not be able to hold enough programs to finish all the challenges.

I would like to offer up a prediction, not based on any insider-info: I believe that sometime within the next 6-9 months, LEGO will make available a USB add-on that will look like a normal NXT sensor (in size and shape) but will simply function as a pen-drive/flash-mem device. This will most likely require a new firmware update, but that's another discussion :) It will connect via a USB cable to the USB port on the brick (not stealing a sensor or motor port, if that's even possible, which I doubt) and can thus be mounted to your bot just like a sensor and not require you to build around something plugged directly into the USB port.

Again, just a guess...


eric said…
While we're at it, LEGO will release a firmware revision next month to liberate up to 80% more space for user program storage on the NXT brick. Also next month, we will see a universal binary for Mactel which will finally open up bluetooth communications. And last but not least, a DVD.

Anonymous said…
Wow, sounding neat!

Anonymous said…
Isn't the USB port on the NXT meant as a slave device only?
Meaning you can't really connect anything to it?

If you could, then you could just use about any memory stick... or your external disk drive

But even if that's not possible, I suppose there are a lot of other things possible - hey, why not use your bluetooth cell phone as external memory to start with?
Anonymous said…
I asked Lego-edu a while bakc and in the response they clearly said that the NXT USB was NOT a slave. This went agaist all the other information about the USB that I had heard, so I assumed they had missinterpreted my question. But they still said it. I assume that any old flash drive would work. After all, the NXT has the microprocessor. that is all it needs. If you could tweak the firmware, you coud extend the NXT's memory through the USB.
Anonymous said…
Just a reminder, FLL requires that all robot components be genuine Lego parts, unaltered in any way. So a team could not use a cable that was cut to make shorter, nor could it use a USB flash drive unless it was from Lego.
Brian Davis said…
Everything I've found on USB 2.0 says this will not be easy. There is a bigger difference than supplying power between a USB host and a USB client - they use a different chipset, with the host (master) chipset generally being more expensive. I'm not sure what LEGO Education knows, but I think a simple "plug the thumb drive into the USB and go" approach will simply not work. That said, this is a known problem, and one others are interested in addressing: Google around "USB on the go".

Brian Davis
Anonymous said…
As I said, it won't be easy. I think that altering the firmware (or getting another version) is going to be a solution. I know that you can't just "plug and go". even if a host chipset is more expensive, thik of the how usefull it would be: You could add tons of memory to the NXT.
Anonymous said…
Previously Maniac000 said...

> As I said, it won't be easy.

It is not possible to make the NXT into a "USB Host", controlling the USB bus.

>I think that altering the firmware (or getting
>another version) is going to be a solution.

The NXT is immutably a "USB Device"; a chunk of electronics in the CPU package, (Atmel AT91SAM7S256, as detailed by Jurgen Stuber), is dedicated to listening for data requested from or sent to its USB address.

The alternatives for an external memory are to make the memory module a USB Host, or to use the digital signalling on the sensor connections. The first option will be expensive to develop, the second may not be possible.

(I have previously designed USB hardware, and written the software to drive it.)
Anonymous said…
Dang. What is the piont of sticking on a USB if only for comunication with a computer! They could have used IR for that and then it would have been compatable with the RCX!
Anonymous said…
> Dang.


> What is the piont of sticking on a USB

Pretty well every laptop or desk PC has some USB ports already. If not they are fairly cheap and easy to add.

The advantage for Lego is that none of the budget for the kit is spent on a IR tower, or IR parts for the NXT.

USB cables probably cost less than $1 (one US dollar) in quantity, and the USB connector in the NXT around 10 cents. Estimates are just to give the scale, whilst the cost of the custom parts and assembly of an IR tower is probably at least 10 times larger.

The advantage of USB for users is a much, much faster and more reliable communication link. In a school class you cannot accidently install your program on another group's robot.

I am sure that there will be lots of imaginative add-ons being developed as more people get their NXT kits.

Anonymous said…
Maniac000 wrote:
> What is the point of sticking on a USB if only for communication with a computer!

- It's much faster and more reliable than IR.
- With the AT91SAM7S microcontroller it is almost free.
Anonymous said…
Does the NXT load programs from Flash into RAM and then run from RAM? If it runs from Flash, then how would they run from an external USB Flash with no chip select, address, and data runs?
Anonymous said…
As far as I understand the programs run directly from FLASH.

Tony, hoping to have a NXT by the weekend
Anonymous said…
i thought i'd mention that during the second life/mindstorms/wired event, i asked about a possible memory upgrade in the future and the lego folks said that the software was being worked on so it would compile smaller files, but no actual memory upgrade.
Anonymous said…
I think Microsoft hit the nail on the head: use "data contracts". Go back and view the Microsoft Robotics Studio video presentation. (Linked to earlier in this blog.)

Since the NXT allows BlueTooth messaging, use the PC to do all the heavy data logging/number crunching/processing. If memory serves correctly, that's what the guy in the video presentation was saying when he talked about "data contracts". (Hum....can data sources enter into contracts? Rhetorical question at best.)

Well, anyway, the idea is to treat the NXT pretty much as a dumb terminal and offload the processing to Robotics Studio. (hummm....did I really say that?) Great for Microsoft - only messaging through the BlueTooth channel might be somewhat, how do we say, band limited?
Anonymous said…
Bluetooth comm can handle voice. Any datastream the NXT can generate is peanuts in comparison.
Anonymous said…
I keep reading that the new Firmware and the OS X Universal Binary will be released on 01AUG. Has it been released? I have a Mac Book Pro so I could really use the Universal Binary version.
Anonymous said…
Looks like NI just released LabView 8.20 which is Universal Binary according to this site:


Perhaps LEGO will soon follow?
Sol Opacus said…
Here's 2 cents' worth of information...
If it *is* possible to enable it to read USB flash drives, you could program it to retrieve, manipulate, and initiate up to 64 GB of additional programming via these little thumb drives: http://www.myzipzip.com/
Sol Opacus said…
Sorry that should read 128 or more GB, not 64. I just realized that the color sensor could probably pick out at least 8 of those colors reliably.

Popular Posts