OLED SSD1309 Problems

Hello Folks

i just recieved an OLED from the webs.
and i hooked it up to some guidelines in the datasheet, so im guessing its the software theres a problem.

Take a look at the attachment and see how the display look like.
i used adafruits 1306 sketch, maybe its not compatible for an 1309 and both for i2c.
What am i doing wrong?

The U8Glib supports the 1309
When you try an example of the U8Glib library, you have to uncomment the line for your display.
You can choose I2C, SPI and software SPI, and fill in the pins that you use.
Run for example the GraphicsText.

Doesnt look like it supports i2c with the 1309? :confused:

Why not, I see I2C in the list with the 1309.
Or did you get confused by the 'NONE' ? That is just a define you have to use.
Or did you use an older version ?

Oh, i just looked at the example. it said i had to uncomment a line. But it wasnt there. so i added the line from the device list. and it uploaded. Now it just till look like crap :frowning: so not software.

Are you sure that the display is in I2C mode ? Perhaps you can try the SPI mode.

The problem with the display is the i have soldered with some components on, and a connector, so ill have to make an converter for the display :confused:

i got it working, but i figured that theres some problems with the reset. because i can get the graphics test working with reset to pin 13. but not bitmap test :confused:

Could you try another pin ? A normal pin like pin 2 or even an analog pin like A3.
Pin 13 is sometimes connected to a led, and it is part of the SPI interface.

i tried last night to do a digitalwrite(2,HIGH); in the setup file, and it worked. are the arduino setting all pins low at default/bootup and when its ready it runs the setup or ?

Before the setup() function, the variables and Classes are initialized, TIMER0 is started for the Arduino timing, but nothing else.
However, before that, the bootloader starts. The bootloader uses the serial pins and flashes pin 13 for the system led.

The serial pins are 0 and 1 for an Arduino Uno, but none for the Arduino Leonardo. However, both bootloaders use the system led at pin 13.

When a normal pins is not used, it is "input" and high (very high) impedance.
The signal could be anything, it can be noise. It depends on the attached electronics what it will be.
That is why a resistor is sometimes used to GND, to keep the pin low if for example a mosfet with relay is connected. Or else the relay could start jittering before the pin was set as output.

Is the display working normally now ? You keep using the U8Glib ?

Sorry about the late reply.

Yes it works with the U8Glib like you said. :slight_smile:

Only problem i have is the combination of another firmware and my own im trying to develop.

I got a 3D printer and im trying to create my own layout to the display.
Its the same display as the Ultimaker 2.

i tried to use the same firmware but then i loose alot of functions in the newest version of my current firmware.

Heres the firmware i use: GitHub - MarlinFirmware/Marlin: Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. | Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
Heres Ultimakers firmware: GitHub - Ultimaker/Ultimaker2Marlin

Im still new at coding for my hardware, i can do the basic stuff. But if im going to mess with low level coding then i need to focus more on the development :slight_smile:

Maybe you have a clue for me to incorporate my current with ultimakers and then guide my to the files where i can change the layout of the display :slight_smile: ?

Thanks in Advance Peter_n