{{announcement.body}}
{{announcement.title}}

How to Use Adafruit Touch LCDs With NXP LPC55S69-EVK

DZone 's Guide to

How to Use Adafruit Touch LCDs With NXP LPC55S69-EVK

Learn how NXP LPC55S69-EVK boards can be used with Adafruit TFT LCD boards.

· IoT Zone ·
Free Resource

Microcontroller wire

Learn how NXP LPC55S69-EVK boards can be used with Adafruit TFT LCD boards.

The NXP LPC55S69-EVK is a versatile board. In this article, we demonstrate how it can be used with Adafruit TFT LCD boards, both with resistive and capacitive touch. For the software, I’m using the open-source LittlevGL GUI.

LPC55S69-EVK with Adafruit Touch LCD

LPC55S69-EVK with Adafruit Touch LCD

Software and Hardware Used

Installed SDK

Installed SDK

An example project with all the files is available on GitHub (see links section at the end of this article). The software is configured to use the capacitive or resistive touch display. I recommend using the capacitive touch version, as the touch is much more accurate and there is no need for manual calibration.

Hardware

Both the capacitive and resistive Adafruit LCD boards are using the popular ILI9341 display controller. On the resistive version, the STMPE610 (SPI) touch controller is used. On the capacitive version, the FT6206 (I2C) is present.

The Adafruit board includes a micro-SD card slot on the back:

Adafruit ILI9341 Board Bottom Side

Adafruit ILI9341 Board Bottom Side (original board)

To use the board with the LPC55S69-EVK, the jumpers 11, 12, and 13 for the SPI bus have to be closed with solder, and the three jumper traces on the right have to be cut with a sharp knife:

Changed Jumper settings

3 soldered jumpers and 3 cut traces

For the analog touch display version, no hardware modification is required.

Resistive Touch Display

Resistive Touch Display

To verify the signals with a logic analyzer, the first version of the software has been developed with a ‘free wire’ connection:

First GUI elements

First GUI elements

The board can be used with the Adafruit Feather LCD board too:

Wiring to Feater LCD

Wiring to Adafruit Feather LCD

Software

As IDE, the NXP MCUXpresso IDE is used.

Eclipse Project

Eclipse Project

The project includes support both for the capacitive touch and resistive touch display:

Source Files

Source Files
  • McuILI9341: driver for the ILI9341 LCD controller
  • tpcal: Touch point calibration for resistive display
  • McuFT6206: driver for the capacitive touch controller (I2C)
  • McuSTMPE610: driver for resistive touch controller (SPI)
  • McuSPI: reentrant SPI driver
  • I2clib: reentrant I2C driver
  • lv, gui: LittlevGL GUI and display drivers

Using settings in platform.h, the software, and drivers can be turned on or off:

platform.h

platform.h

The project includes a command line (Shell) interface to configure and inspect the display and drivers. The default communication way is using SEGGER RTT:

Shell with Segger RTT

Shell with Segger RTT

Status Command

Status Command

The application on GitHub includes a few demos, including how to use the LittlevGL list widgets or the on-screen keyboard control:

LittlevGL with List Control

LittlevGL with List Control

The picture below shows the on-screen keyboard:

LittlevGL on-screen keyboard

LittlevGL on-screen keyboard

LPC55S69-EVK with Adafruit Touch LCD

LPC55S69-EVK with Adafruit Touch LCD

Summary

The Adafruit ILI9341 based touch displays are a great and easy way to extend a board like the NXP LPC55S69 with a state-of-the-art open-source GUI library. The project presented here supports both the capacitive and resistive touch displays from Adafruit.

Happy LittlevGLing!

Additional Resources

Topics:
adafruit ,iot ,tutorial ,microcontrollers ,microcontroller ,os ,open source ,eclipse ,touch display

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}