Error on UTFT.h library: 'ILI9488_16' was not declared in this scope <SOLVED>

Back in January, I had no issues compiling with the UTFT library and the display worked. Now with no changes to the code I get the baffling error:

CellTester_21:6:10: error: 'ILI9488_16' was not declared in this scope
UTFT tft(ILI9488_16, 7, 38, 9, 10);

even though ILI9844_16 is defined in UTFT.h which has been included. Substituting the token ILI19844_16 with its value 34, allows it to compile and upload, but the display refuses to work.

Commenting out memorysaver.h makes no difference.

Display: 3.5" 480x320 EastRising ( with shield, Mega 2560

Is this the library I should use? Is this the display I should use?

BTW, the search function in the forum is broken. I searched for ILI9844 in the Display subforum, and it did not find the latest 7 titles containing the keyword and surely many many more. Only three posts were found.

Thanks to all

#include <memorysaver.h>
#include <UTFT.h>
#include "CellTester.h"

UTFT tft(ILI9488_16, 7, 38, 9, 10);
extern uint8_t SmallFont[];


#define ILI9341_16 33
#define ILI9488_16 34
#define ILI9342_16 35

**** UPDATE ****

It appears that after updating my IDE to 1.8.15, an older version of the UTFT library got automatically installed, wiping out the new UTFT version. This older version (there are no version numbers) does not support ILI9488.

I am now trying to update the local UTFT library.

It turned out that the version updating of the IDE replaced the current UTFT library with the standard Arduino version 2.83 (2018) that does not support ILI9488 or ILI9486 and is an older version. The new version of UTFT from Rinky Dink Electronics needs to be installed in the library.

UTFT is not supported by the Library Manager.
For some reason the author (Henning Karlsen) chooses not to make it available to the Manager.

Your BuyDisplay / EastRising "UTFT" will have been hacked from an earlier UTFT Release. Hint. Look for a version number in UTFT.h e.g.
#define UTFT_VERSION 283

I suspect that the BuyDisplay library will be different.

Yes, if UTFT was supported by the Library Manager it would tell you if your version was out of date. But I doubt that it would tell you about an unsupported library.


1 Like

Thanks - good to know.

Blew a couple of days scratching my head.

The older Karlsen version is UTFT_VERSION 283. The one supporting ILI9488 is 279. Looks like he has not updated the EastRising additions. Strange.

Library manager would not even accept the EastRising zip file. Had to copy manually.

I think the MCUFriend series of displays are not only cheaper but preferred, as they need not a shield. I don't see a quality or speed difference. I wonder if there are a 5" and 7" versions of MCUFriend displays?

The EastRising displays are good quality. You can run them with MCUFRIEND_kbv as specials :-
USE_SPECIAL, USE_MEGA_16BIT_SHIELD, tft.begin(0x9488)

Likewise the 5 inch and 7 inch SSD1963 displays.

But you can also use them with (modified) UTFT.
Mr Karlsen is unlikely to support EastRising displays.
On the other hand, it would be wise for EastRising to apply their mods to the current UTFT v2.83 instead of the obsolete v2.79

Open Source software means that EastRising can adapt and modify Mr Karlsen's UTFT code. That does not mean that Mr Karlsen will ever adopt the modifications.
If he used GitHub like all other library authors, development and improvements can be well managed.


1 Like

David - comparing prices with that of January 2021, prices have risen by about 50% for the 5" display+shield+shipping (from $35 to $51), and surely for the 7" and 10" displays as well.

I think you will find that lots of TFT prices have risen.

You are still comparing a quality EastRising product with some random Ebay items.

The typical "Mcufriend Uno Shield" is fairly poor quality. Of course they are convenient and perfectly adequate for many projects.


1 Like