NHD-3.12-25664 in parallel on U8glib

Good evening!

I am trying to make a custom boost gauge using the 3.12" 256x64 SSD1322 display from New Haven using u8glib. The left half of the screen displays a static 128x64 bitmap, and the right half displays the PSI reading. Even while using Hardware SPI and a larger page height, the screen is not refreshing smooth enough for my liking.

The only three solutions I suppose are

  1. First draw the the bitmap on the left side, then switch the column start address to the middle of the screen so now it only has half as many pixels to refresh. (not sure if this is possible?)
  2. Same thing as above, but use two separate instances of u8g addressing each 128x64 halves of the display. (again, not sure if that’s possible)
  3. Run the display in parallel mode

Though to run in parallel mode would be the easiest solution, im having trouble figuring out how to run the display in parallel mode using u8glib. I tried setting the initial parameters as:

U8GLIB_NHD31OLED_2X_BW u8g(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, U8G_PIN_NONE,  U8G_PIN_NONE);

However it does not work. Just a blank screen.

Would greatly appreciate any help :slight_smile:

Hey dio3000,

I have use the U8Glib with a different 256x64 (a US Micro USMP-P21301 screen) and I use the U8GLIB_NHD31OLED_GR constructor.

From my understanding the refresh rate is going to vary between I2C vs SPI and vs Hardware SPI vs Software SPI. So that's would i would work on seeing if you see a better refresh rate.

Ultimately, moving all that data does take some time, can you provide some info on your hardware?

From my understanding, 1 & 2 are not possible since every time it goes thru the picture loop it needs all the pixels redrawn.

Good luck,