Simple LCD Touchscreen for Arduino





Introduction: 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.



  • Epilog Challenge 9

    Epilog Challenge 9
  • Sew Warm Contest 2018

    Sew Warm Contest 2018
  • First Time Author Contest 2018

    First Time Author Contest 2018

We have a be nice policy.
Please be positive and constructive.




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.

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.

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

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

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

Great job! . Is the G2 app still available?

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.

Cool. You have a price in mind? What platform? Windows?