Fancy a $30 computer but not sure you want to take the risk? You’re not a cheapskate, you’re just being wise. And getting a good preview look at what you’re going to buy is pretty simple. Rather than buy a Raspberry Pi and be disappointed, why not try the QEMU emulator to get a feel for it first?

What Is QEMU?

You’ve probably heard of emulation. It essentially enables us to run software on systems where it would otherwise be incompatible. Windows itself has emulation built in, in the form of compatibility mode.

Virtual machines are the default option these days for anyone wanting to try out a new operating system without upsetting their delicate digital life. VMware and VirtualBox are often recommended to anyone wanting to try Linux for the first time (our VirtualBox guideHow to Use VirtualBox: User's GuideHow to Use VirtualBox: User's GuideWith VirtualBox you can easily install and test multiple operating systems. We'll show you how to set up Windows 10 and Ubuntu Linux as a virtual machine.Read More is particularly useful), for instance, or with a desire to access an older version of Windows. It’s even possible to run some older versions of Mac OS X in a virtual machine.

This is where QEMU comes in. Because Quick EMUlator emulates ARM chipsets – such as that found in the Raspberry Pi – we can use it to create a virtualized Pi on our PC.

Manual Setup vs Packaged

We have a couple of options open to us if we want to use QEMU. The first is by far away the easiest, and requires us to download this single QEMU package, which features everything we need to launch Raspbian in Windows.

Using the QEMU Raspbian Package

For simplicity’s sake, we’re going to use the QEMU Raspbian package from Sourceforge, which you will find at sourceforge.net/projects/rpiqemuwindows. Once downloaded, unzip QEMU.zip to your HDD – perhaps to C:/QEMU – and open. Inside the qemu subfolder, you’ll find three files.

Double-click run.bat to get started. A virtualized Raspberry Pi will appear, with Raspbian Wheezy booting up. This may take a while to complete, but should go pretty much as illustrated in this video.

Once complete, Raspbian will boot straight into raspi-configOptimize The Power Of Your Raspberry Pi With RaspbianOptimize The Power Of Your Raspberry Pi With RaspbianAs befits a man with too much tech on his hands, I’ve been playing with my Raspberry Pi recently, configuring the device so that it works to its fullest potential. It continues to run as...Read More, a configuration tool for the Raspberry Pi. It isn’t advisable to go over the top with the options on offer here, as this can lead to stability problems. In particular, avoid using the update option or using any of the usual Raspberry Pi update or upgrade instructions where possible.

Note that this configuration tool can be relaunched at any point from a command prompt using

sudo raspi-config

When you’re done, use the arrow keys to select Finish, then tap Enter. From here, you’ll be sent to the command line, where you can either try out some basic Linux commands (try ls to list the items in the current directory, for instance) or enter startx to launch the GUI.

Now you’re in control of the Raspbian desktop interface, where you’ll be able to gain familiarity with the various tools that come packaged with the Pi’s favored operating system, such as the basic building-block development tool for children, Scratch.

It’s time to have a play!

Emulation vs Buying a Raspberry Pi

Raspberry Pi’s are extremely affordable, so why would anyone want to spend their time using an emulator?

Finally, why do we do anything on a computer? Raspberry Pi fans love to play, and tinker, and this is just another way of looking at things. It may not feature a physical computer, but it can be a time saver, and a bit of a game changer in some scenarios. If you’re a Raspberry Pi owner, it’s certainly worth having access to QEMU – you never know when you might need a virtual Raspberry Pi running.

Have you tried a virtualized Raspberry Pi with QEMU? Did you run into any trouble with it? Tell us in the comments.

This tutorial worked 100%. Took about 2 hrs. to download and setup.
I have a Pi3 with the 7" screen and it is great - but I like using the QEMU setup for easy testing, and then I can feel confident changes to the actual Pi will work.
This tutorial was a real time saver- Thanks!
ps/ It boots faster in QEMU on my laptop than it does in real life.
Also wifi works instantly- which on the real device you have to have an ethernet cable to download drivers before wifi will work.
NOTE: You cannot transfer your setup from QEMU to a Pi SD card very easily - QEMU is for testing only before making changes to a production Pi (IMHO)
Thanks Again MUD!!!! Love you guys and gals :)

Can QEMU work on an android?
And can we do some programming on this virtual raspberry pi in QEMU?
In fact i wanted to see if i can make out a device with my own specifications on a raspberry pi. Will i be able to test it out on this?
Please suggest me.
Thanks in advance.

To be honest, if you use this emulator to evaluate the performance and acceptance of the RPi before you buy .... sad to say, but it is an extremely limiting experience that will put many people off. I used my i7 laptop with 16GB RAM and 2 TB disk to try the emulator out for a school. With only 1 x CPU simulated running at 100% just looking for files for an extended period than a minute from within Squeak just to discover not all files were installed... Rather ask one of your friends with a RPI to demonstrate it to you to help you make up your mind. I will demo this to the Schoolmaster and Science teacher before they start loading the emulator on their laptops, as this is an emulation of the very first RPi A - the RPi 3B running the Debian Stretch version outperforms the emulator by far.
Good concept though .... not a good experience ...

Is there any way to simulate peripherals and GPIO access in the virtualized raspberry pi with QEMU?
Or do I have to program virtual peripherals on my own? I'm not afraid to do it, it's just a bit time-consuming and I have a hard deadline fast approaching.
Along those lines, does anyone know the hexadecimal, ( e.g.: "0x800040a2" ) volatile addresses for the peripherals like the UART, I2C, etc. on Raspberry Pi?
Also, I love that the g++ compiler made its way into Raspberry Pi. Made me a very happy programmer! Had to download VIM though.

Try pressing "ctrl" and "alt" simultaneously. If you are running QEMU in the command line, it will not give you a pointer for the mouse. It's one of those Linux things, but if you want to get used to it, you'll find learning to navigate a computer using command lines is superior.

Hello, I need your help. I am not a programmer, so I'm not familiar with all the programming terms. I have an application ( more like compressed files) that is supposed to run on the Raspberry Pi only. I would like to check out the application on Qemu before I make orders for the Raspberry Pi. The instruction from the programmer is to extract the files on an sdk, insert into the Raspberry Pi and start it up. The game will install and run on its own. I have installed qemu and it works well, but I don't seem to be able to figure out how to start the application on qemu as I have extracted the files on a USB that is connected to my PC. Please help

Thank you for your response. Please, can you tell me where I can get the device online. For the price you stated or that range. I'm in Nigeria and this device is not available here. Hence, I'll have to make an order online. Thanks

Sure it can, if you are running Linux, qemu will happily accept /dev/sda* or /dev/mmcblk0* or /dev/cdrom* or even /dev/loop* as a device. Of course using an already mounted drive is a bad idea, and you will need to be root probably, but it works fine.

It seems that the keyboard layout is misconfigured. Using the console you can change it typing "sudo raspi-config" and then go into "Internationalisation options".
You can change it in the GUI (usually LXDE) but I haven't used it so much so I don't remember the exact steps.

The comments at SourceForge indicate that should work. The bigger problem I now see is that there is no way to connect it to anything on the PC. You just get a deaf, dumb and blind RPi installation except for internet connectivity. While that can be useful for establishing an initial environment it's not very useful for any kind of development. There should be a way to connect to the PC USB and sound system. alsa starts but there's no way to map the gozintas and gozoutas.

I got it started and taken to the Raspi-config screen. Hint: to get off that screen arrow up to the top entry and arrow right to get to the bottom selections.

Seems to be working fine with the GUI. I can't find anything like a package manager to obtain applications, however.

This comment system is screwed up. My last comment was supposed to be in response to Christian and "this" means writing the .img file containing the system as you may have customized it to a SD card suitable for booting a real Pi.

It happened to me as well. I executed the run.bat inside the qemu folder, not the one that's on the root folder of the extracted file. Then you can edit the one on the root folder to point to the one inside the qemu directory.

With this can you export what you have created/modified such that it can be written to an SD card to boot on the Raspberry PI so that it has the same config and installed packages as the emulated system?