Getting your Raspberry Pi device to work with an HDMI display should be easy. However, if you’re not seeing any HDMI output on your monitor, check out our list of troubleshooting tips that should help you fix the problem in no time. Go through the list and try each of these solutions until you find one that works for you.
Hardware Fixes for Raspberry Pi Monitor Not Working
When you connect a Raspberry Pi to a monitor via HDMI, several aspects could prevent the setup from working properly:
- Your Raspberry Pi’s HDMI port
- Your monitor’s HDMI port, or the HDMI cable itself
- The failure of a converter, if you’re using one, like an HDMI to VGA converter
- The SD card
Below, you’ll find a list of suggestions on how to fix any of these problems arising.
1. Check the Cable Connection
The first thing you should check is the HDMI cable connection between the Raspberry Pi and the monitor. You can try replacing it with another cable and see if it works now. Or try out different HDMI sources and outputs, like other computers against other monitors.
If you have the Raspberry Pi 4, which has two HDMI ports, you could try using the other port. This particular model defaults to powering HDMI0 and shuts down HDMI1 if it doesn’t detect a monitor on that port.
2. Check SD Card
Sometimes the operating system on the SD card inside the Raspberry Pi can fail (even on new models). If that’s the case with yours, you might need to re-write it.
To do so, you can use Raspberry Pi Imager to install the Raspberry Pi OS on your memory card. At the same time, be sure that the memory card is fully plugged in when you push it into the Raspberry Pi’s SD port.
3. Check the Cable First, Then Power On
Most Raspberry Pi and monitor systems only work when you have the monitor connected before powering the board and not the other way around. That’s not a feature, although it might seem like an awful bug for someone new to Raspberry Pis.
Having a monitor connected after being powered up is called “hot-plugging.” HDMI cables have a “hot plug detect” wire on pin 1, which is the rightmost pin on the wide pin tray. You usually can’t force the Raspberry Pi to work as a “hot-pluggable” device without some software help.
4. Use a Shorter Cable
If plugging the cable in before powering up doesn’t work, then it might be an issue with the cable. Typically, the voltage from the Raspberry’s HDMI pins is much higher than the voltage from the other side of the cable. This is called a “voltage drop.”
Where does the voltage go when this happens? Whenever an electron passes through a piece of wire, it tends to leave some heat. So the missing voltage becomes heat energy. For your monitor and Raspberry Pi, that could mean some signals become undetectably faint by the time they get to the other side.
If you want to reduce the electrical energy from being wasted as heat energy, then you should choose a shorter cable. The shorter the cable, the better. If you’re ordering online, you should look for a 30cm HDMI cable. That’s usually the shortest one you’ll find anywhere.
5. Check Your Monitor
Now, what if the problem all this time was the monitor itself? Older monitors may need stronger current from HDMI signals due to wear. Shorter cables may work, but that’s only good if the monitor can listen to weaker signals.
So just how weak of a signal can the Raspberry Pi produce? It largely depends on the model. But a good ballpark could be somewhere far less than 200mA – perhaps even a fourth of it. The Raspberry Pi 4 Model B uses a BAT54XV2T5G diode for its outputs. This diode is limited to 200mA, and the signal gets shared with all outputs, like GPIO, audio, and USB.
In contrast, HDMI compliance requirements set a maximum current of 500mA for HDMI signals.
6. Use the Sources Button on the Remote
This one’s more of a fix for folks using the Raspberry Pi on a TV. Television sets typically default to listening from the antenna port instead of the HDMI port. They won’t automatically pick up HDMI output when you plug in one.
To solve this, use the “Sources” button on your remote in order to change the TV’s input source.
Software Fixes for Raspberry Pi Monitor Not Working
If simple hardware solutions don’t work, then you should try dabbling with the software.
Note: If one of the fixes does not work, revert to the original settings after you’ve tried it. The worst you’d want to happen is having one “fix” cause another problem down the line.
7. Edit config.txt
The “config.txt” file is the Raspberry Pi’s version of a BIOS setting for controlling low-level drivers. You won’t find the BIOS during boot up, though. Instead, you can edit this file by removing the SD card and accessing it on a different computer. To access the file:
- Use a card reader or microSD converter, then plug it into your PC.
- DO NOT click the “Format disk” button when your computer offers to format the memory card for you. This will remove all files, including your Raspberry Pi OS. Click “Cancel” instead.
- Look for “config.txt” and open the file.
- Within the file, look for
#hdmi_safe=1. Uncomment it by removing the
#from the front.
- Save, eject, then plug the memory card into the Raspberry Pi.
- Plug the cable and turn it on.
If the Raspberry Pi’s monitor still doesn’t work, go back to step #1 and once you reach step #4, look for the following lines instead:
Pick one, then continue to step #5. Be sure to re-comment whichever line you uncommented previously before uncommenting anything else.
8. Turn Raspberry Pi Into a Headless Computer
If everything has failed, you’ll end up with a Raspberry Pi that’s practically locked in on itself. Pulling the plug on it once or twice shouldn’t be that bad. If you’re using a decent memory card, it’s pretty unlikely that it’ll get corrupted. But it will be as good as a piece of brick if you can’t use it at all.
However, you can still access it through SSH. Here’s how to do it:
- Remove the memory card and plug it into a different PC.
- Make a new file named “ssh”. This file automatically sets your Raspberry Pi into SSH mode as soon as it boots up.
- Make another file named “wpa_supplicant.conf”, which lets you set a Wi-Fi network to connect to automatically.
- Open the “wpa_supplicant.conf” file with a text editor and paste the following code:
Tip: If you can’t use “Open with” to open the file in a text editor, you can temporarily add “.txt” at the end of the filename to associate it with Notepad. Remove that part after pasting the code.
- Change the two-letter country code in
country=ZAinto your own country code. You can check your two-letter country code through the ISO website.
- Type your Wi-Fi name or SSID within the quotation marks of the
ssid=""line and your password in the
psk=""line. Hit “Save” after that.
- Check everything, eject, then plug the memory card back into the Raspberry Pi.
- Once powered up, the Raspberry Pi should automatically look for your Wi-Fi SSID, try to log in with the password, and let you connect to it via SSH.
You can use an SSH client like PuTTY to log into the Raspberry Pi as long as it’s on the same Wi-Fi network as your PC.
Frequently Asked Questions
Why do I need to remove the memory card when I can see the config.txt file in “/boot/ “anyway?
While it is visible in “/boot/,” you certainly can’t save the file while the Raspberry Pi is running. It will show a warning message, telling you that you don’t have enough permission to access the file.
What’s the difference between “#hdmi_force_hotplug=1” and “hdmi_force_hotplug=0?”
Truth be told, they’re the same thing. It’s probably just built-in like that to follow a format, making it easier to access. You can deduce that there’s no difference between
hdmi_force_hotplug=0 because the value of
hdmi-force-hotplug can only be either a
1 or a
0. But you’ll have a hard time deducing that
#config_hdmi_boost=4 can actually have five values (0, 1, 2, 3, and 4) instead of just two (0 and 1).