Hello !
I'm trying to write to a 128x96 OLED display using the SSD1329 controller, BUT i haven't had any luck finding a library supporting the above mentioned controller...
I have however tried using the u8glib with the SSD1325 constructor, knowing that it's only 128x64, i thought i would give it a try and it works... except it has the wrong resolution.
attached is the Controller datasheet + the test code im running.
any help is much appreciated !
SSD1329.pdf (539 KB)
display.ino (556 Bytes)
Hi
In the u8glib library files you could locate u8g_dev_ssd1325_nhd27oled_bw_new.c or u8g_dev_ssd1325_nhd27oled_gr_new.c (whatever you have used) and change the line
#define HEIGHT 64
to
#define HEIGHT 96
I had tried to make the device specific files as flexible as possible, so maybe this works.
Good Luck,
Oliver
olikraus:
Hi
In the u8glib library files you could locate u8g_dev_ssd1325_nhd27oled_bw_new.c or u8g_dev_ssd1325_nhd27oled_gr_new.c (whatever you have used) and change the line
#define HEIGHT 64
to
#define HEIGHT 96
I had tried to make the device specific files as flexible as possible, so maybe this works.
Good Luck,
Oliver
Hi
Thank you for the suggestion, but unfortunately it didn't Work.
I have attached a Picture of the display while running the code below, and this is after i tried changing #define HEIGHT from "64" to "96".
#include <U8glib.h>
U8GLIB_NHD27OLED_BW u8g(4, 5, 6, 7, 8);
void setup()
{
u8g.setFont(u8g_font_unifont);
u8g.setColorIndex(1);
}
void loop()
{
u8g.firstPage();
do
{
draw();
}
while( u8g.nextPage() );
delay(1000);
}
void draw()
{
u8g.drawStr( 0, 0, "Top");
u8g.drawStr( 0, 48, "Middle");
u8g.drawStr( 0, 95, "Bottom");
}
It's as if the top half of the display won't display anything...

ok, then probably things are more complicated: You need to adjust the setup sequence for the display controller.
Maybe this command has to be changed:
0x0a2, 0x04c, /* display offset, shift mapping ram counter */
But for this we probably would need to investigate the controller manual AND the display manual more closly.
A wild guess could be to set the argument to zero (or some other random values) and see what happens:
0x0a2, 0x000, /* display offset, shift mapping ram counter */
Oliver
Hi
Yeah, i tried this exact thing an hour or so after my last post, and it WORKED! (sorry for not updating the post)
Thanks for the help and this GREAT library ! 
Great. Nice to see that this works.
Oliver