The NXT brick has about 130K memory available for user programs.

With the newer firmware required for downloading EV3-G programs that memory has been reduced to 118K.

How much memory is used by the various blocks available in EV3-G?

What tricks can be used to cram many programs onto the NXT brick's limited memory space?

I'm a coach of an FLL team that is using the NXT brick. Should they use EV3-G or stick with NXT-G?

See Comparison of 10 blocks shows memory usage of NXT-G and EV3-G are nearly identical.

1 Answer 1


The move steer and move tank blocks take 5kb each while the large motor block takes 4kb. If you have a long string of move blocks in your program, it will take up big chunks of memory. We've gotten around that in the past with using myblocks. Myblocks are only copied to the NXT once and called each time it is needed in the program. A pivot myblock might take 7kb but you can use it as many times as you like without taking up more memory. We make a myblock for just about every common move used in our programs. It pays to make a myblock if a string of code will be used more than once.

I would stick with EV3 software if you plan to move to the EV3 hardware in the next season or two. I personally liked NXT-g better but we upgraded our hardware to EV3 this year.

Edit - I just compared the NXT blocks to the EV3 blocks and there is quite a difference. The NXT-g move block only takes 2.4KB and the motor block takes 1.1KB. Our pivot myblock that takes 7KB in EV3 only takes 1.6KB in NXT.

  • I did run into one case of a MyBlock taking unusual amounts of memory. It turned out to be that adding the MyBlock to a program before closing the source program used to create the MyBlock caused the memory usage to explode. Can you check to see if this explains the memory increase you're seeing? I tested 10 blocks and the memory usage NXT-G vs EV3-G was nearly identical.
    – dfrevert
    Commented Oct 27, 2013 at 18:22
  • I tested the following - All in kb unless otherwise noted Square up myblock - NXT 3.3 EV3 12 Move forward myblock - NXT 2.2 EV3 5 Pivot left myblock - NXT 1.6 EV3 4 Move block - NXT 2.4 EV3 5 Motor block NXT 1.1 EV3 4 Color sensor - NXT .9 EV3 2 Wait block - NXT .7 EV3 390b Switch block - NXT .6 EV3 3 I then created a program with all listed blocks – NXT 8.1 EV3 21 All myblocks had been created previously and no source programs were open when the myblocks were added.
    – Lego Works
    Commented Oct 27, 2013 at 21:16
  • 1
    I just checked out your blog post from the link above. I was only testing the initial use of a block. It's interesting to see that the two programs end up with similar memory usage in the long run. That's great news for all of the NXT-G users who want to try out EV3 software.
    – Lego Works
    Commented Oct 28, 2013 at 11:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.