The DM-TFT28-105 display module, specifications and other resources are available from

  • 2.8"
  • Resistive Touch Screen
  • SD-card slot
  • 4MB flash (32 Mbit)
  • 262K color depth
  • 240x320
  • SPI interface
  • 4 LED backlit

The display module has Arduino pinning.


The following pins are used (not including GND and VCC):

Arduino PinFunction
D4ChipSelect for Touch
D6ChipSelect for Flash
D8ChipSelect for SD Card
D9Display Data/Command
D10ChipSelect for Display
D11SPI MOSI for Display, Touch, SD Card and Flash
D12SPI MISO for Display, Touch, SD Card and Flash
D13SPI SCLK for Display, Touch, SD Card and Flash


Note that the DIP-switch on the back of the display module must be in the UNO position for display to work properly. If the switch is in MEGA mode then display will not work.


The display module has been tested with the following platforms:

LPCXpresso1549Add comment
EA LPC4088 QuickStart Board
with a LPC4088 QSB Base Board
Add comment


There is a library to get you started with the displays:

Import libraryDmTftLibrary

Driver Library for our displays

To use the library:


#include "mbed.h"

#include "DmTftIli9341.h"
#include "W25Q16BV.h"
#include "DmTouch.h"

/* Displays with adapter */
#define DM_PIN_SPI_MOSI   D11
#define DM_PIN_SPI_MISO   D12
#define DM_PIN_SPI_SCLK   D13
#define DM_PIN_CS_TOUCH   D4
#define DM_PIN_CS_TFT     D10
#define DM_PIN_CS_SDCARD  D8
#define DM_PIN_CS_FLASH   D6

DmTftIli9341 tft;  /* DM_TFT28_105 */

DmTouch touch(DmTouch::DM_TFT28_105);
SDFileSystem sd(DM_PIN_SPI_MOSI, DM_PIN_SPI_MISO, DM_PIN_SPI_SCLK, DM_PIN_CS_SDCARD, "sd"); // mosi,miso,clk,cs

DigitalInOut csTouch(DM_PIN_CS_TOUCH, PIN_OUTPUT, PullUp, 1);
DigitalInOut csDisplay(DM_PIN_CS_TFT, PIN_OUTPUT, PullUp, 1);
DigitalInOut csSDCard(DM_PIN_CS_SDCARD, PIN_OUTPUT, PullUp, 1);
DigitalInOut csFlash(DM_PIN_CS_FLASH, PIN_OUTPUT, PullUp, 1);

int main() {
  tft.drawString(20, 20, "x:");
  tft.drawString(100, 20, "y:");
  while(true) {

There are also some demo programs:

Import programdm_main

Shows how to use the display. Draws a bitmap from internal flash, some geometric shapes and some text

Import programdm_bubbles

Shows how to use the display. Draws circles that bounce around on the display.

Import programdm_calibrate

This application makes it possible to calibrate the touch screen. Note that the calibration data is not persistently saved. Either do the calibration on every startup or modify the default values in DmTouchCalibration.

Import programdm_touch

Shows how to use a display and the touch controller. Will display the X and Y coordinates of the current touch event.

Import programdm_sdcard

Shows how to use a display, the onboard SD Card and the onboard SPI Flash. Requires a display module with direct Arduino pinning

Import programdm_paint

Shows how to use a display and the touch controller. A very basic paint program.

Import programdm_calc

Shows how to use a display and the touch controller. A very basic calculator. Note that for some displays the LANDSCAPE define must be set for the layout to be correct.

1 comment on DM-TFT28-105:

10 Nov 2015

Hi we are about to choose this display for a project and we would like to know if the screen orientation is flippale? we couldn't read that anywhere... Thanks

Please log in to post comments.