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
Technical Library
  • Products
  • Dev Tools
  • Technical Library
  • More
  • Cancel
Technical Library
Files README - 4.3 LCD Display Cape for Beaglebone Black
  • Documents
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Technical Library to participate - click to join for free!
Actions
  • Next
  • Previous
  • Share
  • More
  • Cancel
Related
Recommended

README - 4.3 LCD Display Cape for Beaglebone Black

Use of this LCD display product is initially intended for use with the Beaglebone Black host board. Support for use with other compatible Beagleboard variants will be provided at a later time.

 

The firmware image provided by element14 at the link below will fully support the BB-CAPE-DISP-CT43 display product. Please find the link to the firmware image under the ‘Downloads’ tab at http://www.element14.com/bbcape43

 

Note, at the time of issue of this README note, the official firmware images provided by beagleboard.org do NOT fully support this display. Manual updates may be required to enable all aspects of the display when using a beagleboard.org provided firmware image.

  • beaglebone black lcd
  • beaglebone black 4.3 lcd
  • Datasheet
jcasiello
jcasiello
  • 17 Nov 2016
  • 27 Downloads
  • Share
  • More
  • Cancel
  • Sign in to reply

Top Comments

  • ljjowers
    ljjowers over 8 years ago +1
    I added a keyboard and mouse; boots up completely; looks great; works great.
  • electrometer
    electrometer over 8 years ago in reply to ninjatrent +1
    Have you had any success or help with this problem? I'm thinking of using these with BBB Ws and I don't want to have them sitting around if there's no support.
  • ljjowers
    ljjowers over 8 years ago in reply to cstiegman123

    Craig,

    Thank you for the follow up.

    For me, no. Since my screen does display and update properly, and I do not care about the touchscreen at this time, I am looking for a library that will let me write to the display that has been instantiated.

    What I saw on the link does not take me far enough, and may not be the right direction.

    I am looking elsewhere.

    I'm expecting that since the screen is properly initialized (driver, etc.) it will not be necessary, or even correct, for me to initialize it again.

    But thanks.

    If you see something at that high level, please let me know.

    Leonard

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • cstiegman123
    cstiegman123 over 8 years ago in reply to ljjowers

    Leonard-

     

    Does John Adamson's reply help address your inquiry?  Note, he included a link to where you can find supporting DTS files.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • cstiegman123
    cstiegman123 over 8 years ago in reply to jadamson

    Thanks John!    Your response appears to answer the original inquiry completely.  You have completed what I had planned to do, that is, reach out and pursue the needed DTS driver to support the touch display in Yocto.

     

    Thank you for sharing your findings and update on this thread for everyone to see.

     

    Best regards!

    Craig

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • jadamson
    jadamson over 8 years ago in reply to cstiegman123

    Craig (and others),

     

    Sorry, I apparently missed the responses in this thread until Craig replied recently.

     

    I'm using the Yocto BSP package for the BeagleBone Black Wireless.  The kernel version (at least back in February) for this is 4.4 (which will become important in a moment).  Yes, the touchscreen works fine with your image.  Yes, the display functions with Yocto.  No, the touchscreen didn't work with Yocto, but does now after getting the proper DTS file.

     

    I started with this DTS file and some help from the author, RobertCNelson.  The problem I encountered, IIRC, is that the syntax used only works with later kernels.   I ended up with the file that I'll insert below, which works for me on my kernel version.  As far as I can recall, I didn't have any calibration or driver issues once I got the DTS right, the drivers were included in the Yocto distribution (or could be brought in with config mods).   

     

    Hope this helps,

     

    John

     

    /*

    * This program is free software; you can redistribute it and/or modify

    * it under the terms of the GNU General Public License version 2 as

    * published by the Free Software Foundation.

    */

     

     

    /dts-v1/;

     

     

    #include "am33xx.dtsi"

    #include "am335x-bone-common.dtsi"

    #include <dt-bindings/board/am335x-bbw-bbb-base.h>

    #include <dt-bindings/gpio/gpio.h>

    #include <dt-bindings/pinctrl/am33xx.h>

     

     

    / {

      model = "TI AM335x BeagleBone Black";

      compatible = "ti,am335x-bone-black", "ti,am33xx";

     

     

      /* identification */

      part-number = "BB-CAPE-DISP-CT4";

      version = "00A0";

     

     

      /* state the resources this cape uses */

      exclusive-use =

      /* the pin header uses */

      "P8.45", /* lcd: lcd_data0 */

      "P8.46", /* lcd: lcd_data1 */

      "P8.43", /* lcd: lcd_data2 */

      "P8.44", /* lcd: lcd_data3 */

      "P8.41", /* lcd: lcd_data4 */

      "P8.42", /* lcd: lcd_data5 */

      "P8.39", /* lcd: lcd_data6 */

      "P8.40", /* lcd: lcd_data7 */

      "P8.37", /* lcd: lcd_data8 */

      "P8.38", /* lcd: lcd_data9 */

      "P8.36", /* lcd: lcd_data10 */

      "P8.34", /* lcd: lcd_data11 */

      "P8.35", /* lcd: lcd_data12 */

      "P8.33", /* lcd: lcd_data13 */

      "P8.31", /* lcd: lcd_data14 */

      "P8.32", /* lcd: lcd_data15 */

     

     

      "P8.27", /* lcd: lcd_vsync */

      "P8.29", /* lcd: lcd_hsync */

      "P8.28", /* lcd: lcd_pclk */

      "P8.30", /* lcd: lcd_ac_bias_en */

     

     

      "P9.28", /* pwm: eCAP2_in_PWM2_out */

     

     

      "P9.19", /* i2c2_sda */

      "P9.20", /* i2c2_scl */

     

     

      "P9.29", /* ft5336: gpio3_15 */

      "P9.31", /* ft5336: gpio3_14 */

     

     

      "lcd",

      "ecap2",

      "i2c2";

    };

     

     

    &ldo3_reg {

      regulator-min-microvolt = <1800000>;

      regulator-max-microvolt = <1800000>;

      regulator-always-on;

    };

     

     

    &mmc1 {

      vmmc-supply = <&vmmcsd_fixed>;

    };

     

     

    &mmc2 {

      vmmc-supply = <&vmmcsd_fixed>;

      pinctrl-names = "default";

      pinctrl-0 = <&emmc_pins>;

      bus-width = <8>;

      status = "okay";

    };

     

     

    &am33xx_pinmux {

      bb_lcd_pwm_backlight_pins: pinmux_bb_lcd_pwm_backlight_pins {

      pinctrl-single,pins = <

      BONE_P9_28 (PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* mcasp0_ahclkr.eCAP2_in_PWM2_out */

      >;

      };

     

     

      bb_lcd_lcd_pins: pinmux_bb_lcd_lcd_pins {

      pinctrl-single,pins = <

      BONE_P8_45 (PIN_OUTPUT | MUX_MODE0) /* lcd_data0.lcd_data0 */

      BONE_P8_46 (PIN_OUTPUT | MUX_MODE0) /* lcd_data1.lcd_data1 */

      BONE_P8_43 (PIN_OUTPUT | MUX_MODE0) /* lcd_data2.lcd_data2 */

      BONE_P8_44 (PIN_OUTPUT | MUX_MODE0) /* lcd_data3.lcd_data3 */

      BONE_P8_41 (PIN_OUTPUT | MUX_MODE0) /* lcd_data4.lcd_data4 */

      BONE_P8_42 (PIN_OUTPUT | MUX_MODE0) /* lcd_data5.lcd_data5 */

      BONE_P8_39 (PIN_OUTPUT | MUX_MODE0) /* lcd_data6.lcd_data6 */

      BONE_P8_40 (PIN_OUTPUT | MUX_MODE0) /* lcd_data7.lcd_data7 */

      BONE_P8_37 (PIN_OUTPUT | MUX_MODE0) /* lcd_data8.lcd_data8 */

      BONE_P8_38 (PIN_OUTPUT | MUX_MODE0) /* lcd_data9.lcd_data9 */

      BONE_P8_36 (PIN_OUTPUT | MUX_MODE0) /* lcd_data10.lcd_data10 */

      BONE_P8_34 (PIN_OUTPUT | MUX_MODE0) /* lcd_data11.lcd_data11 */

      BONE_P8_35 (PIN_OUTPUT | MUX_MODE0) /* lcd_data12.lcd_data12 */

      BONE_P8_33 (PIN_OUTPUT | MUX_MODE0) /* lcd_data13.lcd_data13 */

      BONE_P8_31 (PIN_OUTPUT | MUX_MODE0) /* lcd_data14.lcd_data14 */

      BONE_P8_32 (PIN_OUTPUT | MUX_MODE0) /* lcd_data15.lcd_data15 */

     

     

      BONE_P8_27 (PIN_OUTPUT | MUX_MODE0) /* lcd_vsync.lcd_vsync */

      BONE_P8_29 (PIN_OUTPUT | MUX_MODE0) /* lcd_hsync.lcd_hsync */

      BONE_P8_28 (PIN_OUTPUT | MUX_MODE0) /* lcd_pclk.lcd_pclk */

      BONE_P8_30 (PIN_OUTPUT | MUX_MODE0) /* lcd_ac_bias_en.lcd_ac_bias_en */

      >;

      };

     

     

     

     

      bb_i2c2_pins: pinmux_bb_i2c2_pins {

      pinctrl-single,pins = <

      BONE_P9_19 0x73 /* i2c2_sda, SLEWCTRL_SLOW | INPUT_PULLUP | MODE3 */

      BONE_P9_20 0x73 /* i2c2_scl, SLEWCTRL_SLOW | INPUT_PULLUP | MODE3 */

      >;

      };

     

     

      edt_ft5336_ts_pins: pinmux_edt_ft5336_ts_pins {

      pinctrl-single,pins = <

      BONE_P9_29 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* mcasp0_fsx.gpio3_15 */

      BONE_P9_31 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* mcasp0_aclkx.gpio3_14 */

      >;

      };

     

     

    };

     

     

    &epwmss2  {

      status = "okay";

    };

     

     

     

     

    &ecap2  {

      pinctrl-names = "default";

      pinctrl-0 = <&bb_lcd_pwm_backlight_pins>;

      status = "okay";

    };

     

     

    &i2c2 {

      status = "okay";

      pinctrl-names = "default";

      pinctrl-0 = <&bb_i2c2_pins>;

     

     

      /* this is the configuration part */

      clock-frequency = <100000>;

     

     

      #address-cells = <1>;

      #size-cells = <0>;

     

     

      edt-ft5336@38 {

      status = "okay";

      compatible = "edt,edt-ft5336", "edt,edt-ft5306", "edt,edt-ft5x06";

      pinctrl-names = "default";

      pinctrl-0 = <&edt_ft5336_ts_pins>;

     

     

      reg = <0x38>;

      interrupt-parent = <&gpio3>;

      interrupts = <15 0>;

      reset-gpios = <&gpio3 14 GPIO_ACTIVE_LOW>;

     

     

      touchscreen-size-x = <480>;

      touchscreen-size-y = <272>;

      };

    };

     

     

    &lcdc {

      status = "okay";

    };

     

     

    / {

      /* avoid stupid warning */

      #address-cells = <1>;

      #size-cells = <1>;

     

     

      backlight {

      status = "okay";

      compatible = "pwm-backlight";

      pwms = <&ecap2 0 500000 0>;

      brightness-levels = <

      0  1  2  3  4  5  6  7  8  9

      10 11 12 13 14 15 16 17 18 19

      20 21 22 23 24 25 26 27 28 29

      30 31 32 33 34 35 36 37 38 39

      40 41 42 43 44 45 46 47 48 49

      50 51 52 53 54 55 56 57 58 59

      60 61 62 63 64 65 66 67 68 69

      70 71 72 73 74 75 76 77 78 79

      80 81 82 83 84 85 86 87 88 89

      90 91 92 93 94 95 96 97 98 99

      100

      >;

      default-brightness-level = <50>;

      };

     

     

      lcd0: display {

      status = "okay";

      compatible = "ti,tilcdc,panel";

      label = "lcd";

      pinctrl-names = "default";

      pinctrl-0 = <&bb_lcd_lcd_pins>;

      enable-gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;

     

     

      panel-info {

      ac-bias           = <255>;

      ac-bias-intrpt    = <0>;

      dma-burst-sz      = <16>;

      bpp               = <16>;

      fdd               = <0x80>;

      tft-alt-mode      = <0>;

      stn-565-mode      = <0>;

      mono-8bit-mode    = <0>;

      sync-edge         = <0>;

      sync-ctrl         = <1>;

      raster-order      = <0>;

      fifo-th           = <0>;

      };

     

     

      display-timings {

      native-mode = <&timing0>;

      timing0: 480x272 {

      clock-frequency = <9000000>;

      hactive = <480>;

      vactive = <272>;

      hfront-porch = <5>;

      hback-porch = <40>;

      hsync-len = <1>;

      vback-porch = <8>;

      vfront-porch = <8>;

      vsync-len = <1>;

      hsync-active = <0>;

      vsync-active = <0>;

    /* de-active = <1>;

      pixelclk-active = <0>; */

      };

      };

      };

     

     

    };

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • ljjowers
    ljjowers over 8 years ago

    Craig,

    I am running Debian Jessie on a Beaglebone Black

    I understand it is not the correct image but I have an existing app that I want to have use it.

    The screen initializes and displays correctly.

    The time updates correctly.

    It is alright for this application that the touchscreen capability does not work.

    Is there a library that wil allow me to write text to the screen?

    Thanks,

    Leonard

    • 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.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube