element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
RIoTboard
  • Products
  • Dev Tools
  • Single-Board Computers
  • RIoTboard
  • More
  • Cancel
RIoTboard
Blog RIoTboard: Building a TFT LCD Display and Digitizer - Part 2: Circuit
  • Blog
  • Forum
  • Documents
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join RIoTboard to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: shabaz
  • Date Created: 10 Jul 2014 6:37 PM Date Created
  • Views 8681 views
  • Likes 4 likes
  • Comments 19 comments
  • lcd
  • ioe
  • freescale
  • tft
  • internet_of_things
  • riotboard
  • iot
Related
Recommended

RIoTboard: Building a TFT LCD Display and Digitizer - Part 2: Circuit

shabaz
shabaz
10 Jul 2014

Part 2: Introduction

This project is about connecting a screen from a laptop to the RIoTboardRIoTboard. For a full introduction, see part 1 by clicking here, it goes into more detail about this project. This part 2 covers the circuit and powering up the display.

 

Here is an example photo of the result (wood mock-up stand, it will be tidied up later), this is a 12.1 inch display from a laptop. The RIoTboard is temporarily attached to the rear of the display:

image

 

How does it work?

The RIoTboard has a low-voltage differential signalling (LVDS) connector that sends data at very high speed (hundreds of MHz) in a serial form to an LCD display panel. The LCD display panel is responsible for deserializing the data back into a parallel format that the LCD display driver can understand. The advantage of this is that very few wires are required to transmit video from the RIoTboard to the LCD panel.

 

So, all that needs to be done is to connect up wires from the LVDS connector up to the LCD panel of choice. The LCD panel will require a certain voltage supply to operate. The backlight - often an LED backlight or a cold-cathode fluorescent lamp (CCFL) - will also require power. The particular LCD panel I used had a CCFL backlight and these require quite a high voltage (hundreds of volts) so an off-the-shelf inverter was used to generate this voltage. LED backlights require a far lower voltage.

 

The photo below shows the entire project, with everything taped to the back of the LCD panel to temporarily test everything out. The RIoTboard can be seen on the left (red board). Bottom-right is the main board I created which generates the required voltages to drive the LCD panel and the backlight.

image

 

Here is an annotated photo. It will be described in detail next:

image

 

Circuit Overview

