I have bought a couple of these I2C 128x32 OLED displays. They almost work with the SSD1306 module, however every other line is missing (i.e. pixels for y=0 are not displayed, pixels for y=1 appear in what is actually y=0, pixels for y=2 are not displayed, pixels for y=3 are displayed in what is actually y=1 and so on, pixels for y=63 appear in the last line which is actually y=31).
I had a look at the SSD1306 module which has the screen size hard-coded (maybe not the best idea) to 128x64. But if I change it to 128x32 (which would be correct), I get the exact same output, only a few lines further down. It seems that these particular displays need to be interfaced like 128x64 pixel displays but you need to transform the y coordinate of every pixel in the buffer to 2*y+1. What is the best way to patch the modules to achieve this?
© Espruino, powered by microcosm.
Report a problem