Google Chat: zj734465502@gmail.com
+86-0755-88291180
sales01@spotpear.com
dragon_manager@163.com
services01@spotpear.com
manager01@spotpear.com
WhatsApp:13246739196
This is a general LCD display Module, IPS screen, 2inch diagonal, 240×320 resolution, with embedded controller, communicating via SPI interface
SYMBOL | Description |
VCC | Power (3.3V input) |
GND | Ground |
DIN | SPI data input |
CLK | SPI clock input |
CS | Chip selection, low active |
DC | Data/Command selection (high for data, low for command) |
RST | Reset, low active |
BL | Backlight |
ST7789V supports RGB444, RGB565 and RGB666 three formats. This LCD uses RGB565.
For most of the LCD controller, there are several interfaces for choosing, this module we use SPI interface which is fast and simple.
Note: It is not like the tradition SPI protocol, it only uses MOSI to send data from master to slave for LCD display. For details please refer to Datasheet Page 105.
RESX: Reset, should be pull-down when power on, set to 1 other time.
CSX: Slave chip select. The chip is enabled only CS is set Low
D/CX: Data/Command selection; DC=0, write command; DC=1, write data
SDA: Data transmitted. (RGB data)
SCL: SPI clock
The SPI communication protocol of the data transmission uses control bits: clock phase (CPHA) and clock polarity (CPOL):
CPOL defines the level while the synchronization clock is idle. If CPOL=0, then it is LOW.
CPHA defines at whish clock’s tick the data transmission starts. CPHL=0 – at the first one, otherwise at the second one
This combination of two bits provides 4 modes of SPI data transmission. The commonly used is SPI0 mode, i.e. GPHL=0 and CPOL=0.
According to the figure above, data transmitting begins at the first falling edge, 8bit data are transmitted at one clock cycle. It is SPI0. MSB.
For Raspberry Pi we provide examples based on C and python
Open terminal and run commands to enable SPI interface
sudo raspi-config
Choose Interfacing Options -> SPI -> Yes
Then reboot Raspberry Pi
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz tar zxvf bcm2835-1.60.tar.gz cd bcm2835-1.60/ sudo ./configure sudo make sudo make check sudo make install
sudo apt-get install wiringpi cd /tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v
sudo apt-get updata sudo apt-get install python-pip sudo pip install RPi.GPIO sudo pip install spidev sudo apt-get install python-imaging
sudo apt-get update sudo apt-get install python3-pip sudo pip3 install RPi.GPIO sudo pip3 install spidev sudo apt-get install python3-imaging
2inch LCD | Board number | BCM number |
VCC | 3.3V | 3.3V |
GND | GND | GND |
DIN | 19 | MOSI |
CLK | 23 | SCLK |
CS | 24 | CE0 |
DC | 22 | P25 |
RST | 13 | P27 |
BL | 12 | P18 |
Open terminal and download examples
sudo apt-get install p7zip-full wget http://www.waveshare.net/w/upload/1/19/2inch_LCD_Module_code.7z 7z x 2inch_LCD_Module_code.7z -r -o./2inch_LCD_Module_code sudo chmod 777 -R 2inch_LCD_Module_code cd 2inch_LCD_Module_code/RaspberryPi\&JetsonNano/
cd c sudo make clean sudo make sudo ./main
cd python/examples sudo python main.py
2inch LCD | XNUCLEO-F103RB |
VCC | 5V |
GND | GND |
DIN | PA7 |
CLK | PA5 |
CS | PB6 |
DC | PA8 |
RST | PA9 |
BL | PC7 |
2inch LCD | UNO PLUS |
VCC | 5V |
GND | GND |
DIN | D11 |
CLK | D12 |
CS | D10 |
DC | D7 |
RST | D8 |
BL | D9 |