There’s not much to the circuit except power supplies (on the board marked ‘Main Board’ in the photo above. The RIoTboard LVDS interface directly connects to the LCD display. The Main Board contains two main power supplies; one to drive the panel, and another for the backlight. The two voltages will vary depending on the panel chosen.

 

In order to have some flexibility, adjustable DC-DC converters were used so that they can be set to the desired voltages to suit different LCD panels. The DC-DC converters were off-the-shelf Texas Instruments (TI) modules, PTH04000WAH PTH04000WAH (step-down converter to drive the LCD panel) and PTN04050CAH PTN04050CAH (step-up to drive the backlight).

 

The LCD panel I used required 3.3V to function, and a 12-24V supply to drive the inverter to create the high voltage (HV) supply (>600V) for the cold cathode fluorescent lamp (CCFL). No inverter is needed for LED backlight panels.

 

The circuit for the two power supplies is shown below. The DC-DC converter U1 is used to generate a 3.3V supply to drive the LCD panel. U4 is used to step-up from 5V input up to 15V to drive the CCFL inverter which generates >600V. Different voltages can be set as can be seen in the table in the circuit diagram below (it depends on what input voltage the inverter requires), and the diagram shows the voltage set to 6V. In order to set to 15V, R12 should be 68 ohms, and R13 is not fitted.

 

The circuit has lots of ‘do not fit’ resistor locations that can be experimented with if it is desired to run the entire circuit and the RIoTboard from a single supply source.

image

 

The printed circuit board (PCB) that was created is shown below (the files are attached below so you can order your own from any PCB manufacturer). The board was designed to be cut into several pieces. The main board contains the two DC-DC converter modules and all associated circuitry. There is space for a variable resistor in case one is needed for dimming some displays.

image

 

The right side of the board is used to create some ‘breakout boards’. This is because it can be tricky making connections to the small connector on the LCD panel, and the mini LVDS connector on the RIoTboard. Therefore these small breakout boards are used to help with the connectivity.

 

There is also a small breakout board for a ‘digitizer’. This is because the LCD panel I selected has a Wacom digitizer covering the screen, for pen input. I wanted to attempt to use that with the RIoTboard too (I have not attempted it yet).

 

Selecting and Using a TFT LCD Panel

In theory many LCD panels should work. It was decided to select a slightly older panel with a reasonable resolution of 1024x768. Higher resolutions may require extremely high speed LVDS signalling and the wiring could get very critical.

 

It is worth selecting a nice panel such as an In-Plane Switching (IPS) one, which will allow great viewing angles. The panel I used was HT12X21-351 from e-bay. This panel can be found in IBM X41 tablet notebooks, therefore has good viewing angles. The X41 tablet version panel came with a built-in pen digitizer, Wacom model SU-040-X01. There is a non-tablet version and the digitizer is absent.

 

This is what the LCD connector looks like on the back of the LCD panel. Different model LCD panels may have a different connector:

image

 

The connector has 1mm pitch pins, however it is extremely hard to crimp a mating connector without the correct tool. Therefore the metal shell was removed (gently ripped off with an old pair of wire cutters):

image

 

Then, the breakout board was directly soldered onto the pins:

image

 

This is eventually where I needed to get to:

image

 

More on that later, but it is probably easier to solder these wires on first (the wires are discussed next), and then solder the breakout board onto the LCD panel connector to end up with the result seen in the photograph above.

 

Selecting Cables

LVDS signalling is carried over pairs of wires. The communication from the RIoTboard to the LCD panel is carried over four pairs of wires. The cable is fairly critical. One option is to try Ethernet cable however in the end I decided to use the internals of a SATA cableSATA cable. The photo below shows the insides of the cable with the plastic insulator stripped off. The cable has two pairs of wires. The outer screen and braid was removed, leaving just the twisted pairs with inner screen intact.

image

 

Some recommendations when creating the LVDS signalling connections are:

  1. Keep the cable lengths all exactly identical
  2. Untwist the bare minimum at each end, and keep the remainder twisted (don’t over-twist the remainder either; keep it exactly as it was)
  3. No sharp bends; try to make them curved

 

Once the connections were made, the copper ground wire was twisted around all the pairs to keep the screens all at the same voltage, and to keep a tidy bundle.

The LCD panel I used had the following pinout:

image

 

RIoTboard LVDS Interface

The RIoTboard uses a mini HDMI socket for LVDS signalling. A breakout board was created and soldered to a mini HDMI plugmini HDMI plug as shown here. This requires the printed circuit board thickness to be 0.8mm instead of the more usual 1.6mm.

image

 

The differential signalling wire pairs were soldered on to end up with the result shown below.

image

 

Information on the pinout is available by viewing the RIoTboard schematic, or viewing table 2-2 in the RIoTboard user manual. The table is reproduced here:

image

Constructing the Main Board

The main board contains the two DC-DC converters mentioned earlier. The photo below shows what it looks like, assembled and taped onto the LCD panel. There is not a lot to the main board.

image

 

Cold Cathode Fluorescent Lamp (CCFL) Inverter

The particular LCD panel that I used had a CCFL backlight instead of an LED backlight. This meant that I needed an inverter to get from 15V to >600V. I purchased a cheap inverter (less than £3) from ebay (search for “5-28V 5mm Ultra-thin High Voltage Universal LCD Inverter for Laptop”). Here it is taped onto the LCD panel:

image

 

RIoTboard Configuration

The RIoTboard by default generates video on the larger full-size HDMI connector. This needs to be disabled, and LVDS signalling needs to be enabled on the mini HDMI connector.

To do this, a USB to 3.3V serial adapterUSB to 3.3V serial adapter is needed. The adapter is plugged into the serial port (three wires into J18 on the RIoTboard). The pinout is:

 

Green: pin 1 (marked with a triangle on the RIoTboard); transmit from RIoTboard point of view
Red: pin 2; receive from RIoTboard point of view
Black: pin 3; 0V

 

The USB end is plugged into a PC and the PC terminal software configured for 115200 baud and Flow Control is set to XON/XOFF.

 

Next, the RIoTboard is powered up. As soon as text begins to appear on the terminal, press space until the system halts at a bootloader prompt. Enter the following commands (for Android):

setenv bootargs console=ttymxc1,115200 init=/init nosmp video=mxcfb0:dev=ldb,bpp=32 video=mxcfb1:off fbmem=10M vmalloc=400M androidboot.console=ttymxc1 androidboot.hardware=freescale
saveenv

 

Now power off the RIoTboard. Everything is now ready to go!

 

Powering up

The 5V supply to the main board can now be connected up. Then, power up the RIoTboard. You should see an Android startup screen launch. Plug in a mouse, and you should be able to unlock the screen and begin using Android.

image

 

Summary

The information here will allow an LCD panel to be interfaced to the RIoTboard successfully. The next step is to create an enclosure to house it, so that the temporary wood stand can be finally discarded.

 

The main board also has space to connect up the digitizer portion of the LCD panel to the RIoTboard, so that pen capability can be enabled. That’s for another day too.

image

 

The full circuit diagram, parts list with order codes and plot (Gerber) files for the PCB are attached. The PCB files can be sent to any PCB manufacturer. Just specify that a 0.8mm thickness PCB is required.

 

If you try a different TFT LCD panel, do report back so that a list of tested panels can be recorded to help others.

Attachments:
image
image
board-gerber-files.zip
parts-list.txt.zip
  • Sign in to reply
  • e14 Contributor
    e14 Contributor over 9 years ago

    Does anyone have more information about this SU-040-X01 Digitizer? I am trying to hack it fur use on a Raspberry PI 2 but I can't find any information on it.

     

    I figured out where the power is on pin 13 and ground on 1 and 14 however i am trying to figure out what the other four wires are, when it's powered it reads 3.3, 2.3, 0 and 3.3 across those pins. I am assuming that it is for RX/TX and probably some way to tell the computer it's ready? or clock signals? Not sure - based on that description (it's a little vague i know) can anyone guess as to how I might read data with an arduino or PI 2?  I am guessing I will need to use a serial library but I am not even sure of that...image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • e14 Contributor
    e14 Contributor over 10 years ago in reply to shabaz

    Hi,

     

    thank you for your very fast reply. I wonder what is the maximal current the RiotBoard provides for the 3,3V. I still try to find this information. But even if the 3,3V current was insufficient it will not be that bad, 5V -> 3,3V DC-DC converter are available for as much as few €/$

     

    At first I did not realize, the RiotBoard LVDS is only 1-channel LVDS image but at least 1280x800 should be supported I have some other LCDs with better resolution (1440x900, 1600x ....) but they are all 2-chanel LVDS. I wonder if the backlight control finally works under Android - it is almost 2 years since your post. I will try to connect my 1280x800 LCD together with some cheap 5V inverter when the board arrives and will share my results here.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shabaz
    shabaz over 10 years ago in reply to e14 Contributor

    Hi Karel,

     

    It has been a while since I revisited this, but basically the 5V->3.3V DC-DC converter circuit was used in case the RIoTboard 3.3V supply had insufficient power to drive the LCD board.

    If you have access to the LCD panel datasheet, you can check the 3.3V supply current consumption and then see if the RIoTboard 3.3V supply will support it.

    Also, if you have a 5V inverter to power the backlight then this eliminates the need for a second DC-DC converter. My inverter needed a 12V supply minimum, and since I wanted to operate

    everything from a single 5VDC supply, this meant I needed a 5V-12V (or slightly higher) DC-DC converter, and I went with 15V.

    Regarding your other questions, unfortunately I'm not aware of the answer : (

    tusharp might be aware of them (he will automatically see this thread since I have tagged his name there <---).

    Since I wasn't sure what resolutions were supported, and I wasn't sure about the quality of my twisted pair connections, I felt it safer to go with a conservative 1024x768 display panel for this prototype. It worked well though, worked first time! which is always something unusual for any project. There were no display/glitch issues, etc.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • e14 Contributor
    e14 Contributor over 10 years ago

    Hi, thank you this detailed guide. It was long searching for a platform allowing me to develop and apply hybrid apps under android (Cordova/Phonegap/Ionic). There are multiple very cheap single-board-computers with different quality of hardware support, driver support or Android availability. 99% of them does not support LVDS and 99%of them support only 16:9 resolution on HDMI.

     

    I have a couple of old 15"-17" LCDs and I bought also some cheap LVDS-HDMI boards, but I stuck at stretched output picture due to unsupported resolution on HDMI output. I was very happy to discover the riot board with (hopefully) good Android and LVDS support.

     

    Although this thread seems to be fairly old I would be very happy if someone could clarify some of my questions:

     

    • Why do I have to use separate circuit board to power up the LCD ? The LVDS (Mini DVI) interface supports 3,3V and 5V, The second can be used to power 5V inverter. I can also use the 3,3V and %V from the 40pin connector. The manual also mentions Backlight enable and PWM pins
    • Does it make any sense to connect the I2C_SC/ I2C_SDA pins to the corresponding pins on the LCD ? Usually EDID information is transmitted over those, but i do not know if riot board can use this information.
    • Which resolutions are supported over the LVDS interface ? In the manual is WUXGA mentioned.@ !
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shabaz
    shabaz over 11 years ago in reply to e14 Contributor

    Hi Nanik,

     

    Your table is correct!

    (Also don't forget to connect up the ground of course, and supply power to the panel).

    Also, be sure to observe the tips mentioned in the post concerning type of wire to use, etc.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
<>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube