2017-01-30 20:51:35 +00:00
1. The Arduino Library Manager should find and install MCUFRIEND_kbv library
2016-03-19 21:13:10 +00:00
2017-01-30 20:51:35 +00:00
2. Install the Adafruit_GFX library if not already in your User libraries.
2016-03-19 21:13:10 +00:00
3. Insert your Mcufriend style display shield into UNO. Only 28-pin shields are supported.
2017-01-30 20:51:35 +00:00
4. Build any of the Examples from the File->Examples->Mcufriend_kbv menu. e.g. graphictest_kbv.ino
2016-03-19 21:13:10 +00:00
2017-01-30 20:51:35 +00:00
5. Most of them will write some text to the Serial window (9600 baud). The BMP examples require you to copy the pictures from the bitmaps/ folder to your microSD (root directory)
2016-03-19 21:13:10 +00:00
6. This library is only intended for UNO and these specific Shields. It will work on a MEGA2560 but not very fast.
7. The constructor takes no arguments (because it only works with these shields)
8. The examples are the standard Adafruit ones. You can see my edits by searching for "kbv"
9. Any Adafruit sketch should work with the MCUFRIEND_kbv constructor() but should allow extra ID values
An Adafruit constructor(cs, rs, wr, rd, rst) IGNORES any arguments. i.e. it only uses the shield control pins
10. It currently supports UNO shields with "mcufriend.com" pcbs with controllers:
2017-01-11 13:31:49 +00:00
HX8347-A 240x320 ID=0x8347 #define SUPPORT_8347A *** Untested ***
2016-05-05 16:11:16 +01:00
HX8347-D 240x320 ID=0x4747 #define SUPPORT_8347D
2017-01-11 13:31:49 +00:00
HX8347-G 240x320 ID=0x7575 #define SUPPORT_8347D
2016-05-05 16:11:16 +01:00
HX8347-I 240x320 ID=0x9595 #define SUPPORT_8347D
2017-01-11 13:31:49 +00:00
HX8352-A 240x400 ID=0x5252 #define SUPPORT_8352A
2017-02-24 20:42:55 +00:00
HX8357-B 320x480 ID=0x8357
HX8357-D 320x480 ID=0x9090 (ID has changed from 0x8357)
2017-01-26 11:19:42 +00:00
HX8367-A 240x320 ID=0x6767 #define SUPPORT_8347D
2016-03-19 21:13:10 +00:00
ILI9302 240x320 ID=0x9302
ILI9320 240x320 ID=0x9320
ILI9325 240x320 ID=0x9325
2017-01-11 13:31:49 +00:00
ILI9326 240x400 ID=0x9326 #define SUPPORT_9326_5420
2016-03-19 21:13:10 +00:00
ILI9327 240x400 ID=0x9327
2017-01-11 13:31:49 +00:00
ILI9328 240x320 ID=0x9328
2016-03-19 21:13:10 +00:00
ILI9329 240x320 ID=0x9329
2017-01-11 13:31:49 +00:00
ILI9331 240x320 ID=0x9331
2016-03-19 21:13:10 +00:00
ILI9335 240x320 ID=0x9335
ILI9338 240x320 ID=0x9338
2017-02-03 22:38:50 +00:00
ILI9340 240x320 ID=0x9340
2016-03-19 21:13:10 +00:00
ILI9341 240x320 ID=0x9341
ILI9481 320x480 ID=0x9481
ILI9486 320x480 ID=0x9486
2017-02-02 20:03:04 +00:00
ILI9487 320x480 ID=0x9488
2016-03-19 21:13:10 +00:00
ILI9488 320x480 ID=0x9488
2017-01-11 13:31:49 +00:00
LGDP4532 240x320 ID=0x4532 #define SUPPORT_4532
LGDP4535 240x320 ID=0x4535 #define SUPPORT_4535
2017-03-22 22:34:27 +00:00
NT35310 320x480 ID=0x5310 (hardware must be set for 8-bit parallel)
2017-01-26 11:19:42 +00:00
R61505 240x320 ID=0x1505 (not working)
2016-03-19 21:13:10 +00:00
R61505V 240x320 ID=0xB505
2017-01-11 13:31:49 +00:00
R61505W 240x320 ID=0xC505
R61509V 240x400 ID=0xB509 #define SUPPORT_B509_7793
2017-01-26 11:19:42 +00:00
R61520 240x320 ID=0x1520 (no Vertical Scroll)
R61526A 240x320 ID=0x1526 (no Vertical Scroll) configure NVM with sketch
2017-03-22 22:34:27 +00:00
R61580 240x320 ID=0x1580 #define SUPPORT_1580 *** Untested ***
2017-01-11 13:31:49 +00:00
R61581 320x480 ID=0x1581
RM68090 240x320 ID=0x6809
RM68140 320x480 ID=0x6814 #define SUPPORT_68140
S6D0139 240x320 ID=0x0139 #define SUPPORT_0139 *** Untested ***
S6D0154 240x320 ID=0x0154 #define SUPPORT_0154
2016-03-19 21:13:10 +00:00
SPFD5408 240x320 ID=0x5408
2017-01-11 13:31:49 +00:00
SPFD5420 240x400 ID=0x5420 #define SUPPORT_9326_5420
2016-04-16 20:37:48 +01:00
SSD1963 800x480 ID=0x1963
2016-05-05 16:11:16 +01:00
SSD1289 240x320 ID=0x1289 #define SUPPORT_1289
2017-01-26 11:19:42 +00:00
ST7781 240x320 ID=0x7783 #define SUPPORT_7781 (no Vertical Scroll)
2016-03-19 21:13:10 +00:00
ST7789V 240x320 ID=0x7789
2017-01-11 13:31:49 +00:00
ST7793 240x400 ID=0x7793 #define SUPPORT_B509_7793
ST7796 320x480 ID=0x7796
2017-01-30 15:00:52 +00:00
UC8230 240x320 ID=0x8230 #define SUPPORT_8230
2017-01-26 11:19:42 +00:00
UNKNOWN 320x480 ID=0x1511 (scroll directions not correct)
2017-01-11 13:31:49 +00:00
UNKNOWN 240x320 ID=0x1602
UNKNOWN 240x320 ID=0xAC11
Most of these controllers are #define SUPPORT_xxxx by default.
You can save Flash memory on a Uno by commenting out the macro(s).
2016-03-19 21:13:10 +00:00
2017-01-11 13:31:49 +00:00
11. It should run on a UNO, MEGA2560, LEONARDO, DUE, ZERO, M0-PRO,
It also runs on NUCLEO-F103 and TEENSY3.2 with Sparkfun Adapter
2016-03-19 21:13:10 +00:00
12. These Mcufriend-style shields tend to have a resistive TouchScreen on A1, 7, A2, 6 but are not always the same rotation of direction.
2017-01-11 13:31:49 +00:00
Run the diagnose_Touchpins.ino sketch to detect which pins are used
2016-03-19 21:13:10 +00:00
Run the TouchScreen_Calibr_kbv.ino sketch to diagnose your model and then scale the result from TouchScreen.h methods()
The Resistive TouchScreen does not work on the Due. It seems to be upset by sharing pins. I have discovered why.
(You need a new Touch library.)
13. The aspect_kbv.ino sketch should show the 4 different rotations. Please report the results for an ILI9335, ILI9327.
14. The scroll_kbv.ino sketch should scroll a window or subwindow for most chips. Not all chips can scroll.
15. The readpixel_kbv.ino sketch should display memory in each aspect.
16. The GLUE_Demo_320x240.ino sketch uses a "GLUE" class to display a UTFT sketch on supported mcufriend shields.
It is NOT perfect. Please report any problems. It is designed as a CONVENIENCE for legacy UTFT code.
Please use MCUFRIEND_kbv method()s in new code.
CHANGE HISTORY: is now in "mcufriend_history.txt"