SSD1306 128x64 Pixel uOLED display module (HCMODU0050&2)

LCD, TFT, OLED, LED modules
andrew
Site Admin
Posts: 786
Joined: Sun Aug 05, 2012 4:15 pm

Re: SSD1306 128x64 Pixel uOLED display module (HCMODU0050&2)

Post by andrew » Fri May 08, 2015 8:47 am

I'm afraid the manufacturer hasn't supplied a schematic. Your best option is to just reference the datasheet which will give you a good idea of how the module works.
Comments made by this poster do not necessarily reflect the views of Hobby Components Ltd.

nigelmercier
Posts: 14
Joined: Sun Jan 05, 2014 12:40 pm

Re: SSD1306 128x64 Pixel OLED display module (HCMODU0050&2)

Post by nigelmercier » Fri Jan 22, 2016 4:29 pm

cbajema wrote:I'm trying to get this display working on a custom board using an ARM chip and IAR but haven't been able to get it to do anything after hours.

My startup routine is (all tested with multimeter in debugging):
  • Reset pin low
  • Wait 10us
  • Reset pin high
  • Wait 8us
  • Send 0xAE (DC low, CS low) - Display on
  • Send 0xA5 - Whole screen on
My interpretation of the datasheet is that this code should result in all pixels being lit up. Most of the initialisation code I have seen seems to set many values to POR values, which is pointless. I'm trying to get this module working with PIC, so far not a glimmer.

KeithParks
Posts: 1
Joined: Thu Dec 04, 2014 12:26 am

Re: SSD1306 128x64 Pixel uOLED display module (HCMODU0050&2)

Post by KeithParks » Sun Feb 07, 2016 12:22 am

Bought one of these the other day but the circuit board is completely different, instead of the S pads there are a series of R pads that need changing to configure the device for IIC. See attached picture.

Does anyone have any experience or advice on configuring these displays for IIC or any advice on configuration in general?


Cheers,
Keith.
You do not have the required permissions to view the files attached to this post.

mark_orion
Posts: 3
Joined: Sat Aug 29, 2015 12:45 pm

Re: SSD1306 128x64 Pixel uOLED display module (HCMODU0050&2)

Post by mark_orion » Fri Mar 18, 2016 8:37 pm

Are there any disadvantages like increased power consumption etc. of simply pulling CS (Chip Select) to ground? My guess is that CS is only important when having multiple displays on the same bus. I want to reduce the number of signal lines to 6 or below so the display can be controlled by an ATtiny85.

andrew
Site Admin
Posts: 786
Joined: Sun Aug 05, 2012 4:15 pm

Re: SSD1306 128x64 Pixel uOLED display module (HCMODU0050&2)

Post by andrew » Sat Mar 19, 2016 8:29 am

Are there any disadvantages like increased power consumption etc. of simply pulling CS (Chip Select) to ground?
I've checked the datasheet but I cant see any references to power consumption for the CS pin. It's probably used internally to power up the input drivers in the serial interface but even if so I'd expect that this difference wouldn't be significant. Being an OLED display most of the power consumption is dependent on how many pixels are turned on.
My guess is that CS is only important when having multiple displays on the same bus. I want to reduce the number of signal lines to 6 or below so the display can be controlled by an ATtiny85.
Yes you should be able to just tie it low to leave it permanently selected. One thing I should point out is that it is important to pulse the reset pin when the display is first powered up. If you don't it may still work some of the time but sometimes it won't turn on if you don't reset it first. So you'll need to provide some sort of provision for this.
Comments made by this poster do not necessarily reflect the views of Hobby Components Ltd.

DAJ
Posts: 5
Joined: Tue Jun 05, 2018 4:37 pm

I2C usage

Post by DAJ » Tue Jun 05, 2018 6:34 pm

