
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
Software and Hardware Used
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 (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:
3 soldered jumpers and 3 cut traces
For the analog touch display version, no hardware modification is required.
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
The board can be used with the Adafruit Feather LCD board too:
Wiring to Adafruit Feather LCD
Software
As IDE, the NXP MCUXpresso IDE is used.
Eclipse Project
The project includes support both for the capacitive touch and resistive touch display:
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
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
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
The picture below shows the on-screen keyboard:
LittlevGL on-screen keyboard
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!