The basic Hello World sketch worked OK along with other fuctions like backlit brightness and clearing the display. This was using level shifters rather than modding the hardware. I had mixed success with printing numbers. The example code for printing integers in the Quick Start pdf (after I had added the missing semicolon) produced a flood of errors starting:
C:\Data\Roger_Hobby\Control_Systems\Arduino\Greenhouse_IoT\ESP32_Version\mLink_LCD_Int_test\mLink_LCD_Int_test.ino: In function 'void loop()':
C:\Data\Roger_Hobby\Control_Systems\Arduino\libraries\mLink/mLink.h:541:62: error: call of overloaded 'print(int, MLINK_CLCD_REGISTERS, int&)' is ambiguous
541 | #define cLCD_print(add, d) print(add, CLCD_PRINT, d)
C:\Data\Roger_Hobby\Control_Systems\Arduino\Greenhouse_IoT\ESP32_Version\mLink_LCD_Int_test\mLink_LCD_Int_test.ino:12:7: note: in expansion of macro 'cLCD_print'
12 | mLink.cLCD_print(I2C_ADD, number); // Print the number
| ^~~~~~~~~~
C:\Data\Roger_Hobby\Control_Systems\Arduino\libraries\mLink/mLink.h

1342 | void print(uint8_t add, uint8_t reg, char c, boolean wait = false);
| ^~~~~
The printFloat function worked OK providing I specified one or more decimal places:
float f;
f = 19.25;
mLink.cLCD_printFloat(I2C_ADD, f, 1); this prints 19.3 -the rounding-up is useful.
mLink.cLCD_printFloat(I2C_ADD, f, 0); this prints 19. -the trailing decimal point is not what I was hoping for.
mLink.cLCD_printFloat(I2C_ADD, f, 3); this prints 19.250