Jump to content

Orange PI Zero 2 and SPI ILI9341 Touchscreen FBTFT Legacy Kernel - partial success


Recommended Posts

I got my 320x240 ILI9341 touchscreen to work with the image from the OrangePI site:
Armbian_23.5.2_Orangepizero2_bookworm_legacy_4.9.318_minimal

 

The display is one I bought from Amazon

 

Hosyond 2.8 Inches TFT LCD Touch Screen Shield Display Module 320x240 SPI Serial ILI9341 with Touch Pen Compatible with Arduino R3/Mega2560 Development Board


This document was very helpful getting the display set up on the OPZero 2:
https://tienda.tettsa.gt/wp-content/uploads/2022/08/OrangePi_Zero2_H616_User-manual_v3.7.pdf

 

I still don't have the touch part working.  If anyone has success getting 2 selects working with SPI1 on OPZero2 and touch working, let me know.

 

The basic steps to getting the SPI LCD to work are:

 

1) wire up the display to the OPZero2
 

2.8 Inch TFT SPI 240x320 => OPZero2

1 - VCC   =>  (1) 3.3v
2 - GND  =>   (6) Gnd
3 - CS      =>   (24) Spi1 CS
4 - RESET  =>   (7) GPIO 6
5 - DC    =>     (11) GPIO 1
6 - SDI (MOSI) =>    (19) Spi1 MOSI
7 - SCLK  =>  (23) Spi1 CLK
8 - LED    =>    (13) GPIO 0
9 - SDO (MISO) =>    (21) Spi1 MISO
10 - T_CLK     
11 - T_CS       
12 - T_DIN    
13 - T_DO    
14 - T_IRQ    
 

2) Install Armbian_23.5.2_Orangepizero2_bookworm_legacy_4.9.318_minimal - must be legacy kernel to work 4.9 is OK

 

3) sudo apt install fbi kbd armbian-config

 

4) sudo armbian-config

set up desktop

 

now to make the LCD work and start on boot

 

5) sudo nano /boot/armbianEnv.txt

overlays=spi-spidev
param_spidev_spi_bus=1
param_spidev_spi_cs=1
extraargs=fbcon=map:1


6) sudo nano /etc/modules-load.d/fbtft.conf

fbtft
fbtft_device


7) sudo nano etc/modprobe.d/fbtft.conf

options fbtft_device custom name=fb_ili9341 gpios=dc:70,reset:73,led:69 speed=16000000 busnum=1 cs=1 bgr=1 txtbuflen-32768 fps=10 rotate=90
 

😎 sudo dpkg-reconfigure console-setup

select UTF-8

select Guess optimal character set

select terminus

select 6/12

 

9) sudo nano /usr/share/X11/xorg.conf.d/99-fbdev.conf

Section "Device"
  Identifier "myfb"
  Driver "fbdev"
  Option "fbdev" "/dev/fb1"
EndSection

 

Now when it boots it should boot to the SPI LCD Display

 

Link to comment
Share on other sites

Thank you. Im using orange pi zero 2 too. it worked well on this 1.77 tft lcd display with driver st7735 using this code: 

options fbtft_device custom name=fb_st7735r busnum=1 cs=1 gpios=reset:73,dc:70 rotate=90 speed=16000000 bgr=1 txbuflen=65536

 

image.png.105dba0a8898c5bd4f7e31e17df36aac.png

 

Ps:  The pin 7 (reset) GPIO is PC9 and pin 11 (dc) is PC6

image.png.5666311d041cb20f3a0ab48c40b13247.png

Link to comment
Share on other sites

From the Amazon and page, it looks like the lcd panel have a digitizer chip (instead of bare connection to the panel’s analog XY outputs, like others).

 

Can you see the model of that chip U2?

 

definitely needs a second SPI interface in the orange pi, or bitbanging.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines