Wave share 3.5 LCD (C) screen is blank while booting up

What is the problem?

I tried installing the Waveshare 3.5 inch LCD (C) , by following their wiki page. when I added the touch screen to the raspberry pi, the screen was blank. The white back ground light is visible.

I am yet to install octoscreen , but wanted to check if the screen was working fine

What did you already try to solve it?

Additional information about your setup (OctoPrint version, OctoPi version, printer, firmware, what kind of hardware precisely, ...)

I was assuming something would load onto the screen during booting of the pi, but the screen is blank.
Any guidance would be helpful


If it were me, I'd check in with the support forum of whoever sold you the Waveshare and ask them what's required. If you add it to a Pi and it shows nothing on bootup then there might be a driver required.

I spent a fair amount of time getting this device to work correctly on a 3B+. I found that if you follow the instructions in their wiki exactly, the screen sorta works. When I touch on the screen, I can see the screen (or some portion) for a split second. For grins I installed it on an original Pi and it works. I don't think their driver works with the current kernel correctly.

I did intsall the drivers, these were the instructions on their wiki page

git clone https://github.com/waveshare/LCD-show.git
cd LCD-show/

The third instruction was throwing up an error, I have mentioned it below.

I opened the terminal on my pc via putty and the download was fine....

But when I rebooted and added the LCD screen nothing shows up, its just a white screen.

I followed their wiki: https://www.waveshare.com/wiki/3.5inch_RPi_LCD_(C)

The instructions were pretty simply, not sure what went wrong.

They didn't indicate to run that. They said:

sudo ./LCD35C-show

The sudo part means that it needs to run as the root user temporarily. You should have been prompted for the pi user's password to credential for that.

That said, the script file itself is missing the typical "shebang" at the top that tells your default shell how it needs to be run.

As an example, here is a script I have created in ~/scripts called killhmi:


PYTHONID="$(ps -ax -o pid,command | grep /home/pi/ocm-hmi/__init__.py | grep python | awk '{print $1}')"
if test -z "$PYTHONID"
	echo "Nothing found to kill"
	/bin/kill -9 $PYTHONID

The first line is a shebang and tells my remote bash shell that I want this to run in another bash shell during its execution.

The danger of not including that first line is that the script author assumes that everyone else has the same shell that they do. There are several different shells and different operating systems and they have slightly different syntax.

Additionally, your script has goodies like this nestled inside it:

sudo apt-get install xserver-xorg-input-evdev

...in addition to other code which assumes that you're running the Desktop version of Raspbian. In my humble opinion, I don't love scripts and manufacturers like this (at all). Compare and contrast with the Adafruit version. Here are the top several lines:

# (C) Adafruit Industries, Creative Commons 3.0 - Attribution Share Alike
# Instructions!
# cd ~
# wget https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/adafruit-pitft.sh
# chmod +x adafruit-pitft.sh
# sudo ./adafruit-pitft.sh

if [ $(id -u) -ne 0 ]; then
        echo "Installer must be run as root."
        echo "Try 'sudo bash $0'"
        exit 1

Not only does she include the shebang, pedigree and instructions but she's also coded it so that it will be gentle if you haven't run this with sudo, as instructed. Later in the script is a usage section and it will tell you what's going on and ask you before performing steps.

hey thanks a lot for the detailed post !!

Will try to contact the company I bought it from and get it up and running