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:

  • Specifications
  • Using PWM to Control Brightness
  • Drivers
  • Rotate Display and Touch
  • Control the brightness in software
  • Pinout of Screen GPIO Connector

NOTE: The SD card that ships with the screen has a Raspian image that includes the touch drivers.

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 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 5-inch screen
1 x HDMI Connector
1 X Micro HDMI Connector
Screw/Standoff pack (8 pcs)
1 x 16GB SD Card


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 PWM Screen Brightness

In Raspberry PI 4B, 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:

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

Insert the SD card with the raspian system that was included with your screen into the computer, open config.txt file, add 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

Just the Driver

If you have updated the Pi image, or are starting with a brand new image and the touch screen does not work, you will need to install the driver using the following process:

After SSH login, enter the following command in the command line window, and press enter to automatically execute (note that networking is required):

sudo rm -rf LCD-show
git clone  https://github.com/goodtft/LCD-show.git  
chmod -R 755 LCD-show
cd LCD-show
sudo ./MPI5094-show

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:


5.   save and reboot your Pi

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

 

 

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.