Author Topic: Problem with SSD1306 OLED  (Read 3188 times)

0 Members and 1 Guest are viewing this topic.

Offline PeterFWTopic starter

  • Frequent Contributor
  • **
  • Posts: 577
  • Country: de
    • Stuff that goes boom
Problem with SSD1306 OLED
« on: March 26, 2016, 03:19:22 am »
Edit:

Never mind, incorrectly labeled, different controller.... SH1106 instead of SSD1306, works now. The cheap price allways comes at a cost. (No pun intendet)

Hello!
I have 3 pieces of this display, two identical and a third that is from a different batch.
The two identical both show the same problem, as seen here:



Has someone got an idea why? I would say, they are broken... but, who knows.
They are controlled by an AtMega328P, at 5V over SPI and with the u8glib routines.
Both should be 5V tolerant.

Greetings,
Peter
« Last Edit: March 26, 2016, 03:34:00 am by PeterFW »
 

Offline bktemp

  • Super Contributor
  • ***
  • Posts: 1616
  • Country: de
Re: Problem with SSD1306 OLED
« Reply #1 on: March 26, 2016, 11:07:31 am »
It looks like you need to increment the horizontal address by 2 when writing data: On the right side there are two colums showing random data (non initialized RAM data).
 

Offline danadak

  • Super Contributor
  • ***
  • Posts: 1875
  • Country: us
  • Reactor Operator SSN-583, Retired EE
Re: Problem with SSD1306 OLED
« Reply #2 on: March 26, 2016, 11:47:34 am »
Consider looking at the write timing with oscope to the display. Also
examine logic levels correct at display.

The spec does not mention 5 V tolerance, in fact page 35 of spec shows max
Vih of Vdd1.

Regards, Dana.
Love Cypress PSOC, ATTiny, Bit Slice, OpAmps, Oscilloscopes, and Analog Gurus like Pease, Miller, Widlar, Dobkin, obsessed with being an engineer
 

Offline PeterFWTopic starter

  • Frequent Contributor
  • **
  • Posts: 577
  • Country: de
    • Stuff that goes boom
Re: Problem with SSD1306 OLED
« Reply #3 on: March 26, 2016, 02:32:18 pm »
Hello and thanks for your reply!

Consider looking at the write timing with oscope to the display. Also
examine logic levels correct at display.

The problem was wrong labeling, the controller on the display is not a SSD1306, it is the SH1106, it works now like it should.

Quote
The spec does not mention 5 V tolerance, in fact page 35 of spec shows max
Vih of Vdd1.

The boards both have a regulator and what appears some level shifting and were sold as 5V compatible. Should have checked to make sure but... :)

Greetings,
Peter
 

Offline amyk

  • Super Contributor
  • ***
  • Posts: 8275
Re: Problem with SSD1306 OLED
« Reply #4 on: March 26, 2016, 02:52:26 pm »
The SH1106 is a 132x64, whereas the SSD1306 is 128x64. Command set appears nearly identical. Did you get 256 extra pixels? :D
 

Offline bktemp

  • Super Contributor
  • ***
  • Posts: 1616
  • Country: de
Re: Problem with SSD1306 OLED
« Reply #5 on: March 26, 2016, 03:19:36 pm »
The SH1106 is a 132x64, whereas the SSD1306 is 128x64. Command set appears nearly identical. Did you get 256 extra pixels? :D
The 128x64 pixels are centred in the 132x64 RAM area. That's why a 2 pixel adress offset is necessary.
I have no idea why there are so many 132 pixel wide controllers, almost all displays only have 128 pixels.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf