RPi Screens

From eLinux.org
Jump to: navigation, search

RaspPi.png Back to the Hub

Hardware & Peripherals:

Hardware - detailed information about the Raspberry Pi boards.

Hardware History - guide to the Raspberry Pi models.

Low-level Peripherals - using the GPIO and other connectors.

Expansion Boards - GPIO plug-in boards providing additional functionality.

Screens - attaching a screen to the Raspberry Pi.

Cases - lots of nice cases to protect the Raspberry Pi.

Other Peripherals - all sorts of peripherals used with the Raspberry Pi.

Supported Standards

The following display outputs are supported on the board:

  • Composite video (NTSC and PAL) via an RCA plug (the yellow socket on your TV) or SCART socket.
  • HDMI 1.3a standard output.
  • Display Serial Interface (DSI) - via unpopulated 15-way flat flex connector.

These interfaces allow the use of a broad range of displays, including:

  • Televisions (HDMI or composite).
  • Computer monitors (HDMI/DVI-D cable) (VGA monitors would require either a composite or HDMI to VGA or component scan converter box).
  • DLP/Laser Pico Projectors (HDMI/DVI-D cable).
  • RAW LCD panels (DSI + interfacing hardware)
  • Composite and HDMI outputs can not be used at the same time (one or the other.)

For more info about DVI, VGA, and SCART screens see The RPi Verified Peripherals Page


You can connect the RasPi HDMI connector directly to an HDMI monitor using a standard HDMI cable.

Motorola Atrix Lapdock

A number of people have used a Motorola Atrix Lapdock to add a screen and keyboard with trackpad to RasPi, in essence building a RasPi-based laptop computer. Lapdock is a very clever idea: you plug your Atrix smart phone into Lapdock and it gives you an 11.6" 1366 x 768 HDMI monitor with speakers, a keyboard with trackpad, two USB ports, and a large enough battery for roughly 5 hours of use. The smart phone acts as a motherboard with "good enough" performance. The advantage over a separate laptop or desktop computer is that you have one computing device so you don't need to transfer files between your phone and your desk/laptop.

Unfortunately for Motorola, Lapdock was not successful (probably because of its US$500 list price) and Motorola discontinued it and sold remaining stock at deep discounts, with many units selling for US$50-100. This makes it a very attractive way to add a modest size HDMI screen to RasPi, with a keyboard/trackpad and rechargeable battery power thrown in for free.

Lapdock has two connectors that plug into an Atrix phone: a Micro HDMI D plug for carrying video and sound, and a Micro USB plug for charging the phone and connecting to the Lapdock's internal USB hub, which talks to the Lapdock keyboard, trackpad, and two USB ports. With suitable cables and adapters, these two plugs can be connected to RasPi's full-size HDMI connector and one of RasPi's full-size USB A ports.

Motorola also made a Lapdock for the Motorola Droid Bionic smartphone. According to Jim Manley, the Droid Bionic Lapdock is identical to the Atrix Lapdock, except that the two Micro plugs are each rotated 180 degrees.

The RasPi forum has a long thread on Lapdock with many useful suggestions, photos, and links: I made a Raspberry PI Laptop. There's also a good 'blog entry at element14 with photos and suggestions of where to get cables and adapters: Raspberry Pi Laptop. TechRepublic has a tear-down article with photos of Lapdock internal components here: Cracking Open the Motorola Droid Bionic Lapdock. Paul Mano has a wealth of photos of Lapdock innards at Motorola Atrix Lapdock mod projects.

The hardest part about connecting Lapdock is getting the cables and adapters. Most HDMI and USB cables are designed to plug into jacks, whereas the Lapdock has plugs so the cables/adapters must have Micro HDMI and Micro USB female connections. These are unusual cables and adapters, so check the links.

Lapdock uses the HDMI plug to tell if a phone is plugged in by seeing if the HDMI DDC/CEC ground pin is pulled low. If it's not, Lapdock is powered off. As soon as you plug in a phone or RasPi, all the grounds short together and Lapdock powers itself on. However, it only does this if the HDMI cable actually connects the DDC/CEC ground line. Many cheap HDMI cables do not include the individual ground lines, and rely on a foil shield connected to the outer shells on both ends. Such a cable will not work with an unmodified Lapdock. There is a detailed 'blog entry on the subject at element14: Raspberry Pi Lapdock HDMI cable work-around. The 'blog describes a side-benefit of this feature: you can add a small power switch to Lapdock so you can leave RasPi attached all the time without draining the battery.

The Lapdock Micro USB plug is the upstream port of Lapdock's internal USB hub, and connects to one of RasPi's full-size USB ports. Lapdock is not USB compliant since it provides upstream power on its Vbus pin. Lapdock uses this to charge the Atrix phone. You can use this feature to power RasPi if you have a newer RasPi. The original RasPi rev 1 has 140 mA polyfuses F1 and F2 to protect the USB ports, which are too small for powering RasPi using upstream power. Newer RasPis replace F1 and F2 with zero Ohm jumpers or eliminate them entirely, which allows Lapdock to provide power. If you don't mind modifying your original RasPi, you can add shorting jumpers over F1 and F2 or replace them with higher-current fuses.

What gets powered on depends on whether Lapdock is open or closed. If it's open, the screen and all Lapdock USB ports are powered. If you close Lapdock, the screen and full-size USB ports are powered down, but the Micro USB still provides upstream power. This is for charging an Atrix phone. When you open or close Lapdock, the Micro USB power switches off for about a second so if your RasPi is connected it will reboot and you may have a corrupted file system. There's discussion about this at the RasPi forum link, and someone has used a supercapacitor to work around the problem: Raspberry Pi lapdock tricks.


With an inexpensive passive HDMI to DVI-D cable or converter.

Composite video

Composite video (NTSC and PAL) via an RCA plug, directly from the board. You can change between PAL and NTSC output by editing config.txt in the boot SD card. Uncommenting: sdtv_mode=2 sets output to PAL (see RPi_config.txt). When you do not connect a HDMI monitor, the GPU in the PI will simply rescale (http://en.wikipedia.org/wiki/Image_scaling) anything that would have appeared on the HDMI screen to a resolution suitable for the TV standard chosen, (PAL or NTSC) and outputs it as a composite video signal.


Many older TVs in Europe only have SCART / euro connectors which can be used with composite via a simple adaptor


RGB analog/VGA

The Broadcom BCM2835 only provides HDMI output and composite output. RGB and other signals needed by RGB, S-VIDEO or VGA connectors are however not provided, and the R-PI also isn't designed to power an unpowered converter box.

A couple of options for VGA or component RGB outputs, bridging from either HDMI or, (much less obvious) the MIPI DSI interface:

Note that any conversion hardware that converts HDMI/DVI-D signals to VGA (or DVI-A) signals may come with either an external PSU, or expects power can be drawn from the HDMI port. In the latter case the device may initially appear to work, but there will be a problem, as the HDMI specs only provide in a maximum of 50mA (@ 5 Volt) from the HDMI port, but all of these adapters try to draw much more, up-to 500mA, in case of the R-PI there is a limit of 200mA that can be drawn safely, as 200mA is the limit for the BAT54 diode (D1) on the board. Any HDMI to VGA adapter without external PSU might work for a time, but then burn out D1, therefore Do not use HDMI converters powered by the HDMI port! The solution is to either only use externally powered converters, or to replace D1 with a sturdier version, such as the PMEG2010AET, and to replace the power input fuse F3 with a higher rated one, as the current one is only 700mA, and the adapter may use 400mA itself. Also notice that the R-PI's power supply also must be able to deliver the extra current.

Firstly, the following *might* work. Beagleboard people have reported various levels of success (mainly "issues"):


Something similar:


...it may need to be modified as described here:


Alternatively, it may be possible to design an expansion board that plugs into the LCD headers on the R.Pi. Here is something similar for Beagleboard:


Some more converters that might work:

More HDMI -> VGA converters are listed at the RasPi Verified Peripherals page, along with some caveats.

Potential interfacing chips:

The SOC (system on a chip) does not support any kind of analog component video, including VGA, since the SOC is designed for mobile phone use where this would not be a requirement. Additional components would be needed to generate RGB signals. Additional components would push the price beyond the $25 target and therefore won't happen.

RGB digital

A HDMI/DVI to parallel 3.3v interface PCB, also meant for the Beagleboard:

Potential interfacing chips:

They emit Hsync, Vsync and RGB w/ about 8 bits each (sometimes, it's called "MIPI DPI")

Interfacing to non-monitor LCD panels

Embedded systems often have displays that aren't connected like televisions and computer monitors. RPI may be able to interface to some of these.

DSI port

DSI connector is on board on the RPI. Some graphical LCD/OLED displays might be attached to it.

An additional binary blob might be required for the DSI port to function correctly (or function at all). When or if such a blob will be made available is unknown. Update 04 Jun 2013: "DSI will get done though - there are 1.5M boards out there with the connector on - that would, as you say, have been a waste of money ($120k??) if it never gets used." [1]

Nokia N900 has 800x480 DCS LCD (afaik its like DSI, but has build in framebuffer). Replacement screen is about ~$40 (~$50 with 4pin resistive touchscreen).

Nokia N8 has AMOLED 360x640 pixels DSI LCD. Replacement screen is about ~$35, another ~$25 for Multitouch Synaptics T1021A touchscreen (I2C + interrupt IO, no docs/drivers).

The schematics for apples iPhone 3gs and 4g suggest they speak DSI, thus they can probably be connected directly. The older iPhones use a "Mobile Pixel Link" connection from National Semiconductor. The 3GS panel (480×320) goes as low as US $14.88, while the 4G one (960×640, possibly the LG LH350WS1-SD01, with specifications) can be had for US $17.99 or as low as US $14.28. The connectors used might be an issue, but this connector might fit. Additional circuitry might be necessary to provide the display with required 1.8V and 5.7V for operation, and an even higher voltage for the backlight.

Other panels with MIPI DSI: www.panelook.com

The Raspberry Pi provides one clock lane and two data lanes on the S2 connector, as can be read from the schematics. It is currently unknown whether this is enough to drive the iPhone 4G screen, as that screen seems be driven with three data lanes in its original application.

Potential LVDS interfacing chips:

TC358764/5 Display Bridge (MIPI® DSI to LVDS)

DVI receiver TFP401A, TFP403, or TFP501 + LVDS transmitter SN75LVDS83B or SN65LVDS93A (Mentioned earlier fit-VGA is build around TFP401A, probably many more "active" DVI2VGA cables are build the same way)

I2C/SPI ADC can be used to interface 4 pin resistive Touch Screens, For example STMPE812A. Texas Instruments has a solution for 4 or 8 wire touchscreens using their rather cheap MSP4309.

Character cell LCD modules

These have controllers and interfaces for feeding in text (and symbols). Common screen sizes include 16x2 to 40x4. They're often seen in keypads, industrial machines, cash registers, laser printers etc.

The old-style 2-line, 16-character LCD displays can be commonly controlled over UART, thus providing a cheap way to display values for sensors etc.

TFT LCD Modules

LCD Modules with SPI or a parallel interface can be connected to the Raspberry Pi.

  • SPI displays are available in sizes from 1.8" to 2.8".
  • Parallel interface displays can be found in many sizes, usually up to 7" and more. Parallel interfaces are usually 8 or 16-bits wide (sometimes 18 or 24-bit wide), plus some control-lines. The Raspberry Pi P1-connector does not contain enough GPIOs for 16-bit wide parallel displays, but this could be solved by borrowing some GPIOs from the CSI-connector or from P5 (on newer Raspberry Pis). Alternatively, some additional electronics (e.g. shift-registers or a CPLD) can be used, which could also improve the framerate or lower the CPU-load.

Linux Framebuffer driver projects

Latest packages, guides and kernel sources for most common TFT displays

Display Adapter kits