In my last post I attached the Watterott Display to my Raspi. The model MI0283QT-2 I have here is not available anymore and was replaced with the newer MI0283QT-9A display modul. Unfortunately, this new display uses a different graphics chip and thus the driver I wrote won’t work for these panels…
With my new display driver skills, I thought about adding this new module, too A few days ago I received this new model and on the weekend I finally found a little time to investigate the new driver code… The new chip is an ILI9341 and uses a 9 bit SPI protocol to receive its commands… Phew, sounds a bit strange but notro’s fbtft driver framework again comes to the rescue: he has already supported the Adafruit22 which also uses 9 bit transfers and he also added an 9-bit SPI patch for the Raspi Linux kernel… With this starting point I was able to support the new display in a few hours:
Since the display supports the Linux framebuffer interface its also possible to run X11 with Xorg’s framebuffer driver on it:
Again I was able to drive the display with a 32 MHz SPI clock (even 48 MHz works) and got a stable and smooth 25 fps for the 320×240 pixels in 16 Bit RGB.
If you want to setup this display on your own Raspi then read on…
Setup the ILI9341 driver
I won’t repeat all the details of the last driver setup as a lot steps are very similar. Just read the previous driver setup page and then you’ll find the differences here:
- The hardware setup is unchanged! Its a HW compatible replacement module.
- The new driver is called ifi9341fb
- My GitHub repository holds the new driver source: cnvogelg/fbtft
- Clone the source. Reconfig and rebuild your kernel.
- Select the new ILI9341 driver either as a module or directly place it in the kernel
- Test run:
modprobe ili9341fb modprobe spidevices name=ili9341fb cs=1 fps=25
Use pre-compiled Kernel
If you don’t want to recompile your own kernel then you could use the binary drop I have uploaded on my site:
- Download raspi-linux-3.6.11-ili9341.tar.gz
- Unpack the archive
- The files in boot directory need to be copied in your Raspi’s /boot directory
- The files in root directory need to be places in your Raspi’s / (root) directory
- Make sure to backup your existing files in these directories first before overwriting them!
- Also ensure to keep the files in the same hierarchy as found in my archive.
- I use an 12.11 Ubuntu System (as vmware on my Mac) to mount my Raspi SD card and perform the changes there. This is the safer approach as I don’t replace the running directly on the Raspi…
- Insert your updated sd card and enjoy booting with your display’s console…
X11 on your Display
- Setting up the X11 desktop on your Raspbian system is fairly easy:
- Install the frame buffer driver (as root):
# apt-get install xserver-xorg-video-fbdev
- Create a config file with following contents in /usr/share/X11/xorg.conf.d/99-fbdev.conf:
Section "Device" Identifier "myfb" Driver "fbdev" Option "fbdev" "/dev/fb1" EndSection
- Now you can startx as a user and the desktop will be on your display:
That’s it for today… and enjoy your tiny desktop on the Raspi
BTW: notro was so kind to include my last driver in his mainline source tree… So you could grab the source also from his repository.