Hi folks!
I'm planning to use your 2.3" 128x32 OLED in a project - the final plan is for the display to be controlled by a Raspberry Pi. I chopped the Arduino example code around into Python to try on the Pi, but I wasn't having much luck. I initially suspected my code, but I couldn't find anything wrong.
I decided to try your SSD1305 library example for the Arduino using the level shifter to eliminate my less-than-perfect coding skillz, but still no joy. The display appears to be 'stuck', with random pixels on at all times. To test it, I hooked it up as described in your SSD1305 tutorial, but still no joy - several pixels appear to be stuck on (see picture - always the same ones). I have had some joy getting some of the pixels to change, but the ones pictured stay on at all times.
So - in summary, I've tried the following thing with the same outcome:
- Checked & wiggled wiring - no change
- Tried a different level shifter
- Hardware and software SPI - verified that the display is in SPI mode in accordance with the tutorial. I haven't tried the I2C mode yet though.
- Bonus capacitance on the 3.3V rail (tried 220uF and 470uF with the same results)
What do we think? Any other suggestions? I'm at a bit of a loss - I'm 99% confident the setup is right, I'm wondering if there's a hardware issue with the display :(
Any help / suggestions gratefully appreciated :D
128x32 2.3" OLED - Unresponsive
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- thooms
- Posts: 7
- Joined: Mon Jan 20, 2014 8:52 pm
128x32 2.3" OLED - Unresponsive
- Attachments
-
- PB251049.jpg (132.49 KiB) Viewed 1106 times
-
- PB251047.jpg (102.23 KiB) Viewed 1106 times
- thooms
- Posts: 7
- Joined: Mon Jan 20, 2014 8:52 pm
Re: 128x32 2.3" OLED - Unresponsive
I should say, that I'm using the example on an Uno, not a Pi...
- thooms
- Posts: 7
- Joined: Mon Jan 20, 2014 8:52 pm
Re: 128x32 2.3" OLED - Unresponsive
Sorry for the bump, I know it's annoying - but I'm keen to get some glowy justice into my preamp - can anyone help me out? Fanx :)
- scottwoyak
- Posts: 15
- Joined: Fri Dec 26, 2014 5:51 pm
Re: 128x32 2.3" OLED - Unresponsive
Try checking that you are using the correct driver. I got confused and thought all the "large" OLEDs had the same tutorial but, while almost identical, they vary based on the SSDXXXX code to include. I was using SSD1325 instead of SSD1305. Once I changed it around my OLED worked again.
- adafruit_support_rick
- Posts: 35092
- Joined: Tue Mar 15, 2011 11:42 am
Re: 128x32 2.3" OLED - Unresponsive
You're running in SPI mode? Are you using a level-shifter? Did you change the .h file in the library for 128x32?
- thooms
- Posts: 7
- Joined: Mon Jan 20, 2014 8:52 pm
Re: 128x32 2.3" OLED - Unresponsive
Evening Rick! Thanks for getting back to me :D
I am using SPI, I've tried both the hardware and software SPI interfaces with two different Unos. I've still not tried 8bit or I2C with it.
I am using the level shifter, and the #define in the .h is set to
This is on line 47 of Adafruit_SSD1305.h - there isn't anywhere else that I have to change it is there?
I am using SPI, I've tried both the hardware and software SPI interfaces with two different Unos. I've still not tried 8bit or I2C with it.
I am using the level shifter, and the #define in the .h is set to
Code: Select all
#define SSD1305_128_32
//#define SSD1305_128_64
- adafruit_support_rick
- Posts: 35092
- Joined: Tue Mar 15, 2011 11:42 am
Re: 128x32 2.3" OLED - Unresponsive
Seems like a bad display, then. Can't see your soldering, but you're sure it's OK?
- thooms
- Posts: 7
- Joined: Mon Jan 20, 2014 8:52 pm
Re: 128x32 2.3" OLED - Unresponsive
Hi Rick, soldering is OK I think?
- adafruit_support_rick
- Posts: 35092
- Joined: Tue Mar 15, 2011 11:42 am
Re: 128x32 2.3" OLED - Unresponsive
Those are nice solders. Everything else looks OK, too. Must be a bad display. Please email [email protected] with a link to this thread for a replacement display.
If you're in the UK now, you might want to to up a replacement locally from a reseller, and support can just issue a refund. No import duty that way.
https://www.adafruit.com/distributors/
If you're in the UK now, you might want to to up a replacement locally from a reseller, and support can just issue a refund. No import duty that way.
https://www.adafruit.com/distributors/
- thooms
- Posts: 7
- Joined: Mon Jan 20, 2014 8:52 pm
Re: 128x32 2.3" OLED - Unresponsive
You guys rock. That's great news - I'll give your support folk a shout. I appreciate your help :)
- Scott_M25
- Posts: 7
- Joined: Wed Mar 16, 2016 8:32 am
Re: 128x32 2.3" OLED - Unresponsive
I am having the exact same issue, however in messing around with the config, I changed line 47 of Adafruit_SSD1305.h, for the heck of it to 128 X 64, and lo and behold everything worked - but obviously the graphics are getting painted "too big". So, the OLED works but not in 128x32 mode with the example code. I am too much of a novice to know where to look next.
A video of it working - https://youtu.be/j3Ie6w9QQ28
No need to post a pic of it not working as it looks just like the OP's pic.
A video of it working - https://youtu.be/j3Ie6w9QQ28
No need to post a pic of it not working as it looks just like the OP's pic.
- adafruit2
- Posts: 22148
- Joined: Fri Mar 11, 2005 7:36 pm
Re: 128x32 2.3" OLED - Unresponsive
huh can you go into Adafruit_ssd1305.cpp and change
to#if defined SSD1306_128_32
// Init sequence for 128x32 OLED module
command(SSD1305_DISPLAYOFF); // 0xAE
command(SSD1305_SETLOWCOLUMN | 0x0); // low col = 0
command(SSD1305_SETHIGHCOLUMN | 0x0); // hi col = 0
command(SSD1305_SETSTARTLINE | 0x0); // line #0
recompile and try 128x32 ?
#if defined SSD1306_128_32
// Init sequence for 128x32 OLED module
command(SSD1305_DISPLAYOFF); // 0xAE
command(SSD1305_SETLOWCOLUMN | 0x4); // low col = 0
command(SSD1305_SETHIGHCOLUMN | 0x4); // hi col = 0
command(SSD1305_SETSTARTLINE | 0x0); // line #0
- Scott_M25
- Posts: 7
- Joined: Wed Mar 16, 2016 8:32 am
Re: 128x32 2.3" OLED - Unresponsive
Thanks for the reply!
I tried what you asked, now I get this error:
I tried what you asked, now I get this error:
I can remove all the numbers (which I think are just the Adafruit logo, right?) and the code compiles without error but the display just freezes and never updatesArduino: 1.6.8 (Windows 10), Board: "Arduino/Genuino Uno"
C:\Users\Scott\Documents\Arduino\libraries\Adafruit_SSD1305\Adafruit_SSD1305.cpp:83:1: error: too many initializers for 'uint8_t [512] {aka unsigned char [512]}'
};
^
exit status 1
Error compiling for board Arduino/Genuino Uno.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
static uint8_t buffer[SSD1305_LCDHEIGHT * SSD1305_LCDWIDTH / 8] = {
};
- Scott_M25
- Posts: 7
- Joined: Wed Mar 16, 2016 8:32 am
Re: 128x32 2.3" OLED - Unresponsive
I got it fixed.
I was looking at it and I noticed something in what you wrote, specifically:
I still get a compiling error if the logo code is in there, though.
I was looking at it and I noticed something in what you wrote, specifically:
I changed it to:#if defined SSD1306_128_32
Works.#if defined SSD1305_128_32
I still get a compiling error if the logo code is in there, though.
Please be positive and constructive with your questions and comments.