Inexpensive OLED - too good to be true?

I need to buy some OLEDs for an IoT class. SparkFun has one that I’ve used before, but it’s $16 apiece. This one, from Amazon is $21.99 for 6, definitely more in my league, budget-wise. Does anyone have any experience with this, or, before I place my $21.99 bet, can see why it wouldn’t work?

1 Like

I haven’t used these, but I’m gonna order a batch. The reviews are all good, but pay attention to the i2c address comments.

2 Likes

I’ve used them. They work fine.

Like any OLED, the pixels will fade over time if you keep them turned on. I’ve had one running connected to a Core for over a year and you can tell.

3 Likes

I haven’t bought that specific one, but I get the really cheap SSD1306 multi-packs from Amazon and they’ve always worked fine for me.

As pilottrack pointed out, they do become dim over time. Now I put them in sockets so I can just replace them after a few years when they wear out. For a class this probably won’t be an issue.

Also, beware that some have VCC on the left and some have GND on the leftmost pin. In a breadboard it doesn’t really matter other than being careful, but if you’re building a circuit board it obviously does.

I keep a wide variety on hand as I use them frequently!

4 Likes

There are some crazy prices sometimes. This seems legit as well.

1 Like

I tried hooking up my new OLED, and … nada. I’m using the Adafruit_SSD1306_RK library – I wasn’t sure which one, but the initials sounded reassuring :grinning: – and I am using the 128x64_i2c.ino example. I’ve connected SCL to SCL, SDA to SDA, GND and 3V3. On the back of the board is a label, IIC ADDRESS SELECT, and a switch beneath it that says 0x78 and 0x7A, but actually I’m not sure if that’s a switch or a resistor, come to think of it, so I left it alone. I’m making an LED flash in loop(), so I know it’s not getting caught up in the infinite for-loop in setup(). I also tried a second OLED, with the same result, a completely black screen. Is there a better library I should be using? Or any suggestions as to how to get this to work?

I sue the library Adafruit_SSD1306.h v0.0.2 from WebIDE.
The ssd1306-128x64-i2c.ino example worked for me in the past. Not sure which OS version I was
running, but it was pre-2.0

Thanks. I’m using 3.1.0, maybe that’s the problem? Or maybe the reason the OLEDs were so cheap answers my question – too good to be true? – in the affirmative.

Several reviews on the amazon page talk about the I2c address being inconsistent with the labeling, I mentioned that in the beginning of this thread. Check through the reviews and you’ll likely find the correct address, or a more direct approach would be to use an I2c scanner to find it.

3 Likes

Oh, I get it now … thanks so much for responding again, I didn’t quite grasp the significance of the address the first time. I did an i2c scan, found the right address (0x3C), and now it’s working! The colors are a bit weird, the top 10% of the screen is in yellow, the rest in blue, maybe this has been repurposed: but for the price I can’t complain.

3 Likes

Good to hear that took care of the problem.

1 Like

@Mjones & @mprogers, the issue with I2C addresses is that some state the 8bit base address (with the bottom bit distinguishing between read and write address) while others opt to give you the 7bit address (8bit >> 1) - Particle and most others use the 7bit address.
Hence it’s always good to first check the actual address with an I2C scanner to see whether the device is found at all and if, at what address.

This is intended and also shown on the image in the Amazon link you provided.
The reason for this is also shown in that example use-case as the top section is used as a header/notification bar which should stand out over the data area.

3 Likes