No announcement yet.

4DCAPE-70T problems

  • Filter
  • Time
  • Show
Clear All
new posts

  • 4DCAPE-70T problems

    I am having issues 4DCAPE-70T for the beaglebone black, I've got two BBBs one with the 3.8.13-bone47 kernel this one will display the images on screen correctly but the touch acts weird, it misses some touches and doesn't follow the calibration in a correct way, and by the other side I have another BBB with the 3.8.13-bone60 kernel, this one would just sit with the status LEDs on but the screen full black. I wish to know if there is a recommended image to flash into the BBB for using this cape, and if I need some other software.


  • #2
    Hi, I'm a similar issue with this LCD. Status LEDs are on and the screen is totally black. I'm currently with a linux kernel 4.7.0-rc2-bone0 (Debian Jessie).
    This screen worked with 4.1.18-ti-r53 kernel.

    Did you find any solution or possible reason why it's not woking ?



    • #3
      The screen is detected : I can see it in the slots which is strange ...

      root@beaglebone:~# cat /sys/devices/platform/bone_capemgr/slots
      0: P---L- 0 4D 7.0 LCD CAPE- 4DCAPE-70T ,00A3,4D SYSTEMS ,BB-BONE-LCD7-01
      1: PF---- -1
      2: PF---- -1
      3: PF---- -1

      However I cannot access to the PWM which manage the brightness of the screen.

      root@beaglebone:~# dmesg

      [ 11.752021] of_graph_get_next_endpoint(): no port node found in /ocp/lcdc@4830e000
      [ 15.240238] backlight supply power not found, using dummy regulator

      I don't understand all the lines but for me I think it may load the wrong dtbo ?

      Help will be highly appreciate



      • #4
        Hi all,

        Please try to use this new kernel image from Beaglebone, this should fix the issues:


        • #5
          I am somewhat of a newbie to Linux and BBB....
          Just bought the gen4-4Dcape-70T LCD from Mouser and my screen is black (no backlight/nothing)
          This is the LCD with no buttons
          I have 3 BBB's one brand new out of the box (actually a year old but never opened) all same thing.
          The BBBs all work flashing the LEDs
          No other capes
          I measure 5V getting to the LCD
          Tried to see if the cape was listed as noted in this forum: (sys/devices/bone_capemgr.9/slots)
          Shows no cape 70T
          0: 54:FF--
          1: 55:FF--
          2: 56:FF--
          4: ff:P-O-L Bone-lteMMC....
          5: ff: P-O-L Bone-Black-HDMI....-

          I will try the recommended distro but would have expected something (backlight?)

          Tried adding to the boot/uenv.txt file using putty/ssh and rebooting



          • #6
            Mark Kevin,
            Tried your link

            but got this: Not Found

            The requested URL /rootfs/ was not found on this server.


            • #7
              Hi BrendanKirby,

              Use the official release:

              Out of the box BBB likely wont work, as the gen4-4DCAPE was released after the release that is on the BBB by default was likely put on there.

              If you want the very latest, like what Mark Kevin posted, then just go up a few directories and find the latest version. In this case its here:



              • #8
                Thank you. Chose option 2 since for some reason I could not get to
                Worked like a charm.
                Downloaded bone-debian-9.1-lxqt-armhf-2017-09-17-4gb.img.xz
                unzipped directly into sdb1
                put the sd card in the bbb and held the button on power up.
                not responding to touch but I got the dog, i am running of the sd card.
                anyhow success for today


                • #9

                  I guess I reached the same point as BrendanKirby. The display is working out of the box, but not responding to touch input. Any suggestions how to set-up overlays for this to be working?

                  I am using bone-debian-9.1-lxqt-armhf-2017-09-17-4gb.img.xz and 4Dcape-70T.

                  Thanks & regards,


                  • #10
                    Hello, unfortunately there are now several requests for help in at least two threads concerning the gen4 LCD for BBB.

                    I will add here some results of my experiments, which still do not solve the big problem but might help go in the right direction. I would guess this forum must traverse hardware and software at least up to the driver level.

                    I have the 7" resistive touch version which I hope to apply...
                    I have also been using the latest 9.1-lxqt

                    The cape eeprom at i2c2 0x54 is fine and would lead to loading of the compiled version of

                    In fact the overlay exists but for some reason nothing happens. I have not gone into debugging U-boot.

                    The device tree overlay BB-BONE-4D7R-01-00A1 has amongst other fields
                    compatible = "microchip,ar1021-i2c"

                    The kernel module for ar1021_i2c is not loading automatically and for that reason there are no touch events whatsoever.

                    At the terminal, using USB mouse and keyboard...

                    $ sudo modprobe ar1021_i2c #will make the touch driver load and I actually get touch events

                    Thought it was solved but the touch events are inverted and do not span the whole viewable area of the LCD... useless.

                    Looking at the kernel driver for ar1021_i2c


                    One finds that the values for max x and y are hardcoded to 4095, this is fine and conforms to the datasheet. However, there is no reading of the device tree to perform the inverted-y and there are no exposed methods to store a calibration in the controller eeprom.

                    Someone just copy pasted the inverted-y part into the dts or is there some other driver?

                    This means we have no chance of getting this to work with the present basic driver unless the calibration is performed at the user level. This is also acceptable if one considers that the kernel does not need to perform such "high level" activity.

                    $ xinput_calibrator

                    actually outputs values different from 0 and 4095

                    Section "InputClass"
                    Identifier "calibration"
                    MatchProduct "ar1021 I2C Touchscreen"
                    Option "MinX" "1556"
                    Option "MaxX" "64142"
                    Option "MinY" "61667"
                    Option "MaxY" "1957"
                    Option "SwapXY" "0" # unless it was already set to 1
                    Option "InvertX" "0" # unless it was already set
                    Option "InvertY" "0" # unless it was already set

                    Are they 16 bit now? Still have to investigate. We can see MinY > MaxY, which is correct.

                    But inserting them into either /etc/X11/xorg.conf or creating a new file at /usr/share/xorg.conf.d/. does absolutely nothing.

                    So, there are at least two problems:
                    1 - the driver for ar1021 is not loading automatically.
                    2 - all xorg.conf related suggestions and calibrations up to now are not valid.

                    The last one would be enough to make users happy since the ar1021_i2c can be made to load at startup in for instance /etc/modules

                    The maintainer Robert C. Nelson has made some changes to kernel 4.4 driver, as far as I know they have not been propagated to any other version. It should now invert-y.


                    There is a version of the driver which should be much more capable but was originally developed for kernel 3.14


                    Best wishes. Will post if I find the solution to calibration.

                    Last edited by rpascoal; 13th October 2017, 06:21 PM.


                    • #11
                      Hi BrendanKirby and Zokir,

                      I tried replicating your scenario here on my end by using a BBB and 4DCAPE-70T with HW rev 1.02. I used the latest official image from, Stretch for Beaglebone:Debian 9.1 2017-08-31 4GB SD LXQT and it worked fine. The touch input is recognized and working.

                      The file name of what I downloaded from the is "bone-debian-9.1-lxqt-armhf-2017-08-31-4gb.img". Im not sure what changes they performed on the nightly build from the link I provided.

                      Could you provide me your hardware revision? (located at the backside of the board) and also can you please provide me the copy/screenshot/file of the dmesg?

                      You can obtain the dmesg by going to the terminal and typing dmesg, and a long report of the boot-up will appear. To save this to a file, dmesg > [filename].txt


                      • #12

                        The fact that the touch driver does not load in some cases may be circumvented by adding

                        to the existing /boot/uEnv.txt That should load ar1021_I2C.

                        Check with $ lsmod or $ xinput list

                        This last one is higher level and will show touchscreen only if more drivers are also loading for events from the ar1021, will include information about matrices... The more interesting part is perhaps related to the matrices, in fact for those who have libinput as event driver

                        debian@arm:/usr/share/X11/xorg.conf.d$ ls
                        10-quirks.conf 40-libinput.conf 70-wacom.conf

                        Calibration may be accomplished by adding a file to the same directory

                        debian@arm:/usr/share/X11/xorg.conf.d$ ls
                        10-quirks.conf 40-libinput.conf 70-wacom.conf 99-calibration.conf 99-calibration.conf

                        with contents that have to be tuned. I found no automated tuning procedure, the xinput_calibrator was of no use, but the second reference has links to useful tools.

                        Section "InputClass"
                        Identifier "calibration"
                        Driver "libinput"
                        MatchProduct "ar1021 I2C Touchscreen"
                        Option "TransformationMatrix" "1.08 0.0 -0.04 0.0 1.2 -0.12 0.0 0.0 1.0"

                        Axes may be inverted already at the event driver level (and not at the touch driver) by adding a - sign. Invert y for instance:

                        Option "TransformationMatrix" "1.08 0.0 -0.04 0.0 -1.2 -0.12 0.0 0.0 1.0"

                        Though I compile from source and used the module already inverting y

                        Last edited by rpascoal; 19th October 2017, 12:46 AM.


                        • #13
                          Dear rpascoal,

                          Thank you so much for your effort and support in solving the 4DCape touch issues.

                          We have to admit that we lack expertise in BBB and its underlying kernel inner workings. Most information for BBB on the internet are scarce and are on an expert level.

                          Your contributions on solving the issue and providing help here on the forums are very much appreciated.