I'm using the DS12864 display with ESP32, I2C @ 1 Mhz, PlatformIO Arduino coding.

My SSS code:

void Digole_Display::downloadSplashScreen(uint32_t len, const unsigned char *data)

{
    int j;
    uint8_t b;
    unsigned char c;

    _i2cPort->beginTransmission(_address);
    _i2cPort->write(DigoleCMD::DOWNLOAD_SPLASH_SCREEN); // SSS command
   
    len++;
    _i2cPort->write((uint8_t) (len / 256)); // X
    _i2cPort->write((uint8_t) (len % 256)); // Y
    delay(2000); // wait 2 seconds for screen to erase
    b = 0;
    for (j = 0; j < (len - 1); j++)
    {
        c = *(data + j);   // bitmap data  
        _i2cPort->write(c);
        delay(30); //30
        if ((b++) == 64)
        {
            b = 0;
            delay(100);  //100
        }
    }
    _i2cPort->write((uint8_t) 255);
    delay(100);
    _i2cPort->endTransmission();
    Serial.println("Download Splash Screen Finished.");  

My bitmap array is 128x64 but it will not load, so I tried the first 4 lines and it works, but loading 5 lines fails. This array is the first 12 lines and it also fails.

// Tried the first 12 lines of the bit map. This didn't WORK! TOO MUCH DATA???

// but loading the first 4 lines works great!
const unsigned char ATK_LOGO_128x12[] = {
'G','P',0,0,'D','I','M',128,12
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x03,0xc0,0x7f,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x07,0xe0,0x7f,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,255
};

Any ideas on how I can get this to work? Thanks

UPDATE: 01-17-2026

Hey guys, this forum seems to be DEAD, that's OK, I've redesigned my board with a small 0.96" OLED display (saved some $$) and moved the driver into my code, works great, no need to answer - have a good one.