Overview

Its a mini HDMI monitor! So small and simple, you can use this display with any computer that has HDMI output, and the shape makes it easy to attach to a case or rail. This backpack features the TFP401 for decoding video, and for the touch version, an AR1100 USB resistive touch screen driver.

The TFP401 is a beefy DVI/HDMI decoder from TI. It can take unencrypted video and pipe out the raw 24-bit color pixel data - HDCP not supported! The 5" and 7" displays are 800x480 resolution, which is just enough to run most software, but still small enough that it can be used in portable or embedded projects without the bulk.

You can even power the entire display from a USB port.

With the default 5" 800x480 display and 50mA backlight current, the current draw is 500mA total. You can reduce that down  370mA by running the backlight at half-brightness (25mA).

With the default 7" 800x480 display and 150mA backlight current, the current draw is 600mA total. You can reduce that down  400mA by running the backlight at half-brightness (75mA).

With the backlight off, the decoder and display itself draws 250mA. If you want more backlight control, there's a PWM input, connect that to your microcontroller or other PWM output and you can continuously dim the backlight as desired.

We have two versions, one is video only and one is video+touch. If you want a screen that you can poke at, get the +touch version. The USB port then acts as both power and data, with the touch screen appearing like a USB mouse.

In particular, we suggest it for use with single board computers (or desktop/laptops!) with DVI/HDMI output like the Raspberry Pi or BeagleBone Black. You can power the driver over USB and then feed it video via the HDMI port. It's a very small board so great for tucking into an enclosure. Please note the TFP401 decoder chip does not contain a video scaler, it will not resize/shrink video!

Pinouts

Since this is an all-in-one design, there's no soldering required, but there are a few extra hacker-ports for those interested in tweaking!

EDID EEPROM Port

If for some reason you want to read/edit the EDID EEPROM, the top left has 4 pins: +5V, GND, SCL and SDA. The EEPROM can be written to with some Arduino code here

Backlight Control

The backlight driver can be dimmed with a PWM signal. Use ~1KHz or so to dim/adjust the backlight. You can use 3V or 5V logic for the PWM signal. The monitor does not have the ability to do its own dimming, you'll need a seperate computer/microcontroller pin to do that.

If you want to save power, you can drop the backlight current.

On the 5" model you can adjust the backlight from 50mA down to 25mA by cutting the trace in between the two pads labeled Open for -25mA, if you put a switch between those pads you can switch on the fly between half and full brightness

On the 7" model the default backlight is 150mA and you can adjust it down by cutting any of the solder jumpers marked -25mA or -50mA

Power Output

You may want to 'recycle' the 5V or 3V power from the board, we supply two power pads for the USB 5V power and the 3.3V regulated power. This is different than the +5V HDMI power which is used for powering the EEPROM and isn't good for current draw.

Raspberry Pi Config

Both 5" and 7" displays have 800x480 pixels, and when used on Windows, at least, will autodetect and set the resolution. On Raspberry Pi, you're better off forcing the HDMI resolution by using the following config.txt file (in /boot/config.txt) - you can edit it by popping the SD card into your computer, the config.txt file is in the root directory

Remember, the TFP401 driver does not have a video scaler! If you don't feed it exactly 800x480 pixels the image will not stretch/shrink to fit!

Download: file
# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (here we are forcing 800x480!)
hdmi_group=2
hdmi_mode=87
hdmi_cvt=800 480 60 6 0 0 0
hdmi_drive=1

max_usb_current=1
    
# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# for more options see http://elinux.org/RPi_config.txt

Also on Raspberry Pi — use the raspi-config tool to force audio to the 3.5mm jack (not HDMI or auto). Not all screens support audio over HDMI, and in this case it may actualy interfere with the display.

It is possible to power the display from the onboard Pi USB port with the modification below, but a powered hub is ideal!


To let the Pi A+/B+ drive a display power over USB, first make sure you have a 2A power supply, with a good quality USB cable, a thin wire power cable is no good. Make sure its 24AWG or smaller, shorter USB cables are better too. Then add

Download: file
      max_usb_current=1
    

to /boot/config.txt

If you're getting wierd reboots, its likely the power supply and/or power USB cable is not good enough. A powered hub will also solve this problem

Touchscreen

If you purchased the version of the backpack with touch support, you will receive a board with extra circuitry for a resistive touch screen decoder. The circuit is an AR1100 USB resistive touch driver, so it basically just uses the same USB port you use to power, but for the data

The AR1100 shows up like a USB mouse, it works on all operating systems as the computer doesn't even know its a touch screen, it just thinks its a mouse! You can adjust the AR1100 to consider itself a Touch Digitizer, supported by many but possibly not all computers.

You can also re-calibrate the touch screen. We do calibrate it with the 800x480 5" screens but we recommend re-calibrating it if you feel like its not precise enough for your tastes.

The software is Windows only, but you only have to configure/calibrate the touch controller once, then it can be used on any computer!

FAQ

When plugged into a Raspberry Pi I don't get any sort of display, the backlight is on but the screen just has white lines

If your Pi cannot detect the EDID and do the the right thing you must set the /boot/config.txt

Click here to see how to configure it

My display kinda works but the right hand of the screen has all this noisy graphics!

If your screen looks like this

It is not broken - what is happening is you are sending 640x480 data to the monitor but since it does not have a scaler, and the display is 800x480, the remaining 160 pixels are 'not drawn' - you must set the resolution of your computer to 800x480 to get all of the pixels used! For raspberry pi, check the Config page for the correct config.txt setup for 800x480

I'm getting vertical line(s) when the display is connected to a Raspberry Pi.

Use raspi-config to force audio out the 3.5mm audio jack (rather than HDMI or auto).

If you still have issues, edit /boot/config.txt and add or un-comment this line:

hdmi_drive=2

Can I set the display brightness from the host computer?

No. This is a limitation of HDMI. Display settings like brightness, contrast, color balance, etc. need to be done directly on the display hardware.

Downloads

Files

Schematics

The version without touch does not have the AR1100 circuitry in the top right corner

5" dimensions (in inches)

7" version - dimensions in inches

This guide was first published on Nov 04, 2014. It was last updated on Nov 04, 2014.