Installation

If you just plug in the DPI Kippah, it won't work on a fresh installation of Raspbian! You must set up the special device tree overlay configuration!

However, its not too bad, check it out below!

We've only tested this device tree overlay/firmware with Raspbian. Since its a bit of a hack, it doesn't work with the native pre-boot 'NooBS' screen. However, it does come up immediately with Raspbian (e.g. you get to see the rainbow square screen)
Note these instructions are tested to work with Raspbian Jessie and Wheezy as of 2016/04/11

Connect Display

The DPI Kippah has a 40-pin TFT connector. This is a semi-standard connector. A majority of 3.5", 4.3", 5.0" and 7.0" dot-clock DPI displays have this 'standard 40-pin' connector.

Check the Downloads page for an example datasheet so you can check if your display is compatible. All Adafruit 40-pin TFT TTL displays work, we do not guarantee any other displays work.

In fact, if you connect a display that does not match the right pinout, you could easily fry the display if the 20V backlight pin ends up connected to a logic pin!

To connect, gently pull on the two black 'ears' on the FPC connector, and plug in the display so the gold/silver metalic pins are facing 'up' away from the PCB.

Update & Upgrade

Start by updating and upgrading your Raspberry Pi to the latest software.

sudo apt-get update
sudo apt-get upgrade

We want to get the most recent recent kernel and firmware, so run

sudo apt-get install rpi-update

and then

sudo rpi-update

Then reboot with sudo reboot

Install and Try raspi-gpio

To help us debug/make sure we have the right device tree blob, we'll use a tool called raspi-gpio

Install it with

sudo apt-get install raspi-gpio

Then you can run it with

sudo raspi-gpio get

When you run it this time, you'll see the first 'bank' of GPIO pins set to, essentially

GPIO nn: level=1 fsel=0 alt=  func=INPUT

Install Device Tree Blob

Now download and install the DPI device tree blob (tip o' the hat to aBUGsworstnightmare) from github by running:

cd ~
wget https://raw.githubusercontent.com/adafruit/Adafruit-DPI-Kippah/master/dt-blob.bin
sudo cp dt-blob.bin /boot/

in your Pi's command line, to change directories to the home directory, download the blob, then copy it in /boot

Update configuration

Finally, we'll tell the Pi to use the attached DPI display. The following will work for our 5" and 7" 800x480 displays. Both touch and non-touch displays use the same setup here

Start by editing with

sudo nano /boot/config.txt

and add the following lines at the bottom

# Disable spi and i2c, we need these pins.
dtparam=spi=off
dtparam=i2c_arm=off

# Set screen size and any overscan required
overscan_left=0
overscan_right=0
overscan_top=0
overscan_bottom=0
framebuffer_width=800
framebuffer_height=480

# enable the DPI display
enable_dpi_lcd=1
display_default_lcd=1

# set up the size to 800x480
dpi_group=2
dpi_mode=87

# set up the hsync/vsync/clock polarity and format
dpi_output_format=454661

# set up the size to 800x480
hdmi_timings=800 0 40 48 88 480 0 13 3 32 0 0 0 60 0 32000000 6

For 4.3" TFT use the following:

# Disable spi and i2c, we need these pins.
dtparam=spi=off
dtparam=i2c_arm=off

# Set screen size and any overscan required
overscan_left=0
overscan_right=0
overscan_top=0
overscan_bottom=0
framebuffer_width=480
framebuffer_height=272

# enable the DPI display
enable_dpi_lcd=1
display_default_lcd=1

# set up the size to 480x272
dpi_group=2
dpi_mode=87

# set up the hsync/vsync/clock polarity and format
dpi_output_format=520197

# set up the size to 480x272
hdmi_timings=480 0 40 48 88 272 0 13 3 32 0 0 0 60 0 32000000 3

This sets up the screen, if you ever want to temporarily 'undo the DPI Hat install' just delete these lines

enable_dpi_lcd=1
display_default_lcd=1

To finish installation, just run sudo reboot

Touch screen support

If you have a DPI HAT with touchscreen circuitry installed and a touch-screen display, you can easily use it for touch screen support

A microUSB cable is required (not included) connect it from the MicroUSB connector on the HAT into one of the Pi's USB port

No drivers are required! However, you'll likely want to calibrate the screen. We have a calibration helper python script. Start by installing python-pip and pyusb version 1.0.0b1

sudo apt-get install python-pip
sudo pip install pyusb==1.0.0b1

Then grab the code and example gradient

cd ~
wget http://adafru.it/ar1100py
mv ar1100py ar1100.py
wget http://adafruit-download.s3.amazonaws.com/gradient800x480.jpg

If you are running it on a 5" display, continue as is.

If you are running it on a 7" display, edit with nano ar1100.py and change this line:

writeeeprom = CALIBRATED_5IN_800x480;

to

writeeeprom = CALIBRATED_7IN_800x480;

Then run the calibrator with:

cd ~
chmod +x ar1100.py
sudo python ar1100.py

Its normal for the first time you run it, it will complain "Couldn't find generic either" just run it again!

Just hit the up arrow on your keyboard and return, to rerun sudo python ar1100.py

This time it will continue, program the AR1100 with the calibration data, and give you a rainbow display. 

When done, hit Escape on your keyboard

Last updated on 2016-09-29 at 09.39.57 PM Published on 2015-06-15 at 12.46.09 PM