New toys are exciting. Every moment not spent unpackaging and getting your toy ready for action is a moment wasted. That’s exactly how I felt when I got my hands on my first Raspberry Pi. Initial State’s ever-generous leader had provided me with everything I needed to get started – an HDMI monitor, a Bluetooth keyboard and mouse…life was looking pretty good.
I made sure everything was hooked up properly, turned on my monitor and then powered up the Pi. And…nothing happened. Instead of the beautiful Raspberry SVG popping up on my screen, I saw a “No HDMI Input Detected” message. I was confused. I checked the HDMI cable. I checked that the Pi was actually on. Everything was good. But everything was not good because the most important slice of my Pi was refusing to cooperate.
Come to find out, Initial State’s leader wasn’t overly generous – the monitor was probably as old as HDMI itself. And after a bit of research, I realized that Pi’s tend to have widespread issues not working with older monitors. But I’m an engineer, and I wasn’t going to let that stop me. When rebooting failed, I turned to Google and found out about a very important config.txt file that was the answer to my problems.
The monitor is not working with the Raspberry Pi
Change the config.txt file
NOOBS, Raspberry Pi’s out-of-box software that came preloaded on my SD card
The problem with NOOBS is that, while it does have lines in it’s code to help your monitor recognize the Pi’s HDMI signal, the key presses (1 for HDMI preferred mode and 2 for HDMI safe mode) never worked for me. And since I couldn’t see the NOOBS interface since my monitor wasn’t working I couldn’t access the config.txt file that way.
I decided that the OS I wanted was Raspbian. So I went and downloaded just Raspbian (this will work for any other OS too). When I unzipped the file, I now had access to the config.txt file! If you open it up, you’ll see that the entire file is commented out:
# For more options and information see # http://www.raspberrypi.org/documentation/configuration/config-txt.md # Some settings may impact device functionality. See link above for details # uncomment if you get no picture on HDMI for a default "safe" mode #hdmi_safe=1 # uncomment this if your display has a black border of unused pixels visible # and your display can output without overscan #disable_overscan=1 # uncomment the following to adjust overscan. Use positive numbers if console # goes off screen, and negative if there is too much border #overscan_left=16 #overscan_right=16 #overscan_top=16 #overscan_bottom=16 # uncomment to force a console size. By default it will be display's size minus # overscan. #framebuffer_width=1280 #framebuffer_height=720 # uncomment if hdmi display is not detected and composite is being output #hdmi_force_hotplug=1 # uncomment to force a specific HDMI mode (this will force VGA) #hdmi_group=1 #hdmi_mode=1 # uncomment to force a HDMI mode rather than DVI. This can make audio work in # DMT (computer monitor) modes #hdmi_drive=2 # uncomment to increase signal to HDMI, if you have interference, blanking, or # no display #config_hdmi_boost=4 # uncomment for composite PAL #sdtv_mode=2 #uncomment to overclock the arm. 700 MHz is the default. #arm_freq=800
I went through and uncommented these lines to cover all of my bases:
# uncomment if you get no picture on HDMI for a default "safe" mode hdmi_safe=1
# uncomment if hdmi display is not detected and composite is being output hdmi_force_hotplug=1
# uncomment to increase signal to HDMI, if you have interference, blanking, or # no display config_hdmi_boost=4
The new uncommented lines worked like a charm. My monitor recognized the Pi as soon as I booted with the newly formatted SD card.
Now you can play with your new toy! If you’re looking for a good starter project, check out my post on using buttons to turn LEDs on and off!