I have one of these neat little modules. It is does not look like the photos here (but Hobby Components sold it as the same part, so I guess it's a new version). It does look like the one posted by KeithParks, above -- I have basically the same question as the one to which he never got a reply.

I gather the old version needed some hardware changes to use it as an i2c device. Is this still necessary?

If so, what do I need to change ... the differences between the old module and the one I have make the old instructions (such as they were) inapplicable.

I'm rather hoping that the new model can simply be wired up to the i2c bus and everything will work ...

andrew
Site Admin
Posts: 786
Joined: Sun Aug 05, 2012 4:15 pm

Re: SSD1306 128x64 Pixel uOLED display module (HCMODU0050&2)

Post by andrew » Wed Jun 06, 2018 8:40 am

If the back of your display is as pictured above you would need to move resistor R3 to pads R1 and resistor R5 to pads R8. Note that you should only attempt to make this modification if you are comfortable with soldering surface mount components.

In I2C mode the connections to an Arduino (Uno/Nano) would be as follows:

OLED Module.......Uno
GND...................GND
VCC..................+5V
D0.....................A5 (SCK)
D1.....................A4 (SDA/Din)
RESET.................D8 (if using HCOLED library)
DC (SA0)............I2C Address select (Low = 0x3C, High = 0x3D)
CS.....................GND
Comments made by this poster do not necessarily reflect the views of Hobby Components Ltd.

DAJ
Posts: 5
Joined: Tue Jun 05, 2018 4:37 pm

Re: SSD1306 128x64 Pixel uOLED display module (HCMODU0050&2)

Post by DAJ » Wed Jun 06, 2018 9:11 am

andrew wrote:If the back of your display is as pictured above you would need to move resistor R3 to pads R1 and resistor R5 to pads R8. Note that you should only attempt to make this modification if you are comfortable with soldering surface mount components.
Thanks for the quick reply. I'll try that if I need to, but I'm still playing with the board and deciding whether it is suitable for what I'm trying to build -- at this stage I can use the display in SPI mode but as I'm already using the I2C bus it would be convenient to hang everything off the same two pins.

I'm (over)confident enough to attempt the mod, despite surface mount soldering, but a lot of people wouldn't be -- it would be great if you could supply these things already set up from the factory in I2C mode (or with the interface switchable or jumperable).
In I2C mode the connections to an Arduino (Uno/Nano) would be as follows:
(snip pin assignments)

I'll probably be using an 8266 board of some kind -- I'm currently working with the WEMOS D1 mini pro -- rather than a Uno, but I get the picture.

Do I gather that even in I2C mode the display needs an explicit reset on the RES pin? There goes another of my limited GPIOs!

andrew
Site Admin
Posts: 786
Joined: Sun Aug 05, 2012 4:15 pm

Re: SSD1306 128x64 Pixel uOLED display module (HCMODU0050&2)

Post by andrew » Wed Jun 06, 2018 2:49 pm

it would be great if you could supply these things already set up from the factory in I2C mode (or with the interface switchable or jumperable).
We are looking at stocking an I2C version if we can find a suitable supplier.

Do I gather that even in I2C mode the display needs an explicit reset on the RES pin?
Yes, it will need to be reset shortly after power on I'm afraid. If you have a reset button you could tie it to that as the library only asserts the reset once at startup.
Comments made by this poster do not necessarily reflect the views of Hobby Components Ltd.

DAJ
Posts: 5
Joined: Tue Jun 05, 2018 4:37 pm

Re: SSD1306 128x64 Pixel uOLED display module (HCMODU0050&2)

Post by DAJ » Wed Jul 11, 2018 2:40 pm

andrew wrote:We are looking at stocking an I2C version if we can find a suitable supplier.
That would be lovely. I have seen similar board that are I2C-only discussed online, and it would be great to find a supplier!

I have verified that the OLED board I have works nicely in SPI mode, and I've just bought another couple so I can play around.

It works very nicely at 3.3V, as well, which is nice. No need for level-shifters with the WeMos D1 or a Pi.
I wrote:Do I gather that even in I2C mode the display needs an explicit reset on the RES pin?
Yes, it will need to be reset shortly after power on I'm afraid. If you have a reset button you could tie it to that as the library only asserts the reset once at startup.
That's a pity. Other makes of board don't even have a reset pin! At least DC and CS won't tie up a GPIO pin in I2C mode.

Many thanks for your help.

Post Reply