Using Waveshare 7″ Capacitive Touchscreen with Banana Pi

I’ve been sitting on a few Banana Pis (a more powerful version of Raspberry Pi Model B) at work for more than a year now. They were meant to be used as a cluster to generate bulk traffic simulation for the purpose of bandwidth testing at work, but the project was canned.

A few weeks ago, I purchased two 7″ Waveshare HDMI LCD Capacitive touchscreens from Ebay and a 5″ touchscreen for my Raspberry Pi from Amazon (that was decommissioned from it’s responsibilities as duck cam). Getting the displays to work were easy. Getting the touch input to work was easy for the Raspberry Pi, but not for the Banana Pis (BPi). 2 weeks after tinkering with the BPis, I finally found a combination of process that worked.

Here’s how.

What you will need:

  1. Banana Pi (LeMaker) or Banana Pi M1 ( These boards are identical, but manufactured by different vendors in China.
  2. 3rd party touchscreen (5″/7″). Not the ones manufactured by LeMaker. These are powered by 2 cables: an HDMI and a microUSB.
  3. Physical keyboard (only for setting up)
  4. Internet connection (via Ethernet port), as both USB ports should’ve been used up by Items #2 and #3.
  5. 5V, (at least 2.0A rated) power adapter. I’m using 2.5A rated. I’ve tried using a 1A rated supply – it won’t work.


  1. Download and install the official Bananian image from LeMaker to your SD card: If the link fails (due to this post being too old), I’ve saved a copy of what I’ve used here: The method of loading the image onto your SD card is very standard and can be found at LeMaker or Raspberry Pi’s forums (using Win32DiskImager or dd, depending on your OS). So I will spare you the details here.
  2. Power up your BPi with the newly imaged SD card.
  3. Log into the terminal with your credentials. Default is root/pi. (Note: Change your password as soon as you log in the first time!)
  4. Download bananianX. This is a script written by jonisc to install a GUI on the ‘terminal-only’ Bananian image. wget
  5. Make the script executable: chmod +x
  6. Run the script: ./
  7. Follow the instructions of the installer. (Note: This should take not more than 10 minutes in total, and will require you to use your keyboard in the first minute).
  8. When the GUI installer is completed, you can manually reboot your BPi instead of waiting for 10 minutes (that’s programmed by jonisc).
    GUI installer for BPi
  9. That’s all! Upon reboot, you’ll be prompted for your credentials via Lightdm/xfce GUI installed by bananianX. You should be able to use the screen’s touch input now!
    • Note: there are cheaper touchscreens that come with poorer quality microUSB cables that could power your display, but would not respond to the touch input of the screen. As such, I recommend replacing any < 4mm microUSB cable with a better quality one, like a 22AWG or a 24AWG or a 3.0A-rated cable. The photos below should give you an idea what to look for.
    • Cables that power 7″ HDMI touchscreen and touch input on the BPis: The leftmost (and longest cable) is a Hi-speed USB 2.0 cable made by Mediabridge that I owned. The 2nd cable from the left (with ferrite core) is one supplied by Waveshare. Notice the thickness of these cables.
    • Cables that power 7″ HDMI touchscreen but failed to power the touch input on the BPis (you might also want to know that my Raspberry Pi didn’t have these USB cable issues): The two cables from the right are rate for 2.0A. The rightmost is supplied by Sunfounder, whom I purchased a 5″ HDMI LCD V2 from, and the 2nd rightmost is one I purchased from Ebay for US$5.


Additional tip: If you want to, you can also install a virtual keyboard for your BPi instead of your physical keyboard. I used matchbox-keyboard (but it’s a quite cumbersome):

  • apt-get install matchbox-keyboard
  • reboot (after installation is complete)
  • On desktop, choose your preferedgo to Menu > Settings > Keyboard



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s