Display for Orange Pi Zero

After figuring out the GPIO pin names of the Orange Pi Zero expansion port it is relatively easy to configure any TFT display as a FBTFT device attached over the SPI bus, as long as you know the name of the chip used to drive the LCD screen. Here is a list of all the chips supported by the Linux kernel out of the box.

The display I have is very similar to this 3.2″ Waveshare touch-screen display that uses the ILI9340 LCD driver (PDF) chip. It was only a matter of specifying the two GPIO pins used for DC (Data or Command) and RST (Reset) in addition to the SPI port.

  • H2+ port PA00 maps to GPIO 0, connected to RST
  • H2+ port PA03 maps to GPIO 3, connected to DC
  • H2+ SPI bus 1 is connected to the display module SPI pins.

The following command can be used to load the FBTFT device with the required configuration:

$ sudo modprobe fbtft_device custom name=fb_ili9340 gpios=dc:3,reset:0 speed=16000000 busnum=1 rotate=90

And then map the console output to the newly created framebuffer device:

$ con2fbmap 1 8

where 8 stands for /dev/fb8.

Here is the display running htop:

3.2″ TFT LCD Display for Orange Pi Zero Over SPI

Permanent Setup

Create a new file /etc/modules-load.d/fbtft.conf with the following content:


Create another file /etc/modprobe.d/fbtft.conf with the configuration for the fbtft_device device:

options fbtft_device custom name=fb_ili9340 gpios=dc:3,reset:0 speed=16000000 busnum=1 rotate=90

Finally, edit /boot/armbianEnv.txt to map the console output to the framebuffer device during the boot, by appending the following:


Never lose a single business lead or enquiry again! Get my latest plugin Storage for Contact Form 7 now!

Buy now for only $19 →


  1. Mark Birss says:

    Does your lcd screen output the kernel messages during boot up or just show login prompt ?

    Have you been able to set led screen brightness using pwm ?

    im using other small screen the adafruit22a

  2. Jiří Šmejkal says:

    Does this work or all models of Orange pi, or just with this one ? : )

    • Kaspars says:

      It should work with almost all single board computers since they all have SPI ports. You only need to know the pin mapping in the Linux kernel.

  3. Denis says:

    Is it possible to run Android OS on Orange Pi Zero and use this display?

  4. Jake says:

    Quiet simplified presentation.
    I was wondering if the same method can be applied for the 3.5 inch touch screen LCD module here.

  5. Serg_io says:

    Have you measured refresh rate?

Leave a Reply