If you have a PI Zero that won't boot, please read the PI Zero specific third post in this thread, before continuing here.
If you are reading this, you are presumably having trouble getting your Raspberry Pi or Pi 2 or perhaps PI3(+) to boot. This post will talk you through the potential causes of your boot problems, and will offer some solutions. If you use a PI3 (or PI3B+), note that it will only boot past the "rainbow screen" if you feed it the right (latest) boot files. So in case of trouble try using the latest Raspbian from the download page, or try updating your older software on an earlier PI on which it boots, with Raspbian that should work. If not ask the people behind the software for a PI3(+) compatible version.
If you have one of the latest PI 3B+ which won't boot and it keeps stuck on the rainbow screen, while also displaying the under voltage (lightening bolt) icon, and/or the red LED flashing then you are simply are using boot code that is too old. Please download the very latest version of Raspbian, or do an upgrade to it.
sudo apt update
sudo apt upgrade
Other OS's users might have to wait for their OS to get an upgrade.
Also note that a PI3B+ won't accept just any old charger, like older models, you really need a good reliable 2.5A power supply with thick wires, like the official one, or you might experience crashes, and memory failures.
Still the under voltage icon in the rainbow screen -only- indicates you are using the wrong boot code, it probably doesn't at that point indicate a power fail. Due to the RPI3B+ new power chip, (which includes the under voltage detector) old software no longer will find under voltage info in the same I/O registers, as its now reads that info through I2C. This also means that the red power LED is now also under CPU control, so it can flash (even without a real power fail)
If you have a PI that, after some days or weeks of working, suddenly has stopped booting, then please check if there is still 3V3 on the system. There have been a few reports of the 3V3 supply suddenly stopping working, often after shorting the 3V3 to GND. To check for the absence of 3V3 measure on the 3V3 GPIO pin, (pin 1, see https://www.raspberrypi.org/documentati ... /README.md, the left most pin on the bottom row, indicated with an orange dot) with the red lead of your meter and with the minus lead touching the metal shield of either the USB ports, the Ethernet port, or even the HDMI port, as all of these are connected to GND. Set your meter to DC Volt. Make sure the probe you are measuring with does not slip, and simultaneously touches any of the other GPIO pins, as that might instantly destroy your PI, especially shorting the 3V3 pin to the 5V pin will prove to be fatal. Unfortunately without 3V3, your PI is broken, and is not user repairable.
This sticky is long, as it covers all known boot problems in detail. If you do not have much time, you should try reading the second post in this thread, by drgeoff. He has written a concise version of the essentials.
In order to get your Pi to boot successfully, you need a correctly written SD card. Meaning (when you use NOOBS) that you have to drag the contents of the unzipped NOOBS folder into the root of the card, NOT those files inside a NOOBS_v1_5_0 folder on the card, as it won't boot that way, which is the main mistake people make. This will be covered in detail later in the post. If you are having trouble writing your SD card, please be sure to check out our NOOBS Set-up page.
Also, when using NOOBS, make sure that you always do a full format, with the Format Size Adjustment option ON ! with the official SD-card formatting too first!
you can get it for free here: https://www.sdcard.org/downloads/formatter_4/
Note that in version 5, or later, of this program you just need to click on the "overwrite on" choice button, "format size adjust" from version 5 onward is now always the default. Just don't use "quick formatting".
If you need to format a card that is SDXC (64GB or larger) read this:
https://www.raspberrypi.org/documentati ... matting.md
If you have trouble resetting (formatting) your SD-card (resulting in no boot activity) you could try forgoing the NOOBS method, and instead directly image the card, with DD, WinDiskimager or another imaging program. Recently "etcher" a promising new tool available for Mac, Linux and Windows promises to make the task of writing an image to an SD-card much simpler, it can be downloaded here: https://www.etcher.io.
Always use it with the very latest version of Raspbian, which is the best choice for a first boot, and the default OS. Download it from here: https://www.raspberrypi.org/downloads/raspbian/.
The good thing about using an image writer is that you don't need to format the card at all, as writing an image overwrites anything on the card! this removes the formatting problem. recommended if your card just won't boot, but make sure you have no power problems!
Another recent option is "PIbakery" a Windows/Mac and soon also a Linux image writing tool that can be used to painlessly create a custom installation of Raspbian, see this blog post about it: https://www.raspberrypi.org/blog/pibakery/
Before we address the reasons why your Pi may not be booting, there are some important facts you should know.
Every Raspberry Pi has been tested and shown to be working before it leaves the factory, so you can be confident that your Pi has booted successfully at least once! Manufacturing problems do happen, and it is technically possible that your Pi might be DOA. The chances of this being the case, though, are extremely slim. Raspberry PI`s do not usually stop working for no reason: in the majority of cases, not booting points to an issue with the SD card, not to a defective Pi. It is also important to note that the Pi might be booting, but there may be another reason why you are not getting video output.
No Video without Booting
In contrast to other computing systems you might be used to using, the Raspberry Pi does not have any built-in software (firmware). Notably, it doesn't have any form of Basic Input/Output System (BIOS). All the software needed to run the Pi must be loaded from the SD card. On a PC, the BIOS allows it to generate a video signal immediately, even when you have no operating system installed, and no storage device is connected. The Pi works differently. Without access to its storage device it cannot load any software at all, and then it does absolutely nothing! Your job is to provide it with a completely up-to-date and correctly imaged SD card. Using an SD card containing an obsolete version of the operating system can cause some functions not to work, or worse.
Check the ACT LED to determine if the Pi is booting
The ACT LED is essential in determining if the Pi can actually read from the card. It indicates that it can read from the card by blinking, If the ACT LED doesn't blink quickly in an irregular pattern for at least twenty seconds, this indicates that the Pi cannot read from the SD card, and that booting is not taking place. By the way, It doesn't matter if the ACT LED initially starts on or off. It is only the blinking of the ACT LED that is significant. A dim ACT LED also has no significance beyond the fact that you are using a B. From the model B+ onwards, the LED is driven differently, and it wont be dim.
People often post about their PI's having "Only the RED LED on", the RED LED is the power (PWR) LED, and it being on is essential, it should always be on, if it ever flickers or goes out you have a power issue. The green LED is the activity (ACT) LED and it shows if the PI is reading from the card, however its initial condition (whether its initially on or off) depends on the model of your PI. With a PI that is not booting (for example when the SD-Card is not inserted) the default behaviour is:
Model 1 (A and B) green LED is initially OFF (flickering ON means the model 1 is booting)
Model 2 (A and B) green LED is initially ON (flickering OFF means the model 2 is booting)
Model 3 (A and B) green LED is initially OFF (flickering ON means the model 3 is booting)
Model zero (or Zero W) only has green ACT led which is initially OFF (flickering ON when booting)
With no SD card inserted, note how the ACT LED behaves (hint, it won't blink!). Now insert a programmed card and power up, and that behaviour should change. If it does not, this indicates that Pi cannot see the necessary files on the SD card.
For a demonstration, watch this video of a model B: the ACT LED is the one on the left-hand side. Note that on the model 2 the ACT LED will start ON on power up, instead as off like the model 1.
With working firmware, Meaning the PI can read files from the card, the ACT LED will flicker intermittently for 20-30 seconds. The LED is actually driven by the software read from the card using a dedicated GPIO pin turning it on whenever the card is read. It can also blink in a regular "Morse" pattern, which usually indicates an error condition. See the Additional Information section at the end of this post for details.
Note that the Zero is a special case, it has just one LED, which is an ACT LED that goes only ON during card read activity, but without activity is off. This means that the LED will only turn on if the zero can read its boot files!
If the Pi seems to boot, but there is no video output, one way to tell it has booted is if the PI's Ethernet system is activated: if you have a Ethernet cable connected, the Ethernet LED's on the Pi should light up. If they do, it's a sure sign that booting has succeeded, there must be a different reason why there is no video output.
Check that your power supply and its USB cable is working and fit-for-purpose
This is sufficiently important that the B+ and Pi 2 now contain a detector that signals bad power. On the model A and B the PWR LED was simply connected to power, but on later models of the Pi it is controlled by a "brownout detector" which will switch the LED off whenever the Pi receives insufficient power. The condition can also be read from software; the software can also override the brownout detector, and control the PWR LED directly. New software will now show a "rainbow square" in the GUI when a brownout event is detected. Brownouts are caused by an insufficient power supply and/or by a weak microUSB cable (one which is too long, with internal wires which are too thin). It is very important to ensure your power supply is fit-for-purpose, as brownouts can lead to SD card corruptions and boot problems.
Even when the Pi boots successfully, you might not necessarily get a video signal that your monitor recognizes immediately
The Raspbian OS is designed to output a HDMI signal, but if it doesn't detect a HDMI device connected to the Pi, it will default to generating a composite signal on the RCA port (or 4-pins 3.5mm A/V jack on later models). Depending on the monitor you are using, you may have to switch it on before you boot the Pi, and ensure that HDMI input is selected.
Booting to NOOBS works a bit differently: it will always output a HDMI signal, even if you have nothing connected to the HDMI port, unless you press one of the numerical keys, 3 (PAL) or 4 (NTSC), to switch to a composite video output mode.
If you are using a composite A/V cable with your A+, B+ or Pi 2, with a 4-pole 3.5mm (TRRS) plug, make sure you have one that is correctly wired inside; the Pictorial Buying Guide can give you more information on this topic. Using a HDMI to VGA adapter can also cause problems.
What do do to make sure your PI is defective, if you suspect it is?
If any model of PI cannot boot, its SoC (System on a Chip), the main chip made by broadcom, cannot execute any code, and should go into a halt state. So the SoC should stay cold! If the SoC is not cold, but heats up rapidly then there is some defect in the chip, most probably caused by a latch-up or ESD (electro static discharge) problem. often the cause is exposure of a higher voltage on a GPIO pin than that is allowed. Specifically the GPIO's of a RPI are not 5V tolerant! and a voltage larger than about 4V can damage a PI.
except for that If you have a PI B, B+ or 2B, There is just one way to make sure the PI is broken! You must have an identical model that does boot, and only when you exchange just the working and non-working PI's, and leave everything else the same, including sd-card, power supply, USB devices, and cables, -everything-, you do that, and then the "bad" PI still won't boot, then and only then you know it is the PI itself.
The fault could be a bent pin in the cardholder that doesn't make contact, or creates a short! But it also could be a (halfway) blown polyfuse, so leaving it alone for a few days might still help. Remember all PI's (even the Zero) were tested at the factory. At the moment I wrote this (two months after its launch) of the returned as "not working" Zero's none of them had any defect!
If you have a PI model A, A+ or Zero there is a special trick which can be used to check if such a PI is "dead":
Take your PI, with nothing in any slot or socket (yes, no SD-card is needed or wanted to do this test!). Take a (special) USB-A to USB-A cable (or a more normal micro-USB to USB-A for the zero) & connect it to your PC, plugging the other end of the cable into the Pi's USB port. If the PI is alive, your Windows PC will go ding for the presence of new hardware & you should see "BCM2708 Boot" in Device Manager. Or on linux, with a "ID 0a5c:2763 Broadcom Corp" message from dmesg. If you see that, so far so good, you know the PI is not dead.
Note, if you cannot find a cable with USB-A plugs on both ends you may use your USB-A to micro-USB cable with an adapter that adapts the micro-USB port to a normal USB-A port. Another trick would be to cut two USB cables (any cable with an USB-A plug) in half and use the two USB-A halves, and wire the four wires with the same color of both cables to each other. Note that such a cable should NEVER be used to connect two computers together! Doing so might damage both computers! Use it solely to check if your model A(+) PI is functional.
Now you can go on to investigate other boot issues, or return the dead PI.
Reasons why you PI might not Boot...
Here is a list of known causes why the Pi might not be booting, or might appear not to be booting.
Power Supply Unit (PSU)
Without a power supply which is stable and fit-for-purpose, the Pi will not be able to read from the SD card, and it will fail to boot. These some known power supply issues which may cause boot problems:
* Unsuitable PSU: it should be able to deliver sufficient power to meet the requirements of each model.
* Unsuitable micro-USB cable: some cables too long, and use very thin copper wire which is not fit-for-purpose. You should use a short, thick, good-quality cable.
* You may have blown the PI's polyfuse: (AKA resettable fuse, see: https://en.wikipedia.org/wiki/Resettable_fuse) it will automatically recover if you give it some time, (meaning turning off the power and wait) though it may take a few days. If the fuse has blown no power will reach the PI, meaning the power LED will be off!
Also the waiting time cannot be shortened in any way (for example by cooling your PI) and if you try to power up without waiting long enough the fuse will probably re-blow!
* On early models of the Pi (A and B), the fact that the red power LED is illuminated does not indicate your power is OK, but simply that your Pi is receiving some power. For those models, the only fail-safe way to check for power problems is to measure the voltage the Pi is receiving. Check if a voltage between 4.75V and 5.25V is present between Test Point 1 (TP1) and Test Point 2 (TP2). TP1 is +5V, and is located near the bottom left corner of the Pi (as viewed when holding the Pi with the HDMI port at the bottom) and TP2 is located between the GPIO header and the RCA connector.
* Later models of the Pi (from the B+ onwards) have a new under voltage detector. This turns the power LED off when the input voltage drops below 4.65V. In this case, you can be reasonably sure that, if your power LED is illuminated, your power supply is sufficient. The only exception is if you are using USB devices which cannot handle a drop to 4.65V. Try unplugging all USB devices during boot to see if this helps: USB ports on later models of the Pi are hot-plug-able, so you can plug USB devices in after booting without crashing the software.
* If the PI has a broken 3V3 supply (caused by shorting the 3V3 to GND or 5V), then the PI will not boot, even if the 5V supply is OK.
* If you use composite video with an A+ or B+, you need the correct (TRRS A/V) cable.
The A+, B+ and Pi 2 use an A/V connector, which can accept a 3-pole (TRS 3.5mm jack) plug for stereo output, or a TRRS combined audio/video cable for RCA stereo audio output (red and white connectors) and RCA composite video output (yellow connector). This cable must be wired correctly; the Pictorial Buying Guide can give you more information on this topic.
* If you are using NOOBS, you must ensure that you activate the correct video mode after it has booted. After NOOBS boots, it waits about ten seconds for a key press to change the mode of the video output; it starts by generating an HDMI signal, but some HDMI monitors may not be able to display this, and composite video users will only see a black screen. So, in the first ten seconds after booting, repeatedly press any of the keys 1 to 4 to switch between ideal HDMI, safe HDMI, PAL composite or NTSC composite respectively. Do not press enter, as this will fix the current (bad) video mode in config.txt, which may not be what you want at all. If you do not have a keyboard to enter a digit then you can still change the display mode used by NOOBS by editing the recovery.cmdline file in the root NOOBS directory prior to first boot and appending the following argument: [code]display=<display mode number>[/code] (e.g. display=1 for ideal HDMI or display=3 for PAL composite). You can find more information on this in the NOOBS troubleshooting section on GitHub.
* NOOBS edits a copy of config.txt for the OS it installs, but it doesn't look at config.txt itself for video format information. If you want to edit the copy of config.txt it will install you can edit it from NOOBS. After NOOBS installs an OS, booting that OS will activate its video drivers: these drivers may behave differently those of NOOBS itself, but the OS will also use the config.txt that NOOBS may have changed when you accept the current video settings.
* Normally an OS like Raspbian will detect the capabilities of a monitor and choose a compatible video mode. However, that doesn't always work, so Raspbian might choose a "safe" resolution instead. But if you are unlucky you might find that your monitor doesn't recognize the generated video signal, just like when doing a regular install you then might need to tweak config.txt to force the OS to generate a video signal suitable for your monitor.
* It is also possible that the monitor is not engaging the HDMI hot plug signal, and the Pi cannot detect a connected HDMI (or DVI-D) device. In this case, you need to force its detection manually by adding (or enabling) the line [code]hdmi_force_hotplug=1[/code] in config.txt. The easy way to do these things is to re-boot with shift pressed, which should start NOOBS again. NOOBS has a built in editor that can be used to edit config.txt .
* SD Card
* You must ensure that you are using an SD card image that has the right version of the core files (comparable to a BIOS) and the right kernel. This means you need an image that is up-to-date for your machine. There have been several hardware upgrades in the past which required a software upgrade. The transitions between different RAM PoP chips required an upgrade, as did the transition from B to B+, and to the Pi 2. For a Pi 2, this means your card has to have the latest NOOBS or Raspbian image, dating from the second week of February 2015 at the very earliest. Make sure any other OS or image is Pi 2-compatible. One sign that you are trying to boot code that is incompatible with a Pi 2 is that, after showing the "rainbow screen" (GPU test), the Pi doesn't blank the screen and start booting the OS. If you have a card with Raspbian that boots correctly on your old Pi, but doesn't boot on the Pi 2, the following procedure should result in a card that also works on a Pi 2:
apt-get install raspberrypi-ui-mods[/code]
In general, it is best practice to ensure that your card is loaded with the latest version of your chosen operating system, which can be found on our downloads page.
* Ensure the Card was correctly formatted before use. Although NOOBS makes loading an SD card straightforward, you can still run into problems, especially if the card has been used before and isn't really empty. It is important to clear the card fully of any content, including superfluous old partitions. A quick format is not usually enough to do this. Format the card using the SD card format tool; if you are using Windows, set the FORMAT TYPE option to Full (overwrite) and set the FORMAT SIZE ADJUSTMENT option to ON. For a Mac, use the Full Overwrite option. Do not leave the Volume Label (Windows) or Card Name (Mac) option blank, as NOOBS sometimes has trouble with empty card name labels. We suggest naming the card something simple like 4NOOBS (or anything else you like). Please remember to format the SD card with a FAT32 Primary partition. Some tools default to creating a logical partition, which doesn't work. If you are using a 64GB card, make sure it is formatted as FAT, not as exFAT! You may need to use an alternative formatting program after using the official one, to convert (re-format) the resulting exFAT file system to FAT. see: https://www.raspberrypi.org/documentati ... matting.md. You can use the free FAT32 Format program for that.
One person reported that his first successful boot occurred after formatting his (64GB) card with the free ¨Rufus¨ imager used as FAT 32 formatter. But Rufus is not available for a Mac.
* Make sure you load the necessary files onto the card correctly. We recommend using the NOOBS installer; you can also install the image of your choice using dd, if you are experienced with it. However, even though a NOOBS card is quite simple to create, some people are still copying the .ZIP file itself to the SD card, instead of copying its contents. This will not work. If the contents of your card do not look those in this picture after installing (n.b. we are using Windows), then your card probably will not work as the Pi expects that at least some of the files it needs to boot from are directly on the root of the card (i.e. at the lowest directory level), and not in a subdirectory or in a .ZIP file
* Make sure your SD card is fit-for-purpose, and not a fake. Some SD cards are unsuitable, and if your card fails it may be a good idea to try a different one. Also note that some well known brands of SD card are copied by unscrupulous vendors: there are a lot of fakes around, and some of these may not contain the memory they are sold as having. You can use a tool like H2testw to find out if your card is fake or not (note that the site hosting this program is in German).
* Check that the card makes proper contact with the card holder. The card may not actually make good contact with the card holder, especially if you tried to force it in earlier. The card holder or its pins may have been damaged. Check for broken plastic, or bent pins. The pins should all stick out equally above the surface of the plastic of the card holder. Sometimes putting some gentle pressure on the card helps. Many of these problems have been fixed by the introduction of the better micro-SD card connector of the model B+ and Pi 2.
* Make sure your card writer is suitable. Some card readers, especially built-in ones, have trouble writing and formatting the SD card correctly. If you have an external SD card reader, we would advise you to try using it instead.
* Be aware that SD cards have a finite lifespan. If you have not tried a different new card, you still cannot assume that the Pi is defective, as cards can and will suddenly stop working. Buy another card, from a reliable source, and try that one.
* If you have any concerns about buying and loading your own SD car, we would advise you to buy the official NOOBS SD card, as this should enable you to avoid a lot of the issues covered above.
If you have worked through the primary check list above, and your Pi is still not booting, the more advanced information below should help you to address the issues.
Boot sequence details
Booting on a Pi is multi-phased: the majority of the boot process is executed by a small dedicated processing unit (CPU) inside the VideoCore GPU and consist of several stages. The Broadcom SoC contains a very small permanent memory which obtains the code to boot the device. First, it uses simple USB code to try to read a file pushed to it through the USB hardware. If this is unsuccessful, the code aborts, and uses its MMC hardware to attempt to read a file from a MMC compatible device. On the Pi, this is the SD card; the file should be on a FAT16 or FAT32-compatible filing system, and is called bootcode.bin. At this point, the ARM CPU is still in reset, so the contents of bootcode.bin are executed by the dedicated processor of the GPU: this code has more smarts, and can read the next file called start.elf, which in turn reads and interprets config.txt. It configures things like memory and Video/HDMI modes, console frame buffers, tests the GPU (resulting in the "rainbow screen"), and then handles the loading and configuring of the Linux Kernel (addresses, device tree, uart/console baud rates and suchlike). Only after this is the ARM CPU started, to execute the kernel code.
Error ACT LED patterns
While booting, the ACT LED should blink in an irregular pattern, indicating that it is reading from the card. If it starts blinking in a regular, Morse code-like pattern, then it is signalling an error.
If it blinks just once, it could be that you have a Raspberry Pi with SDRAM from Micron. If the processor has a logo showing an M with an orbit around it, then using the latest software should solve your problem. Also make sure you are using a 4GB SD card, as a 2GB won't work in this particular case.
These are the other patterns that the ACT LED might show during a failed boot, together with their meanings:
* 3 flashes: start.elf not found
* 4 flashes: start.elf not launch-able (corrupt) See below:
* 7 flashes: kernel.img not found
* 8 flashes: SDRAM not recognized. You need newer bootcode.bin/start.elf firmware, or your SDRAM is damaged
If you have an older model of the Pi, you should note that firmware before 20th October 2012 required loader.bin, and the meaning of the flashes was slightly different:
* 3 flashes: loader.bin not found
* 4 flashes: loader.bin not launch-able (corrupt) See below:
* 5 flashes: start.elf not found
* 6 flashes: start.elf not launch-able
* 7 flashes: kernel.img not found
potential reason for 4 flashes.
Note that 4 flashes could be an indication of a more or less broken SD-card connector. If Databit 1 is connected, but one of the other three Databits doesn't make contact, so the SD-card only works in 1-bit (SPI) mode, then this will lead to the four flashes error! Check if all pins of your card holder make good contact with the card!
Try the most basic set-up
If you are having a hard time getting the Pi to boot, try stripping it down to its most basic set-up. Disconnect any extraneous USB devices, and try booting with only the video and the power cable connected. If you have to press keys to switch video mode, you will need to connect some kind of keyboard, but try it with the most basic, no frills USB-keyboard. This can help ease the boot process in some circumstances.
Always remember to shut your Pi down correctly, to prevent SD card corruptions. Some people find that, after a first successful boot, their second attempt fails: this is usually due to a prior improper shutdown.
If you have successfully your Pi for the first time, make sure to perform a proper shutdown. Whenever the Pi boots, but particularly the first time, the software has to write a great deal of information to the SD card. If this is not properly finished before you power off, your operating system may become corrupted and you have to re-flash you card. To avoid this, make sure that you shut your Pi down with [code]sudo shutdown -h now[/code] If sudo asks for your password, enter it (it will be "raspberry", but it won't show up on the screen while you type it in) and wait for the ACT lead to finish blinking (the latest versions of Raspbian display a regular pattern of ten blinks to indicate a completed shutdown), then wait a few seconds more for the card to finish its tasks. It is only at this point that you should power off. Remember that not following this procedure may lead to corruption of the cards contents.
Alternative installation methods
If you are having trouble installing with the NOOBS installer, here are some alternatives:
* You can use the "install silently over a network" method described in this post: this installs Raspbian without the need for a keyboard or display.
* Another installer is BerryBoot: unlike the network installer, it can install many different operating systems, but you do need a keyboard and screen. It also installs a boot selector, so you can choose which OS to boot, and it is able assist in installing an OS to boot from on other media than the SD card, e.g. a USB flash drive.
* If you have video detection problems you cannot solve, then a third option is to write Raspbian directly to a card using one of the various image installers available for Linux, Mac OS X, or Windows. This may be advantageous if you have trouble getting video when using NOOBS.
If you have checked all the points above, but you still cannot get your Pi to boot, and you want to post a question about it, please mention having checked all the points in the Boot Problems Sticky. If you don't, peoples reaction will be to send you here!
[Latest revision, April 25, 2019]