Tutorial – Enable 512mb RAM on Raspberry Pi with Firmware Update

If like me, you’ve received your new 512mb Raspberry Pi Model B, you’ll be wanting to take advantage of the extra 256mb of onboard RAM. Out the box, the unit does not utilise the full 512mb RAM, so you need to do a firmware update. Here’s a tutorial to get you started.

Pictured: The first revision 256mb Raspberry Pi and the new 512mb Raspberry pi

Install Git Core and Rpi-update

We begin by installing Git Core. From terminal, type the following command:

sudo apt-get install git-core

Once this has finished, we download some essential files to get us going using this command:

sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update

After this is done, its essential that the clock is correct. This can be done with raspi-config. I’m assuming you’ve already got the date and time, as well as the timezone set. The next command may produce errors if the time and date is not set. To continue, run the following command in terminal:

sudo apt-get install ca-certificates

Now that SSL certificate engine is installed, we can go ahead and install rpi-update:

sudo apt-get install rpi-update

Updating the Raspberry Pi Firmware

After this has installed, it’s time to do the firmware update. This takes some time, so please be patient. The following command will run the firmware update. Do not disrupt this stage as it may make your Raspberry Pi permanently unusable. Run the following command:

sudo rpi-update

Once the new firmware has been successfully installed, you’ll see the following message in terminal.

Once you see this message, go ahead and reboot your device:

sudo reboot

Checking the firmware installed correctly

Once your Raspberry Pi has restarted, login using SSH and type the following command:

free -m

A table will now appear showing you the memory usage. In the screenshot below, you can see that the total memory is now 438mb on my unit. The other 74mb is reserved for video, although I will be adjusting this to ensure the web services have as much resources as possible. This can be done through raspi-config.

That’s a wrap for now, let me know your thoughts using the comments below.

Win a free Raspberry Pi

Free Raspberry Pi

Just a reminder that my competition to win my old Raspberry Pi is still open. Visit the Great Pi Giveaway post to find out how to get involved.


Web Developer living in Manchester, working for Studio Skylab (http://www.studioskylab.com). Views and thoughts are my own.

You may also like...

17 Responses

  1. Great to hear you got it working.
    Just FYI, I’ve added you to the big aggregated RSS feed of Raspberry Pi blogs at my blog (www.recantha.co.uk/blog).
    I think it’s great you’re running the blog off of a Pi – gives a great ‘real world’ application for one of the world’s greatest gadgets 🙂

    • Ste W says:

      Hi Michael. Thanks for adding the site to your RSS, its much appreciated, and means my project can have a greater reach.

      I had a huge spike in traffic last night thanks to the guys at the Raspberry Pi community page on Facebook, and the Raspberry Pi handled it without missing a beat!

      I’ve created a page, ‘Your Projects’ which has a link through to your site. I’m going to build this page up over time to get a bit of a community going. Thanks again matey!

  2. Gavin King says:


    Thanks for this tutorial. I’ve run through it but I can’t seem to enable 512mb.
    I get the following problem when running the sudo apt-get install rpi-update command:

    “Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    E: Unable to locate package rpi-update”

    Everything before that works. CA certificates installed as did git-core and rpi-update.

    When I run the rpi-update I get the following:

    [email protected] ~ $ sudo rpi-update
    Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS
    Performing self-update
    ARM/GPU split is now defined in /boot/config.txt using the gpu_mem option!
    Updating firmware (this will take a few minutes)
    Your firmware is already up to date”

    But free -m isn’t showing the enabled memory:

    [email protected] ~ $ free -m
    total used free shared buffers cached
    Mem: 184 172 12 0 7 77
    -/+ buffers/cache: 87 97
    Swap: 99 0 99”

    I’m really new to the world the rpi and would really appreciate it if you could point me in the right direction.



  3. Mattthew says:

    Thanks for this guide! When I got my RPi, it was only showing that iI had 198mb of RAM and iI though I’d broken something already. Now it’s all there.

  4. Shannon says:

    Greetings, I believe your web site could be having
    web browser compatibility problems. When I look at
    your site in Safari, it looks fine however,
    if opening in IE, it’s got some overlapping issues. I just wanted to give you a quick heads up! Other than that, fantastic website!

  5. Richard says:

    Top Tip!
    First, check he build date of the Pi.

    Pre October 2012, they still had just 256mb
    Build dates on mine? 1233(board) and 0409(sticker)

  6. Ramon says:

    Thank you! Even though my RPi said it already had 438MB available I managed to allocate less memory for the GPU so there’s more for my sites.

  7. islamike says:

    Great tutorial, but I was wondering if I still have to do:
    sudo apt-get install git-core
    sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update
    sudo apt-get install ca-certificates
    sudo apt-get install rpi-update

    If i already have the latest Rasbian in which i can run sudo rpi-update
    Any enlightenment would be appreciated 🙂

    • Eugen says:

      Hi there,

      you don’t need to do that if you are running wheezy 2014-09-09 (for example).
      I won’t test it, but I guess many previous versions also support it from scratch.


  8. mychernobyl25Mike says:

    Have you tried sudo apt-get update

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.