








✨ See your code come alive with MakerFocus OLED brilliance! 👁️
The MakerFocus 0.91-inch OLED Display Module features a crisp 128x32 pixel resolution driven by the SSD1306 chip, delivering bright white visuals with ultra-wide 160° viewing angles. Designed for easy I2C connectivity and ultra-low 0.06W power consumption, it supports 3.3V to 5V logic levels, making it ideal for Arduino, Raspberry Pi, ESP32, and other microcontroller projects. This 4-pack offers versatile, self-luminous displays that elevate your embedded systems with sharp, energy-efficient output.
| Brand | MakerFocus |
| Item model number | 20200330-SD8V |
| Operating System | Linux |
| Item Weight | 0.317 ounces |
| Package Dimensions | 4.17 x 2.83 x 0.59 inches |
| Manufacturer | MakerFocus |
| ASIN | B08LQM9PQQ |
| Date First Available | October 23, 2020 |
A**A
Works great but needs protection
One end of the screen (with the ribbon connector) is very delicate and can get cracked very easily. It needs to be behind a glass panel for proper protection, or at least affixed in a case with a cutout that is carefully sized and placed to provide the right protection.
S**E
Only if you know what you're doing
Update 1:I am in the middle of investigating why i'm still having problems with this device. Since posting, I have discovered that, at least with the NodeMCU8266, pull-up resistors may not be required, contrary to my initial review. (Indeed, the schematic diagram in the picture list seems to indicate that they are built in.) I have confirmed that the device can also work with Arduino Uno, so it appears to be both 3v3 and 5v compliant, as described. However, the Uno only works if a 4.7kOhm resistor pulls-up the SCL line. Odd.On the other hand, I cannot get it to work reliably, and it is not certain that this display module is at fault. Time to pull out the logic analyzer and see what is going on.I am provisionally changing my rating to 4 stars, because a) it may work as expected and b) the vendor has been extremely helpful trying to resolve the issue amicably. They are good, trustworthy people. (As an aside, they have indicated that they have requested their supplier to include headers, but no luck. Not a critical point in any case.)***I'm going with 2.4 stars here. I received two units - they both work.1) I understand the frustration of R.Arnold's review. However, the Adafruit library does work in sample code ( ssd1306_128x32_i2c ). Knowing I2C pretty well is required though. I learned the hard way. Had an 8266 (3.3v) as MCU plus an Adafruit temp/humidity sensor and this display on the I2C bus. I knew that I2C requires pull-up resistors on SDA/SCL, but the sensor has builtin pull-ups, and theoretically you only need one set. The sensor communicated fine and I was able to detect both devices using the I2C scanner code in the Adafruit library examples. No signs of life from the display, though, until I added 2 resistors from 3.3v across to SDA and SCL - one apiece of course. Yeah! (I used 4.7kOhm - YMMV.) Don't understand why the display's I2C address was detectable on the bus, but didn't actually display anything without the additional resistors. Still, including a rough schematic in the package would help speed debugging, especially for those new to I2C.(BTW, the reset pin referenced in the Adafruit library appears to be optional and can be changed in the source from "4" to "LED_BUILTIN", at least on an 8266.)2) I don't find the text to be very legible without strong readers. It is crisp, but very very small.3) There are reasonable economic (seller) and utility (buyer) reasons for not pre-soldering headers. But would it break the bank to toss in a couple 4-pinners?4) There are no mounting holes!
Q**R
Came right up and they look great
I was able to get these displays working in less than 10 min! See below for a quick-start guide.The display is bright and uniform at both 3.3v and 5.0v. Contrast is perfect, as you would expect from OLED. The color is cyan or sky-blue; looks similar to the old blue VFD displays that were popular in the '80s and '90s. These modules are very thin at 3.7mm!The product pictures make these look like fixed-format displays with 7-segment digits and a few indicators, but these are dot-matrix displays (128 x 32 pixels). You can program any pixel on (light blue) or off (black).Arduino Quick-start:1) Solder a 4-pin header to the contact pads.Note that the display is so thin that header pins longer than 2.7mm will stick up higher than the glass surface. Before soldering, either trim the pins, or push them back through the header strip so less than 2.7mm is protruding. Alternatively, you can solder wires directly to the pads and skip using pins; whatever meets your needs.2) Wire your display to your Arduino.Use standard hobby jumpers to connect like-named pins: GND to GND, VCC to VCC, SCL to SCL, SDA to SDA.3) Install the SSD1306 Library.From the Arduino IDE, select "Tools -> Manage Libraries..." and search for SSD1306.You'll get a few hits; I used AdaFruit SSD1306 library (version 2.4.3).4) Go to "File -> Examples -> Adafruit SSD1306 -> ssd1306_128x32_i2c".(this will be different if you selected a different library in step 3)5) Compile and download, and it should started showing a demo loop!
R**N
Works if you know which commands and the correct sequence
Looks like there's a lot of misinformation about how to use this. No documentation comes with these displays and a couple of the other reviewers have the right commands but in the wrong sequence. Here is the correct sequence for a simple "Hello World"* Install "Adafruit SSD1306" in Library Manager* Make reference to 1306 library. "#include <Adafruit_SSD1306.h>"* Define constants (before setup routine) #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 32 #define OLED_RESET -1 #define SCREEN_ADDRESS 0x3C Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);* In setup routine (for example to run once on startup) display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS); display.clearDisplay(); display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(0,0); display.println("Hello"); display.println("World"); display.display();Other examples forget the last define and then have the display calls in the wrong order. It took me a while to figure this out so I thought I'd share.
Trustpilot
2 weeks ago
2 months ago