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.