User Tools

Site Tools


mmbasic_hardware:supported_lcd_displays

Supported LCD Displays

Introduction

This page is an attempt to summarise and link to the various LCDPANEL drivers available for the various MMBasic platforms. These can be built in (OPTION LCDPANEL xxxx), Cfunction loadable drivers or MMBasic drivers implemented with the OPTION LCDPANEL USER method. The scope includes links to various TBS threads that discuss supporting PCB designs, drivers etc, where to purchase. In general this page will try to link to relevant threads on TBS rather than reproduce the information here.

This page initially inspired by @panky's TBS post.

TBS post for useful Micromite Graphics test program to test the different graphical functions of the PIC32 and STM32 processors. It is a set of modules (24 maximum) usable or not depending on the version of MM. The software detects the type of processor, the fonts loaded and the presence or absence of files for the “Sprite” function.

lcdwiki is a handy reference and contains details and data sheets for many different displays.

Support for BLIT, transparent text and PIXEL() function

Many drivers now allow the support for the BLIT command, transparent text and the PIXEL() function to read the colour of a particular pixel. Transparent text is invoked by using a background colour of -1 and the BLIT command allows the background image to be saved and then restored allowing moving objects to be displayed over a background image. See the section Basic Drawing Features in the updated Micromite Plus Manual . Two approaches are used to achieve these features. 1. The memory of the LCD PANEL is read by MMBasic to determine what is currently displayed. To use this the RD pin needs to be connected and the LCDPANEL support the reading of data.(RD required) in table below

2. MMBasic keeps an image of what is currently displayed in its own memory and only every does Write actions toward the LCD PANEL. This allows these features to be implemented when LCDPANEL doesn't support reading of data. RD pin is not required. This uses memory from MMBasic and is usually only supported for the smaller resolution displays and when the MM is use has sufficient memory. (BUFF used to indicated this in the table below)

Key to Driver Support

Key to LCD driver Description
Nat Native support in the firmware. i.e. OPTION LCDPANEL xxxx
CFn Loadable driver as a CSUB
CFn44 Loadable CSUB for Micromite 44pin, not avaiable 28 pin
-tch Touch not supported
no SD No SD Card on the display
No No Support
No28 No Support 28 pin Micromite
BAS MMBasic Driver (OPTION LCDPANEL USER)
BLT BLIT and Transparent text support
Buff Uses a buffered driver, will also support BLT

Summary of LCD panels which are supported by MMBasic or Loadable Drivers

Alternate wide view of table below

LCD Name
resolution
size/colour
—————–
Details
Technology

——————–
Touch
SD Card
interfaces
—————
MM
Type

———
LCD
Driver
Support
————–
Links to TBS threads for drivers
supporting boards, to purchase options etc Notes
—————————————————–
ILI9341 SPI
240*320
2.2“ 2.4” 2.8“
262K
Colour TFT with resistive touch XPT2046
SD CARD
14M Header
4M SD Card
SPI
MM2
MM+
MMX
RPi
ArmH7
ArmF4
ArmL4
Pico
Nat CFn
Nat CFn
Nat BLT
Nat BLT
Nat Buff
NAT BLT
Nat -tch
Nat BLT
TBS thread for Enhanced ILI9341 driver for MM2 and MM+
The improved speed is included in the native driver from MMBasic V5.3 Most other enhancements are also now included in the MM+ native support, but this enhanced loadable driver is still relevant for the MM2.
TBS thread for SD card support for MM2
This is the only LCD Panel supported natively on the MM2. Pinout is described in the MM User Manual.
The 2.4”,2.8“ usually include touch support.The 2.2” generally does not have touch support. Touch not supported on ArmmiteL4 MM2(+)
TBS thread for ILI9341 rotated text on MM2
Since MMBasic 5.04 is native for the MM+ (see MMPlus manual page 26 Basic Drawing Features)
ILI9488 SPI
480*320
3.5“
262K
Colour TFT with resistive touch XPT2046
SD CARD
14M Header
4M SD Card
SPI
MM2
MM+
MMX
RPi
ArmH7
ArmL4
ArmF4
Pico
CFn
CFn
no
no
no
no
no
Nat
TBS thread for ILI9488 driver for MM2 and MM+
The MM2 driver supports all the normal drawing commands. In addition the MM+ driver supports transparent text, image load and blit. Pinout as per ILI9341. See TBS thread for possible issues if touch not working. SDO(MISO) pin on the display may need attention Another TBS thread for 4" IPS panel with a MM2
ILI9163 SPI
128*160
1.44”
262K
Colour TFT with resistive touch XPT2046
SD CARD
14M Header
4M SD Card
SPI
MM2
MM+
MMX
RPi
ArmH7
ArmL4
Pico
CFn
Nat
Nat BLT
Nat BLT
Nat Buff
Nat -tch
Loadable 8*6 Font for small displays
Loadable 4*6 MicroFont for small displays Pinout as per MM+ User Manual.
ILI9163 SPI
128*128
1.44“
262K
Colour TFT with resistive touch No
No
8M Header
SPI
MM2
MM+
MMX
RPi
ArmH7
ArmL4
Pico
CFn
Nat
Nat BLT
Nat BLT
Nat BLT
Nat -tch
Nat
TO DO: Add TBS links TO DO Add links to purchase here Pinout as per MM+ User Manual.
ST7735 SPI
128*160
1.8”
262K
Colour TFT LCD no
SD CARD
11M Header
4M SD Card
SPI
MM2
MM+
MMX
RPi
ArmH7
ArmL4
Pico
CFn
Nat
Nat BLT
Nat BLT
Nat Buff
Nat -tch
Nat
https://www.thebackshed.com/forum/forum_posts.asp?TID=9530&PN=1&TPN=1 Pinout as per MM+ User Manual.CFunction driver for MM2 included in MMBasic distribution Embedded Functions
SSD1963
480*272
4.3“
262K
Colour TFT with resistive touch. Three 480*272 pages exist.See MM Extreme Manual for details on these paged drivers XPT2046
SD CARD
2 x 20M header
8 bit par
16 bit par
MM2
MM+
MMX
RPi
ArmH7
ArmF4
ArmL4
CFn44
Nat BLT
Nat BLT
Nat BLT
Nat Buff
Nat BLT
No
Loadable MM2(44pin) MM+: SSD1963 paged driver TO DO Add links to purchase here Pinout as per MM Plus User Manual
MM Extreme supports paged driver with
OPTION LCDPANEL SSD1963_4P. ARMH7 driver is BUFF type.
SSD1963
800*480
5” 7“ 8”
262K
Colour TFT with resistive touch XPT2046
SD CARD
2 x 20M header
8 bit par
16 bit par
MM2
MM+
MMX
RPi
ArmH7
ArmF4
ArmL4
CFn44
Nat CFn
Nat BLT
Nat BLT
Nat Buff
Nat BLT
No
Backpack for Armmite - STM32H7: Nucleo 144 has connection for SSD1963 panel.
Adaptor for STM32F407VET6 allows SSD1963 and ILI9341 in 16bit mode
16 bit loadable driver for 100 pin MM+ in this thread on the TBSPinout as per MM Plus User Manual.A buffered driver can be used on ARMH7 but available memory is reduced for 800*480 resolution
SSD1963
Eastrising
800*480
5“-9”
262K
EastRising LCD Colour TFT with resistive touch. 5“,7”,8“ & 9” available with this EastRising pinout XPT2046
SD CARD
2 x 20M header
Non standard.
8 bit par
16 bit par
MM2
MM+
MMX
RPi
ArmH7
ArmF4
ArmL4
No
Nat BLT
Nat BLT
Nat BLT
Nat BLT
Nat BLT
No
Thread on Adaptor Board for 9"
Buy Adaptor Board here" Pinout not same as other SSD1963 panels. Needs an adaptor board to match standard pinouts per MM Plus User Manual.A buffered driver can be used on ARMH7 but available memory is reduced for 800*480 resolution
ILI9481 SPI
320*480
4“
262K
480 by 320 pixel resolution and uses IPS technology which is both brighter and has a better viewing angle than the cheaper TFT panels XPT2046
NO
13×2 F Header
RPi interface
SPI
MM2
MM+
MMX
RPi
ArmH7
ArmF4
ArmL4
Pico
CFn
CFn
Nat Buff
Nat Buff
Nat Buff
Nat
no
Nat
Initial ILI9481 thread for MMX
Includes wiring and purchase details
ILI9481 loadable driver for MM2 and MM+
R6150SV 2.2”
220*220
2.2“
262K
parallel interface Round TFT LCD.Comes as 16bit but can be modified to use 8 bit No
No
custom
8 bit par
16 bit par
MM2
MM+
MMX
RPi
ArmH7
ArmL4
Pico
CFn44
CFn
no
no
no
no
NO
TBS thread for drivers" No longer available, but some made nice round gauges with them. See TBS thread for details.
ILI9325 P16
240*320
2.8”
262K
Parallel interface TFT LCD.Comes as 16bit but can be modified to use 8 bit XPT2046
SD CARD
2 x 20M header
STD SSD1963 i/f
8 bit par
16 bit par
MM2
MM+
MMX
RPi
ArmH7
ArmL4
Pico
CFn44
CFn
BAS
BAS
BAS
BAS
No
TBS thread for 8bit conversion and drivers"
Further TBS thread for 8bit conversion and drivers" Pinout same as SSD1963 panels. Please be aware that to use these displays in 8-bit mode (rather than 16) you connect the data lines to DB8-DB15 and NOT DB0-DB7. See TBS threads. These are a bit historical. The two panels below seem to be more common now.
SSD1289
240*320
3.2“
262K
Parallel interface TFT LCD.Comes as 16bit but can be modified to use 8 bit XPT2046
SD CARD
2 x 20M header
STD SSD1963 i/f
8 bit par
16 bit par
MM2
MM+
MMX
RPi
ArmH7
ArmL4
Pico
CFn44
CFn
BAS
BAS
BAS
BAS
No
TBS thread for 8bit conversion and drivers"
TBS thread for 8bit conversion and old driver for 28pin MM2" Pinout same as SSD1963 panels.Many now advertised as SSD1289 are actually the ILI9341 below.
ILI9341 P16
240*320
3.2”
262K
Parallel interface TFT LCD with touch.Comes as 16 bit but can be modified to use 8 bit XPT2046
SD CARD
2 x 20M header
STD SSD1963 i/f
8 bit par
16 bit par
MM2
MM+
MMX
RPi
ArmH7
ArmF4
ArmL4
CFn44
CFn
BAS
BAS
Nat16
Nat16
BAS
TBS thread for 8bit conversion and drivers
Backpack for Armmite - STM32H7: Nucleo 144 has connection for ILI9341 in 16bit mode
Adaptor for STM32F407VET6 allows SSD1963 and ILI9341 in 16bit mode Pinout same as SSD1963 panels.Supported on ArmH7 and ArmF4 in 16 bit mode.
ILI9341 P16
240*320
3.2“
262K
Parallel interface TFT LCD. 16 bit with STM32 FSMC format (ARMMite F4).Resistive touch fitted . XPT2046

STM32 F407 VET6 FSMC
2*16M Header
16 bit par
MM2
MM+
MMX
RPi
ArmH7
ArmF4
ArmL4
CFn44
CFn ?
BAS
BAS
Nat16
Nat16
BAS
TBS thread with picture and discussion for ARMF4
ILI9341 P16
240*320
3.2”
262K
Parallel interface TFT LCD with touch.Comes as 16 bit but can be modified to use 8 bit XPT2046
SD CARD
2 x 20M header
STD SSD1963 i/f
8 bit par
16 bit par
MM2
MM+
MMX
RPi
ArmH7
ArmF4
ArmL4
CFn44 TBS thread for 8bit conversion and drivers
Backpack for Armmite - STM32H7: Nucleo 144 has connection for ILI9341 in 16bit mode
Adaptor for STM32F407VET6 allows SSD1963 and ILI9341 in 16bit mode Pinout same as SSD1963 panels.Supported on ArmH7 and ArmF4 in 16 bit mode.
OTM8009A P16
NT35510 P16
800*480
3.97“
262K
Parallel interface IPS LCD.16 bit with 34 pin format. Resistive touch XPT2046
Supported
2 x 17M header
16 bit par
MM2
MM+
MMX
RPi
ArmH7
ArmF4
NO
NO
NAT
NO
NAT
NAT
See Armmite F4 Hardware
for details of adaptor for F4 Armmite F4 manual gives pinout details.
KS0108
128*64

mono
GLCD display, no need for backlight, No
No
14 pins
8bit parallel
MM2
MM+
MMX
RPi
ArmH7
ArmL4
CFn
CFn
BAS
BAS
BAS
BAS
TBS discussion and drivers for MM2 and MM+
Later TBS discussion and updated drivers for MM2 and MM+
Loadable 8*6 Font for small displays Is 5v so need level shifter or 5v tolerant pins on the MM
ST7920
128*64

mono
GLCD display, no need for backlight, No
No
+5v Gnd SCL SDA
SPI
MM2
MM+
MMX
RPi
ArmH7
ArmL4
Pico
CFn
CFn
BAS
BAS
BAS
Nat
Nat
Original TBS discussion on this GLCD
Later TBS discussion and updated drivers for MM2 and MM+
Loadable 8*6 Font for small displays Is 5v so need level shifter or 5v tolerant pins on the MM
Nokia 5110
ST7920
84*84

mono
Nokia 5110 phone display.GLCD display using ST7920 controller, no need for backlight, No
No
+5v GND SCL SDA
SPI
MM2
MM+
MMX
RPi
ArmH7
ArmL4
Pico
CFn
CFn
BAS
BAS
BAS
Nat
Nat
Original TBS discussion on this Nokia5110
Later TBS discussion and updated drivers for MM2 and MM+
Loadable 8*6 Font for small displays Is 5v so need level shifter or 5v tolerant pins on the MM
SSD1331
96*64
0.95”
colour
Colour OLED display,96×64 RGB pixels, each one made of red, green and blue OLEDs. Each pixel can be set with 16-bits of resolution for a large range of colors. Because the display uses OLEDs, there is no backlight. No
No
Vcc Gnd SPI pins RST D/C CS
SPI write only
MM2
MM+
MMX
RPi
ArmH7
ArmL4
Pico
CFn
CFn
BAS
BAS
BAS
Nat
Nat
TBS discussion and drivers for MM2 and MM+
Loadable 8*6 Font for small displays
SPI is write only so no transparent text. The latest release of the MM2, MM+ and MMX firmware includes the ability to write drivers for all sorts of displays entirely in Basic. A USER driver could be used for other devices based on this TBS thread.
SSD1351
128*128
1.5“
mono
OLED display, no need for backlight, self-illumination,The display performance is better than the traditional LCD display, also lower consumption. No
No
????
SPI
MM2
MM+
MMX
RPi
ArmH7
ArmL4
Pico
CFn
CFn
BAS
BAS
BAS
BAS
No
TBS discussion and drivers for MM2 and MM+
Loadable 8*6 Font for small displays The latest release of the MM2, MM+ and MMX firmware includes the ability to write drivers for all sorts of displays entirely in Basic. A USER driver could be used for other devices based on this TBS thread.
SSD1306 SPI
128*64
0.96” 1.3“
mono
OLED display, no need for backlight, self-illumination, The display performance is better than the traditional LCD display, also lower consumption. No
No
+3.3v GND SCL SDA
SPI
MM2
MM+
MMX
RPi
ArmH7
ArmL4
Pico
CFn
CFn
BAS
BAS
Nat
Nat
Nat
TBS discussion and drivers for MM2 and MM+
Drivers for I2C and SPI versions.
Support 0.96” ,1.3“ and 96*16 version
Loadable 8*6 Font for small displays The latest release of the MM2, MM+ and MMX firmware includes the ability to write drivers for all sorts of displays entirely in Basic. A USER driver could be used for other devices based on this TBS thread.
SSD1306 I2C
128*64
0.96” 1.3“
mono
OLED display, no need for backlight, self-illumination, The display performance is better than the traditional LCD display, also lower consumption. No
No
+3.3v GND SCL SDA
I2C
MM2
MM+
MMX
RPi
ArmH7
ArmL4
Pico
CFn
CFn
BAS
BAS
Nat
Nat
Nat
TBS discussion and drivers for MM2 and MM+ for I2C and SPI versions
Support 0.96” ,1.3“ and 96*16 version
Loadable 8*6 Font for small displays
TBS post for improved Cfunction drivers for MM2 and MM+ The latest release of the MM2, MM+ and MMX firmware includes the ability to write drivers for all sorts of displays entirely in Basic.
A USER driver could be used for other devices based on this TBS thread.
SSD1306 I2C
128*32
0.91”
mono
OLED display, no need for backlight, self-illumination, The display performance is better than the traditional LCD display, also lower consumption. No
No
+3.3v GND SCL SDA
I2C
MM2
MM+
MMX
RPi
ArmH7
ArmF4
ArmL4
Pico
BAS
BAS
BAS
BAS
BAS
BAS
Nat
Nat
I purchased from here
A USER driver could be used for other devices based on this TBS thread.
Loadable 8*6 Font for small displays
TBS post for improved Cfunction drivers for MM2 and MM+ Only supported on natively on ArmmiteL4.The latest release of the MMBasic includes the ability to write custom display drivers entirely in Basic.see OPTION LCDPANEL USER
E-Ink 2.9
128×296

mono
E-Ink 2.9 uses GDEH029A1 chip. Slow refresh but low power.Display remains after power is removed. No
No
+3.3v Gnd SCL SDA
SPI
MM2
MM+
MMX
RPi
ArmH7
ArmL4
Pico
BAS
BAS
BAS
BAS
BAS
Nat BAS
Nat
TBS post with details and drivers
Another 2.9" User driver in this TBS post A screen refresh on the 2.9“ display takes just less than 3 seconds and somewhat over 5 seconds on the 2.7” display
E-Ink 2.7
176×264

mono
E-Ink 2.7 uses GDEH029A1 chip. Slow refresh but low power.Display remains after power is removed. No
No
+3.3v GND SCL SDA
SPI
MM2
MM+
MMX
RPi
ArmH7
ArmL4
Pico
BAS
BAS
BAS
BAS
BAS
BAS
???
TBS post with details and drivers A screen refresh on the 2.9“ display takes just less than 3 seconds and somewhat over 5 seconds on the 2.7” display
ST7789 IPS
240*240
1.3“ HAT
mmm
The display is 240×240 pixels and uses IPS technology to give a crystal clear image. Three buttons built in. No
No
Pi HAT format
SPI
MM2
MM+
MMX
RPi
ArmH7
ArmL4
Pico
CFn
CFn
???
???
Nat
Nat
Nat
TBS post with details and drivers See TBS link or Search for Waveshare 1.3” LCD HAT
ST7789 IPS
240*240
1.3“ No CS
262K
The display is 240×240 pixels and uses IPS technology to give a crystal clear image. The CS pin is not exposed as delivered and backboard must have a track cut and wire run to expose it. No
No
7 pin
SPI
MM2
MM+
MMX
RPi
ArmH7
ArmL4
Pico
CFn
CFn
???
???
Nat
Nat
NAT
TBS post with details of drivers and modification
TBS post with original discussion and details of modification to expose CS pin
ST7735S IPS
160*80
0.96”
65K full color
0.96 inch IPS color screen, brighter than ordinary TFT LCD SPI HD 65K Full Color screen Module ST7735 IC 160*80. No
No
7 pin header
SPI
MM2
MM+
MMX
RPi
ArmH7
ArmL4
Pico
CFn
CFn
???
???
???
Nat
Nat
LCD Name
resolution
size/colour
—————–
Details
Technology

——————–
Touch
SD Card
interfaces
—————
MM
Type

———
LCD
Driver
Support
————–
Links to TBS threads for drivers
supporting boards, to purchase options etc Notes
—————————————————–
RGB LED matrix display
64*32
13x26cm
64 colours
No
No
No
No
13 pins
required
Custom
MM2
MM+
MMX
RPi
ArmH7
ArmL4
Pico
CFn
CFn
???
???
???
NAT
NAT
TBS post with details and drivers
See TBS link
mmbasic_hardware/supported_lcd_displays.txt · Last modified: 2024/04/08 08:31 by gerry