A larger 1.3" version of our ultra low power tiny uOLED display module. This display has the same 128 x 64 pixel resolution of the smaller 0.96" module but has a significantly larger screen. The module also uses the SH1106 driver which provides a configurable serial interface. For communication the display uses a standard serial SPI interface compatible with most microcontroller including Arduinos. To get you up and running quickly we have also written an extensive Arduino library which will not only work with both sizes of display but will also allow you to drive multiple displays from one Arduino board. The display requires 5 digital pins with only 3 extra pins per additional display (two if individual resetting of the modules isn't required).
Available in white pixel: HCMODU0058 or blue pixel: HCMODU0059
Shop links:
1.3" White: http://hobbycomponents.com/displays/621 ... dule-white
1.3" Blue: http://hobbycomponents.com/displays/622 ... dule-white
Module size: 35.5x33.3mm
High pixel density
Resolution: 128X64
Super wide viewing angle: more than 160°
Ultra-low power consumption: normal display 0.06W (far below the TFT display)
Wide supply range: DC 3V-5V (without any changes, directly compatible with common 3.3V and 5V power supply system)
Industrial grade: Operating temperature range -30 C ~ 70 C
Ultra-small size
Chip select CS signal allows for multiple SPI devices on the same bus.
Compatible tolerant interface.
OLED screen, internal driver chip: SH1106
Pixel Colour: White (HCMODU0058), Blue (HCMODU0059)
Please note that some version shipped have different screen print labeling for the two data pins (D0 = SCK & D1 = SDA). See pin out below for more information.
1....GND............(Power ground)
2....VCC.............(3.3V or 5V power supply)
3....D0 / SCK......(CLK Clock)
4....D1 / SDA......(MOSI data)
5....RST.............(Reset)
6....DC..............(Data / command)
7....CS..............(Chip select signal)
Connecting multiple displays:
Note that when using the HCuOLED library, if you don't require the option of resetting multiple displays individually you can connect the reset pins on each module together and drive them from one digital pin on your Arduino. Therefore you will only require an additional 2 digital pins per display.
- #include "HCDisplay.h"
- // Default pins
- #define CS_PIN 4
- #define DC_PIN 3
- #define RST_PIN 2
- HCDisplay HCDisplay; //Creates an instance of the HCDisplay library
- unsigned int MaxX, MaxY;
- boolean FGColour = 1;
- void setup()
- {
- // Initialise the display
- HCDisplay.Init(CS_PIN, DC_PIN, RST_PIN); //Initialise the display
- /* Get the screens X & Y resolution */
- MaxX = HCDisplay.ResX() - 1;
- MaxY = HCDisplay.ResY() - 1;
- /* Draw a boarder */
- HCDisplay.Rect(0 , 0, MaxX, MaxY, OUTLINE, 1);
- HCDisplay.Rect(0 + 3 , 0 + 3, MaxX - 3, MaxY - 3, OUTLINE, 1);
- /* Print some text */
- HCDisplay.Pos(44,8);
- HCDisplay.Print("Hobby");
- HCDisplay.Pos(24,18);
- HCDisplay.Print("Components");
- HCDisplay.Pos(14,30);
- HCDisplay.Print("1.3\" I2C OLED");
- /* Change the font */
- HCDisplay.SetFont(MedProp_12ptFont);
- }
- void loop()
- {
- /* Make some text flash by swapping the texts foreground and background colours */
- HCDisplay.SetFG(FGColour);
- HCDisplay.SetBG(!FGColour);
- HCDisplay.Pos(10,42);
- HCDisplay.Print("HCMODU0158");
- FGColour = !FGColour;
- delay(200);
- }
HCDisplay Arduino library for above sketch is available for download from the software section of our support forum here:
viewtopic.php?f=58&t=2827
SH1106 Datasheet: SH1106 command table showing the command number, the hex commands and the POR values. Thanks to nigelmercier for creating this.
1.3" OLED display datasheet:
Schematics:
FAQ:
Does this module support I2C?
By default this module uses an SPI interface. The module can be modified to support I2C but this requires removal and linking surface mount components and pads. Which pads will require linking or unlinking will depend greatly on the version of display shipped but will normally be shown in screenprint on the rear of the display.
Connections to the display via I2C are as follows:
MICRO.......DISPLAY
GND.........GND
3.3V........VDD
SCK.........SCK
SDA.........SDA
DIO.........RES
The DC pin will set the I2C address where DC low = 0x3C & DC high = 0x3D.
The HCuOLED library does not support these displays in I2C mode but they are supported via the U8GLIB library. You will need to uncomment the following constructor:
U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK
Also note that at time of writing, the U8GLIB library does not support automatic resetting of the display so you will need to connect the modules RES (reset) pin to a spare DIO pin on your Arduino and manually reset the display by pulsing the pin low before the U8GLIB is initialised. Alternatively you can connect the RES pin to the reset pin of your Arduino so that the display is reset when your Arduino is reset.
**PLEASE NOTE** These modules are sold as SPI displays and as they require a hardware modification to work in I2C we do not support them in this configuration. We cannot replace displays that have been damaged due to improper modification. The information above is only given for customers that are comfortable making this modification. We provide no guarantees or warranty as to its accuracy.
Libraries, example code, and diagrams are provided as an additional free service by Hobby Components and are not sold as part of this product. We do no provide any guarantees or warranties as to their accuracy or fitness for purpose.
Descriptions and diagrams on this page are copyright Hobby Components Ltd and may not be reproduced without permission.