SPI/I2C OLED display


#121

What's the "low output issue?"

Totally get that -- it's definitely scary screwing around with things you're unsure of when there's a chance of frying something.

Do you have a breadboard and wires? Does my diagram from the other thread help?

How's your soldering? The hardest part for me in this was moving the SMD resistor on one screen to get it readdressed.

WE WILL GET YOU THROUGH THIS :smiley:


#122

@spacelordmother thanks man I highly appreciate your effort. I am just really not comfortable with this stuff.

But I got a freaking Weller soldering iron, which cost more than the Axo boards I want to solder on :slight_smile: haha :slight_smile: So I got the right tools, I think.

But about my soldering skilles. Only think I really soldered was the Axo control board, which as you can read in my first description only lastet for a while, before it started failing, which resultet in humming on the output of Axoloti.

About the "low output issue":
The first badge of Axolotis had some issues that could cause the output to go almost mute.

There is an example of it here and how to fix it:

I dont have a breadboard. Ill see if I can find one. It does seem like a less destructive way of learning this :slight_smile:

And thanks I appreciate that you want to help :slight_smile:


#123

For sure! Had it not been for the kindness and patience of others I wouldn't be where I am... and I still have a looooong way to go!

Also, this is your friend: https://www.amazon.com/WEmake-WM-SP4-Solder-Sucker-desoldering/dp/B0002KRAAG


#124

I think I have one of those suckers too, so getting closer.

But ill check up on the breadboard, I think I have to buy it online and wait a while for it, cause my city doesnt really have any nice electronic shops that sells breadboards and stuff like that.

I am mostly into the patching part, that I feel super comfortable about, cause its almost impossible to break that way, hehe :slight_smile: That makes me feel safe experimenting with it.


#125

When I receivd my first Axoloti, i had not practiced soldering for many years.
So I re-practice it on old electronic scraps (for example, an old non working remote control), before I do serious stuff on the axoloti. You should practice with the solder sucker before using it on the Axoloti.


#126

I'm not sure the resistors are mandatory as the gpios have internal pull up resistors :thinking:


#127

hmm, i tried just that now and it did not work. will have to investigate further. @SmashedTransistors i used your OLED128x64nice help patch, should the second display (on 0x3D) also work when the first display is not connected? i am not sure this is the case, so i am not sure if my tests are flawed. i also tried to just change the address on your objects, with only one display and one object connected and i can select 0x3c or 0x3d and the display works...


#128

This should work with one instance per OLED display set on its i2c address.

If you have troubles, you can describe what you do, i have a pair of 1"3 OLEDs and can try it at home.


#129

sorry, i was not very clear. the issue is with the display that has no address selector.
i will investigate further, but i think i will have to cut a trace on the pcb as per this post:
https://forum.arduino.cc/index.php?topic=248663.0

i was just not sure, if your help patch would show the 0x3d display even when no 0x3c display was connected. (the lower OLED object) when i tried with one OLEDnice object of yours, i could set the addressfield to 0x3c or 0x3d and it worked anyways. (with a display set to 0x3c)

long story short, let me first try that pcbhack :slight_smile:


#130

@SmashedTransistors amazing!

i have a 0.91 inch 128x32 pixel here and it works as well with your library! the funny characters are a custom font, it's all as it should be.

i kind of expected, that it would only display 2 lines, but it seems the two lines are internally scaled. hence my question: would it be much work to add a double size option? so that one line occupies two lines?


#131

Hi @lokki, I experienced the same. I changed the position of both resistors and there was no sign of output. Investigated further and found this topic on github containing the same question. Someone commented:

the "1" and "2" positions near the connector have some SMD resistors connected either to Vdd or GND.
So changing the 1 from Vdd to GND position should change the I2C address.

When I tried to solder the resistors back in place, the board became toast :face_with_raised_eyebrow:
The copper solder pad came loose from the board. I guess soldering smd resistors is not my thing.

I hope the solution from the github topic will help you! I've ordered two new OLED screens with a simple address selector.

[ps: I will try to change the address using this solution on the one that's still working, but I have sooo little time to do these things]


#132

i did that and it did not help.

as per the arduino forum post i linked to, the pin number 15 of the ribbon cable (which apparently is the address selector) is hardwired to gnd. i verified this, when i had both resistors removed. so the only thing to do really is to cut the trace there and solder a thin wire from pin 15 to vcc. after looking at the board i have to say, i am not comfortable doing that (or more to the point, i rather order an oled with address selector then spending time fiddling with such small stuff :slight_smile: )


#133

Wow that scaling on the 128x32 OLED is funny.
I wonder if all 128x32 display behave this way.
It will be a little tricky to hack the 128x64 OLED to scale up the characters.


#134

hmm, ok. i thought it would be about using the same text line twice, once the lower four bits x4, once the higher four x 4. the horizontal scaling could stay the same i guess.

i guess all the ssd1306 128x32 displays behave the same


#135

In the the 128x64 display, pixels are arranged by horizontal bands of 8 pixels (called pages).
The 128x64 object I have written calculates each band according to the incoming strings or scope, thus i avoided the use of a complete buffer (sram2 is quite precious). That's why it can be tricky to modify it.


#136

ah i see. so i would assume on the 128x32 they are arranged by horizontal bands of 4 pixels...(and funnily internally the driver seems to downscale 128x64 "correctly" to 128x32) that is why i thought you could just upscale the font, and still send the full 8 pages (as if it where a 128x64)

can't you just read directly from the incoming strings, but only use half of the bits of your font and scale it up by factor 2 (once the upper half once the lower half) and the same for the second line. line 3 and 4 would be disabled of course.

but you know the object better then me :slight_smile: i had a look at it briefly and could not make much sense of it as of now...


#137

You can try tiar/HW/OLED128x32_2lines
It can draw 2 text lines of 11 characters


#138

@SmashedTransistors
thanks heaps!! that is great. it works very well! (even on a 128x64 as a bigger text it is ok i think)

if i may suggest that you put back in the bar mode in a "final" version, the bar can also be upscaled i think. scope makes not much sense on the smaller display.

on a sidenote though, the two line object could also make a lot of sense for the 0.96 or even 1.3 inch 128x64 objects if you have to read them from a bit of distance (a floor unit on stage for example) so the ideal solution would be, if a fullscreen scope would also be available. (or a disable inlet, so that one can switch between the two objects)

great work, thanks!!


#139

Sorry but I don't really plan to do that soon. You can give it a try.

I have many axoloti projects in stand by for a while, and i really need to focus on finishing them.


#140

sure, no problem. thanks for what you did already. i will give the bars a try for the smaller display and see where it goes :slight_smile: