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.
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 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 |
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 |