Raspberry Pi 4 Memory ID

Let’s say I’ve unpacked my assortment of Pis and put them in a drawer. I now need to retrieve a Pi suitable for a specific project. I can work identify the Pi Zero W, the Pi 3A+, the Pi 3B+ and one of the Pi 4B units. However I can’t tell whether the 4B is a 1GB, 2GB or 4GB unit.

I want to know which Pi 4B unit to choose without going through a time consuming suck and see process.

I’ve seen a YouTube video where the guy guesses based on 3 units and gets it wrong. This is refined based on feedback but is also wrong. He figured that numbers at the back of the ethernet connection revealed the RAM. I thank him for trying but it doesn’t work.

There are different memory chips on my spare 1GB and 2GB units. My 4GB unit is in use so I haven’t checked its memory chip. I suspect that different suppliers are used so doubt that this helps much without more information.

I appreciate the fact that the Pi boards should be the same regardless of the memory installed and that stickers over components can cause heat problems.

I’ve checked out the 3D barcode and either messed up or got nothing useful back. It is possible that they may provide the answer but only if you have the right gear to handle these tiny barcodes.

My guess is that you don’t know how to identify the RAM on the 4B either even though I hope I’m wrong. If you don’t know then I suggest that you advise customers to write the amount of RAM on the SD card slot holder for now and ask the Raspberry Pi Foundation to address this new issue.

I guess it is a good problem to have with the Pi 4.


Boot it and run top. Look at total installed memory. QED.

You have missed the point. To boot it up you have to install an SD card - after setting it up with the OS image - figure out what IP address has been assigned and the connect via SSH. This takes time and if you have 1GB, 2GB and 4GB Pi 4 boards you probably need to test more than one until you find the one you need.

I basically did what you advise but used free rather than top. I marked each Pi 4 board with a marker pen using the ethernet surround so that I don’t have to go through this crazy process again. Now I can grab thr right Pi 4 for a project without wasting time.



Sounds like my Drawer of RPi parts, let me know if you find an easier way

I did find an easier way. Mark the board with the memory size as soon as you take it out of its box.

I e-mailed the problem and the solution and clever Jim17113 didn’t get the point.

Ideally the Pi 4 board manufacturer should put a memory size sticker somewhere (such as on top of the ethernet connection) before shipping. Next best is for Core Electronics to do so. Otherwise Core should advise customers to do the marking themselves. There are many instances where product descriptions include warnings.



I don’t think you are being fair to Jim here. You didn’t provide any context for your question and like Jim, I would have worked from the booted up stage where finding the RAM amount is trivial. You’re looking for some sort of visual reference on the device and we do exactly as you suggest: I put the parts in a marked box with a lid! Yes, a marker pen still has value in the 21st century.

However, we cannot use the Pi4 right now because we use W10 IoT Core and Microsoft does not yet (or probably never) support this chipset. We also need to use the compute module version because we need more GPIO pins than are available on a standard Pi. To do this, we had to write our own BSP, with significant assistance from Microsoft and having done that, we suspect we could write one for the Pi 4.

I am jumping in here to support Jim but also to find out if others might be interested in what we are doing. Please note, this is W10 specific.

I was after support from Core Electronics and didn’t realise I’d been flicked to forum support. Now that I know that Jim is not with Core Electronics and was just trying to help I accept that my “clever Jim” comment was inappropriate.

It is clear that Core Electronics does not know how to identify a Pi 4 board as 1GB, 2GB or 4GB once it is removed from the box.

Make sure you write the RAM on top of the ethernet port as soon as you take the board out of the box. Otherwise, if you have 2 of each model (ie 1GB, 2GB and 4GB), Murphy’s Law guarantees that you won’t find the right board until the 5th attempt - regardless of what RAM size you are after.

Re Win10 and extra GPIO pins, perhaps the solution is to find another way of getting things done without customising.

I’m using Linux and Python but I try to use I2C as much as possible. It simplifies wiring, deals with analogue type input (temperature, voltages etc), allows for lots of devices and provides more precision than Arduino analogue pins.

I’m a big fan of the ADS1015 12-bit ADC 4 channel module. You can have 4 of these to deal with 16 generic analogue inputs. Up to 8 MCP9808 I2C temperature sensor modules can be used without conflicting with the ADS1015 modules. Likewise there are other sensors (eg moisture plus temperature) with their own address ranges. The total number of I2C devices is massive if you have a broad mix.

For digital IO you may be able to use some gadgets that take a bitwise approach so that many devices can be handled via few pins. I’m not familiar with these but from what I have read they should be OK when rapid simultaneous response isn’t required.

All cool - and I know for a fact that you won’t get that kind of support from Core. It isn’t their “core” function, pardon the pun. We’re restrained to needing the Compute Module version because we need far more GPIO than is available on the small board form factor. Otherwise, we are doing the same thing as you.