Simple LCD Touchscreen for Arduino




This is a guide showing an easy way to set up an LCD touchscreen interface with arduino, or other similar microcontrollers.

It's also shameless self-promotion of my kickstarter... which focuses on making it super easy to program a nice GUI.

This example is a basic stepper driver control system.

Step 1: Step 1: Parts

For this you need, an LCD screen supported by the software package, currently this is RA8875 based screens but will be expanding to a wider range in future.

A microcontroller, be sure to ensure the voltages match, 5V micros like the Uno will also need a level shifter to run 3.3V screen.

The G2 screen programming code generator software

A few bits of wire.

Whatever else you fancy hooking up to the microcontroller.

Step 2: Step 2: Hardware Hookup

This step is nice and simple. Just connect the power, SPI interface, and touch interrupt pins.

Also add any other hardware your project requires.

Step 3: Step 3: Design the GUI

This is the main bit. It's a drag and drop style interface to put a variety of different widgets/buttons onto the GUI. It also supports multiple windows/tabs so in this example I made main screen, which monitors speed and position, and another screen where you set what the stepper should be doing; with a third for LED control.

The G2 program also has places to insert microcontroller code to be executed on screen events, like pressing a button for example.

A much more comprehensive explanation of the features is over on the kickstarter page

Step 4: Step 4: Upload the Program

The code is generated into an arduino sketch directory; which automatically loads it when the sketch is opened.

A few lines are required to integrate it, a few includes and global vars, a setup function, and a execution function. So it's just like including a library, except the files are project specific and have to be in the sketch directory.

Upload as per normal.

Step 5: Step 5: You're Done!

Pretty simple eh!

I came up with this code generator concept when I had to program up a screen without one. It was quite difficult to do in a neat manner, and quite repetitive and time consuming to setup, even the common libraries out there. As a comparison, that project I did took over 20 hours to get the interface setup we wanted, this one took around ten minutes.

Making modifications is also a breeze, make them in the G2 program just regenerate the code and overwrite those files in your sketch, reload and re-upload it.



    • Tape Contest

      Tape Contest
    • Trash to Treasure

      Trash to Treasure
    • Arduino Contest 2019

      Arduino Contest 2019

    14 Discussions


    1 year ago

    Is there a cheaper touchscreen that this will work with? I'd rather not spend $70-$80 on getting both the RA8875 and the 5" screen on the adafruit site.


    Reply 2 years ago

    No, spfd5408 controller is not supported.

    Hit new window button, and add objects (existing or new) to it.

    No, sliding and moving graphics objects require a different system. This is for simple screen interfaces designed to be lightweight.


    2 years ago

    Is G2 app still downloadable? It's exactly what I need for my IT assignment coming up (:

    2 replies

    Reply 2 years ago

    Sure is; updated, supported, and downloadable. Tell your whole class :P download links at bottom of page.


    3 years ago

    Alpha is now live! Windows standalone deploy at (github link near bottom of page).

    There will be bugs, sign up on our forums, help test, and you'll probably get a free copy (lifetime updates).


    Reply 3 years ago

    I've been working a little bit on making an early alpha version available. The code is almost there, and I need to set up a landing page and feedback/questions/faqs bit on my site for it.

    Will bump it up the priority list and try and get that done this month.


    Reply 3 years ago

    It'll be annoying trial (mandatory welcome screen and limited compiles per hour or something) while under development, which can be removed by getting the paid version (lifetime updates) for like 20 bucks.

    I've got forums up, and G2 page almost up on my site,


    And yeh, windows only for now, other platforms will be doable, but I think I'll get it more stable and feature-complete before attempting to release it for that.