Watterott MI0283QT-9A Display for the Rasbperry Pi

By lallafa, on März 10th, 2013

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:

Watterott's new MI0283QT-9A display running the boot console

Since the display supports the Linux framebuffer interface its also possible to run X11 with Xorg’s framebuffer driver on it:

The display also runs the X11 desktop

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.

Jon, I haven’t measured CPU usage yet but it wasn’t observable in my tests. The load of the driver is mainly caused by syncing the framebuffer contents to the display via SPI transfers. You can limit the interval of updates by giving the ‘fps’ (frames per second) option in the drivers. Then at most the number of fps frames are sent per second to the display SPI. This gives you an upper bound of data transfer volume caused by the driver and lets you estimate the load..

Hi Lallafa,
First of all congrats for your hard work. As I am not too familiar with compiling the linux kernel I have download the file “raspi-linux-3.6.11-ili9341.tar.gz”. I double checked that all the connections are ok. But when I boot the system I can’t see anything on my display:)
I would appreciate if you could help me out with this.
Many thanks in advance.
Regards,

Hi Lallafa,
Let me be more specific with my issue. My /boot directory is empty but I have noticed that both the kernel.img and the cmdline/txt are located in the small 56 MB partition on the SD Card. Is this the right location where I should copy the 2 files that I found in your /boot directory? Also the /lib directory is not inside the directory called /root but is in the main directory. Shall I copy your /lib folder there then?
I understand that they might sound stupid questions but the true is that I am not that familiar with it:)
Many thanks in advance.
Regards.

@marc: If you use my rasp-linux tar ball then the ili display driver is already built directly into the kernel. Therefore, you can’t load it afterwards with the spidevices module. Its simply not necessary. If you want to alter parameters of the module then you have to recompile the whole kernel in this case. Touch will not work as the touch driver is not compiled into the kernel in this tar ball 🙂 If you want to have touch then you have to recompile it… See my recent post on this topic.

@alrbertone74: The layout of the tar ball is as follows: the ‘boot’ directory contains the contents of the ‘boot’ partition (the first one with VFAT) and ‘root’ the contents for the second one (the root filesystem in ext format). On you Pi itself you’ll find the boot partition mounted on /boot and the root partition on /

Hi Lallafa,
Sorry to bother you again I think I am doing something wrong. I can’t figure it out what though. Basically after loading the driver the display becomes all white and nothing else happens. I would appreciate if you could help me out with this.
Many thanks in advance.
Regards.