Adafruit DPI Display Kippah Created by lady ada Last updated on 2019-02-05 10:23:22 PM UTC
Guide Contents Guide Contents Overview Installation Connect Display Update & Upgrade Install and Try raspi-gpio Install Device Tree Blob Update configuration Touch screen support Backlight Downloads Files Schematic Fabication print F.A.Q. 2 3 7 7 8 10 11 11 13 16 18 18 18 18 20 Can I use the DPI interface and HDMI or TV out at the same time? How is that DTO blob made? © Adafruit Industries https://learn.adafruit.
Overview A TFT panel connected to a Raspberry Pi without the use of an HDMI decoder? What is this sorcery??? It's the DPI Kippah from Adafruit! This HAT-like* board snaps onto a Raspberry Pi B+, A+, Pi 2, Pi 3 or Zero and with a little software configuration, allows you to have what normally would go out the HDMI port come up on a nice little flat screen.
OK so, exciting right? But, what's the catch? The catch is this add on board uses nearly every pin available on the Raspberry Pi and those pins are hardcoded, they cannot be moved or rearranged. The pins used are GPIO 2 through 21 inclusive. That means you don't get the UART RX/TX pins (no console cable) and you don't get the standard user I2C pins, the EEPROM I2C pins, or hardware SPI pins. You do get to use pins #22, #23, #24, #25, #26 and #27, and the USB ports are fine to use too.
That said, if you dont need a bunch of GPIO, its very easy to add a high quality display. Pick and choose whether you want a touch-screen or not, then choose the size of the display - 5" or 7" is best. You can also grab an FPC extension board and extend the display away from the Pi. For power-users, this is a very nice little accessory Comes as one fully assembled and tested DPI Kippah circuit board.
© Adafruit Industries https://learn.adafruit.
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.
Update & Upgrade Start by updating and upgrading your Raspberry Pi to the latest software. sudo apt-get update sudo apt-get upgrade © Adafruit Industries https://learn.adafruit.
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 © Adafruit Industries https://learn.adafruit.
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 © Adafruit Industries https://learn.adafruit.
Install Device Tree Blob Now download and install the DPI device tree blob (tip o' the hat to aBUGsworstnightmare (https://adafru.it/mFi)) 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 © Adafruit Industries https://learn.adafruit.
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.
# Disable spi and i2c, we need these pins.
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.
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 © Adafruit Industries https://learn.adafruit.
Backlight The DPI Kippah has a backlight booster that can support any 40pin TFT display we carry. However, since backlights do vary from display to display, you may need to configure the backlight to match your display. Here's the constantcurrent draws of our displays 4.3" 480x272 - 1 strand of 7 LEDs in series, 25mA constant current 5.0" 800x480 - 2 strands 6 LEDs in series, 50mA constant current 7.
© Adafruit Industries https://learn.adafruit.
Downloads Files 5.0" Display (https://adafru.it/dWZ) Datasheet (example of 40-pin interface pinout) Configuration files on GitHub (https://adafru.it/rEE) EagleCAD PCB files on GitHub (https://adafru.it/rF2) Schematic The middle section with the touch screen controller is not placed on the non-touch version! Fabication print This PCB fits the electrical 'HAT' specification. Dimensions in mm © Adafruit Industries https://learn.adafruit.
© Adafruit Industries https://learn.adafruit.
F.A.Q. Can I use the DPI interface and HDMI or TV out at the same time? Nope! The DPI/HDMI/TV outputs are all the same hardware driver so you can only have one at a time. To enable/disable the DPI display, comment out or uncomment enable_dpi_lcd=1 display_default_lcd=1 in /boot/config.txt and reboot. It cannot be done on the 'fly' How is that DTO blob made? If you'd like to check out the device tree overlay and how to customize, you can read some more here: http://blog.reasonablycorrect.