I received my Crius OLED in the mail yesterday and spent most of the time since trying to get this little booger to work on my Uno R3. I'm new to the Arduino (and programming) and this is my first display that I'm trying get working.
When I first hooked it up I had the random dots/snow all over the screen. I downloaded the DealExtreme sketch (with config.h and data.c) from Reply #1, but I still had the random dots. I tried putting light pressure on the screen and ribbon connector but that didn't affect anything. I wanted to try the "brute force" method but I didn't know where to insert that code. I ended up causing a bunch of self-induced compiling errors that I didn't know how to fix. I did manage to send the command to turn on all of the pixels at once though (06a5). That turned all of the pixels white, but when I returned the display to normal (06a6), all of the noise came back. I tried changing the address from 0x55 to 0x3c and back but that didn't fix it either. Finally, I tried to put a 100 ohm resistor in series with the Arduino's 5v output and the OLED's 5v input - it still had noise on the screen. I tried a 150 ohm resister instead, no help. I gave up for the night. The other suggestions (reset mod, SDA/SCL mod, etc.) are all beyond my skill level right now. All of the above were tried on 5v and 3.3v, with unplugging and replugging in the Arduino between troubleshooting.
This morning I plugged in my Arduino (to USB) and to my surprise, I had text on the screen. After about 2 seconds, the display inverted to white and I had what looked like venetian blinds/sync problem overlayed on the screen. I unplugged it again and then everything came up good (with whatever sketch that I had loaded into it from the night before). I reuploaded the DealExtreme sketch and it works good. I still had the 150 ohm resistor connected, so I removed that (now with no resistors) and the display went back to being noisy again. I connected a 100 ohm resistor and it started working again. Now it works with either the 100 ohm or 150 ohm resistor on either 3.3v or 5v. I played around with it for a awhile and figured out how to adjust the brightness (contrast?) and replace some of the default text in the sketch.
Now for the bad news. I think either the white 4-pin connector on the back of the OLED or the 4-wire cable that came with it is intermittently bad. Putting *slight* pressure on it or even just barely touching it causes the text that is being sent to the OLED to be corrupted. Sometimes it works for a while, sometimes not. Even if I don't touch the display, just the angle that the OLED is leaning against something can cause enough pressure to corrupt the sent data. This results in garbled text on the screen, which is completely different from the original noise/snow on the screen.
So, I think the combination of the 100 ohm resistor, letting the display sit powered off for a while, and the DealExtreme sketch is what got my screen working.
Questions:
1) Since I'm a beginner, should I stick to an LCD (instead of OLED's) until I get more experience?
2) If not, does anyone have any recommendations for another 128x64 OLED that is affordable and more reliable than this one? Preferably one from eBay and one that graphics libraries will work on.
3) Does anyone know of any extremely basic tutorials for OLED's (or LCD's) that explains all of the commands and steps involved in making a sketch from scratch? It seems to me that the DealExtreme sketch is about 20 times more complicated that it needs to be just to get a "Hello World" displayed on the screen. Thanks.
Matt