Sunlight Readable Display Technical Information and Configuration
Welcome to the MakerPlane Sunlight Readable Display support page. On this page you will find information on the following:
- Drivers and Installation Instructions
- Using PWM to Control Brightness
- Rotate Display and Touch
- Control the brightness in software
- Pinout of Screen GPIO Connector
- Specifications
Drivers and Installation
The drivers for this custom manufactured screen are the goodtft LCD-Show drivers. The direct link to the 5″ screen drivers is here:
https://github.com/goodtft/LCD-show/blob/master/LCD5-show
Driver Installation instructions are here:
https://github.com/goodtft/LCD-show?tab=readme-ov-file#how-to-install-the-lcd-driver-of-raspberry-pi
Using PWM to Control Brightness
Raspberry pi 3B/3B+ PWM Screen Brightness
The backlight brightness can be controlled by using the following command on raspberry PI 3B/3B+:
gpio -g pwm 18 1024
gpio -g mode 18 pwm
gpio pwmc 1000
gpio -g pwm 18 X
The value of X should be between 0 and 1024, with 0 being the brightest and 1024 the darkest
Raspberry Pi 4B/5 PWM Screen Brightness
In Raspberry PI 4B/5, you need to update the wiringPi GPIO library (Raspberry PI needs to connect to the Internet)
cd /tmp
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i -B wiringpi-latest.deb
The backlight brightness can be controlled using the following commands on raspberry PI 4B/5:
gpio -g mode 18 pwm
gpio pwmc 4095
gpio -g pwm 18 X
The value of X should be between 0 and 1024, with 0 being the brightest and 1024 the darkest.
Capacitive Touch Driver
Open config.txt file (the config file is located in the root directory of the SD card, which is named /boot), confirm that the following lines are added. If they aren’t, type them in at the end of the file, save then restart.
dtparam=i2c_arm=on
dtparam=spi=on
hdmi_group=2
hdmi_mode=87
hdmi_cvt 800 480 60 6 0 0 0
dtoverlay=goodix
Rotate Display and Touch
Display Rotating
Add this statement in the config.txt file (the config file is located in the root directory of the SD card, which is named /boot):
display_rotate=1 #1:90;2: 180; 3: 270
Note: For Raspberry Pi 4, you need to comment out dtoverlay=vc4-fkms-V3D.
#dtoverlay=vc4-fkms-V3D.
And then restart the Raspberry Pi after saving.
sudo reboot
Touch Rotating
After the display is rotated, the position of touch is incorrect because the touch doesn’t change with the display angle. So the touch also needs to be modified.
1. Install libinput.
sudo apt-get install xserver-xorg-input-libinput
If the system you installed is Ubuntu or Jetson Nano. The installation code is:
sudo apt install xserver-xorg-input-synaptics
2. Create the xorg.conf.d directory under /etc/X11/ (if the directory already exists, proceed directly to step 3).
sudo mkdir /etc/X11/xorg.conf.d
3. Copy the 40-libinput-conf file to the directory you created just now.
sudo cp /usr/share/X11/xorg.conf.d/40-libinput.conf /etc/X11/xorg.conf.d/
4. Edit this file.
sudo nano /etc/X11/xorg.conf.d/40-libinput.conf
Find the part of the touchscreen, add the following statement inside, and then save the file.
Option "CalibrationMatrix" "0 1 0 -1 0 1 0 0 1"
Similar to the picture below:

sudo reboot
After completing these steps. The LCD could rotate 90 degrees both display and touch function.
Note:
90 degree: Option “CalibrationMatrix” “0 1 0 -1 0 1 0 0 1”
180 degree: Option “CalibrationMatrix” “-1 0 1 0 -1 1 0 0 1”
270 degree: Option “CalibrationMatrix” “0 -1 1 1 0 0 0 0 1”
Python Brightness/Dimming Script
The following python code snippet controls the brightness if you are using a raspberry pi and want to use software to control it:
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)
pwm=GPIO.PWM(18, 100)
pwm.start(0)
for dc in range(0,110,10):
print dc
pwm.ChangeDutyCycle(100-dc)
time.sleep(1)
pwm.stop()
GPIO.cleanup()
Interface Pinout
The following table shows what the pins connected to the screen are for.
| PIN NO. | SYMBOL | DESCRIPTION |
|---|---|---|
| 1, 17 | 3.3V | Power positive (3.3V power input) |
| 2, 4 | 5V | Power positive (5V power input) |
| 3, 5, 7, 8, 10, 11, 13, 15, 16, 18, 24 | NC | NC |
| 12 | PWM | GPIO 18 for PWM to change brightness |
| 19 | TP_SI | SPI data input of Touch Panel |
| 21 | TP_SO | SPI data output of Touch Panel |
| 22 | TP_IRQ | Touch Panel interrupt |
| 23 | TP_SCK | SPI clock of Touch Panel |
| 6, 9, 14, 20, 25 | GND | Ground |
| 26 | TP_CS | Touch Panel chip selection, low active |
Specifications
| Brand Name | MakerPlane |
| Type | HDMI LCD Touch Display |
| Panel Size | 5-inch IPS |
| Standard Resolution | 800 x 480 |
| Brightness | 1100 cd/m2 |
| Aspect Ratio | 16:10 |
| View Angle | Horizontal: 170 Vertical: 150 |
| Interface | HDMI |
| Touch Input | GPIO |
| Touch Type | Single Point Capacitive Touch Screen |
| Power | 5V 600ma Power via Micro USB/GPIO |
| Module Structure | Custom LCD Display + CTP Touch + PCB |
| Supports Device | Raspberry Pi, BB Black, Banana Pi and other MINI PCS |
| Product Size | 121mm x 95.2mm |
| Package Size | 154mm x 135mm x 51mm |
| Package Includes | 1 x high brightness 5-inch screen 1 x HDMI Connector 1 X Micro HDMI Connector Screw/Standoff pack (8 pcs) |
Support
Please use the MakerPlane Forums to ask any questions related to the screens and to check for any solutions to issues you are having.