6

I have bought a 3.95 inch TFTLCD for Raspberry Pi (ILI9488 from mcufriend) and I can't get it to work. I am just mildly experienced with Raspberry and Linux, but the way this type of screen was shown I thought it is simple plug-configure something-and play type of deal, but it seems that GPIO screens are harder to operate than I thought. I have Raspberry Pi 2 (Two of them, actually one running Raspbian and second with OSMC-Kodi)

I have already tried some automatic scripts, some tutorials and methods and all of them failed in one way or another. I am linking two of them just to prove that I know how to use Google. I tried also Adafruit easy install and some others, but this site will not let me link more than two addresses.

And many, many more, I would need to retrace all my history. They are also not consistent so I am not able to mix "some of that and some of that" to make a solution. And my screen is just white and blank. So for me, this is a first problem that internet search can't solve and I am surprised.

Is there any tutorial that can guide me step by step in setting it up? Can anyone help me?

3 Answers 3

3

it's easy to work on debian jessie, i assume that you have latest version installed and fully worked with spi enabled. to make display working at boot follow this steps:

1) read the guide in previous answer "Cheap TFT display for Raspberry Pi"

2) create a new file called fbtft.conf under /etc/modules-load.d/ with command

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

and add the following lines:

spi-bcm2835  
flexfb  
fbtft_device 

3) create a new file called fbtft.conf under /etc/modprobe.d/ with command

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

and add the following lines:

options fbtft_device name=flexpfb rotate=180 fps=60 gpios=dc:18,reset:7,wr:17,cs:4,db00:22,db01:23,db02:24,db03:10,db04:25,db05:9,db06:11,db07:8  
options flexfb width=480 height=320 buswidth=8 init=-1,0xb0,0x0,-1,0x11,-2,120,-1,0x3A,0x55,-1,0xC2,0x33,-1,0xC5,0x00,0x1E,0x80,-1,0x36,0x28,-1,0xB1,0xB0,-1,0xE0,0x00,0x04,0x0E,0x08,0x17,0x0A,0x40,0x79,0x4D,0x07,0x0E,0x0A,0x1A,0x1D,0x0F,-1,0xE1,0x00,0x1B,0x1F,0x02,0x10,0x05,0x32,0x34,0x43,0x02,0x0A,0x09,0x33,0x37,0x0F,-1,0x11,-1,0x29,-3  

4) Open cmdline.txt in the editor and add this line BEFORE rootwait parameter:

fbcon=map:10 fbcon=font:VGA8x8 FRAMEBUFFER=/dev/fb1

5) install framebuffer drivers :

sudo apt-get install xserver-xorg-video-fbdev  

6) create new x config file with command:

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

...and add the following lines:

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

save, reboot and enjoy!

boot process

enter image description here

2
  • This works. I was initially confused by the reference to cmdline.txt, which is not discussed here. It is mentioned in the "Cheap..." tutorial, but the only thing you need from there is the path to the file itself. I think you can improve your answer by saying run sudo nano /boot/cmdline.txt and add fbcon=map:10 fbcon=font:VGA8x8 FRAMEBUFFER=/dev/fb1 before the rootwait parameter (it is usually in the end).
    – ralien
    Jun 15, 2016 at 13:44
  • Im having issues making it work. /dev/fb1 does exists and I've adjusted the cmdline.txt ,but I still get a white screen. any idea of how to debug this? Mar 16, 2017 at 21:14
2

Apparently I should not give up after three days of research. More effort was required. Just few hours after posting this I finally found out the correct way to do this.

This method works with combination of RPi 2 and ILI9844 3.95 inch screen: Cheap TFT display for Raspberry Pi

Note: It requires downgrade to Raspbian Wheezy! It does not work for Raspbian Jessie

I am leaving this for other frustrated Raspberry Pi enthusiasts out there.

2
  • 1
    It is great that you found an answer for this particular issue, and shared it. However, unfortunately, links tend to die over time, so if you could edit your answer to include (i.e. quote) the steps required to get the TFT to work, it would make your answer stand the tests of time. As it stands, this would be considered a "link only answer", and may get flagged as such. Also, can you accept your own answer, using the tick icon to the left. Mar 17, 2016 at 2:23
  • thanks! I was getting very frustrated trying to make it work for Jessie Mar 16, 2017 at 20:51
0

One precision :

options fbtft_device name=flexpfb rotate=180 fps=60 gpios=dc:18,reset:7,wr:17,cs:4,db00:22,db01:23,db02:24,db03:10,db04:25,db05:9,db06:11,db07:8

options flexfb width=480 height=320 buswidth=8 init=-1,0xb0,0x0,-1,0x11,-2,120,-1,0x3A,0x55,-1,0xC2,0x33,-1,0xC5,0x00,0x1E,0x80,-1,0x36,0x28,-1,0xB1,0xB0,-1,0xE0,0x00,0x04,0x0E,0x08,0x17,0x0A,0x40,0x79,0x4D,0x07,0x0E,0x0A,0x1A,0x1D,0x0F,-1,0xE1,0x00,0x1B,0x1F,0x02,0x10,0x05,0x32,0x34,0x43,0x02,0x0A,0x09,0x33,0x37,0x0F,-1,0x11,-1,0x29,-3

Those are only two lines of code not 4 lines. Had a white screen for some time before understanding it !

Not the answer you're looking for? Browse other questions tagged or ask your own question.