Introduction: Simple LCD Touchscreen for Arduino

Picture of 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

Picture of 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

Picture of 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

Picture of 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

Picture of 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!

Picture of 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.

Comments

astiles8 (author)2017-08-31

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.

Chasdai (author)2016-07-31

I would like to apply your tutorial for this screen:
http://www.aliexpress.com/item/For-Arduino-UNO-2-4...
Do you think its more or less the same work as for your parts?

How do you make multiple screens?

Is it possible to change screens with sliding left/right?

john.howarth.10 (author)Chasdai2016-08-01

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.

OceanArrow (author)2016-06-03

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

http://www.tawatech.com/G2/G2.html download links at bottom of page.

Awesome, thanks!!

john.howarth.10 (author)2015-11-09

Alpha is now live! Windows standalone deploy at http://www.tawatech.com/G2/G2.html (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).

KerryW12 (author)2015-10-18

Great job! . Is the G2 app still available?

john.howarth.10 (author)KerryW122015-10-18

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.

KerryW12 (author)john.howarth.102015-10-18

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

john.howarth.10 (author)KerryW122015-10-18

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, www.tawatech.com

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.

maxwellmoojw (author)2015-09-15

great job,so amazing

DIY Hacks and How Tos (author)2015-08-01

A touch screen could really improve a lot of my Arduino projects.