Closed MPereira-lp closed 6 years ago
what arduino are you driving this with? i note that the datasheets for this controller state a nominal voltage of 3.3v, if you've used a 5v arduino without level shifting it's likely fried...
I'm using an arduino uno, but I'm using the 3.3v.
VDDIO, VDD, and VCC are supposed to go into the 3.3v right?
according to this page it should be:
where VCC is used for actually driving the display, so putting 3.3v in here would explain why nothing appears on screen. you need to check what voltage your display module requires and provide that.
Additionally, all five datalines must not exceed a voltage of 3.3V Although you might have used Arduino Uno 3.3V for driving the power lines, the GPIOs of the Arduino still have 5V output for logic high. For the data lines you should use a level shifter like the 74HC4050. You display will not work without levelshifter (let us hope that it wasn't destroyed by the GPIO voltage).
For the generation of the 9-15V I had used a LM2704 step up converter...
I wasn't able to use the C3 on pin 22. Is that bad?
I once had a display, which did not work because of a missing cap.
After reading your PM: What is your exact display type? Any link to Datasheet? Your schematic is a starting point, but adding a 74HC4050 and a proper LM2704 is mandatory from my perspective.
Hi!
Thanks for the answers.
and this is where I bought it from
They sell boards ready to use. But I'd rather use an arduino or a raspberry, for matters of space. I don't even know if I can communicate with this board they sell and read input variables on the display.
The 74HC4050 is used to regulate the low voltage right?
Is it ok, to continue on the github page regarding technical topics? I will reply there. --> oh mistake... it is already on github :-p
THe 74HC4050 is a level shifter. It translates 5V GPIO levels to 3.3V level. It does not regulate the voltage as such. It is more of a logic thing: 0V is mapped to 0V, 5V (basically any thing >2V) is mapped to 3.3V
Perfect, so it should be pretty simple to wire... (?) I can't find the LM2704 on the eletronics stores around here... any alternative?
about the "VDDIO = 1.7V - VDD" , it means it should have a voltage above 1.7V and below VDD voltage (3.3V)... should I use a resistor and connect to the same line?
Thanks
There are many alternatives to the LM2704. I just found the LM2704 very reliable. It is available from e.g. mouser.com.
about the "VDDIO = 1.7V - VDD" , it means it should have a voltage above 1.7V and below VDD voltage (3.3V)...
yes
should I use a resistor and connect to the same line?
i think this is not required
My question is, if I connect VDDIO and VDD to the same line (the same V), should it work?
Yes, I think so.
I already have the 74HC4050. I couldn't find the LM2704, but for testing I can connect to a 9-12V power supply right?
How should I wire the 74HC4050? I connect the VCC to the arduino 5V, GND to GND. Then I connect the arduino pins on the 1A and the screen on 1Y (e.g.)? or should it be the other way? screen on A and arduino on Y?
How should I wire the 74HC4050? I connect the VCC to the arduino 5V, GND to GND.
No! You must connect VCC of the 74HC4050 to 3.3V of the Arduino Board.
Then I connect the arduino pins on the 1A and the screen on 1Y (e.g.)?
Yes, direction is from A to Y, from Arduino to Display.
but for testing I can connect to a 9-12V power supply right?
yes of course any source will do. A step up converter is only required if you want to create the 9V-12V from an existing 5V source. There are a lot of alternatives to the LM2704. Devices are called step up or boost converter.
So, I've been testing the 74HC4050, and If I connect the PSU with 5V to the A, the output on Y is 3V. Which is what is supposed to happen.
But If I connect the PSU (5V) to Y, the output on A is 10V (which would solve the missing LM2704). Would that damage anything??
So, which one would be the closest to the SSD1326? the ssd1325 SPI or the ssd1327 I2C? I'm using SPI right now. Would it be better to use I2C?
So, I've been testing the 74HC4050, and If I connect the PSU with 5V to the A, the output on Y is 3V. Which is what is supposed to happen.
yes
But If I connect the PSU (5V) to Y, the output on A is 10V (which would solve the missing LM2704). Would that damage anything??
A is an input and not an output. The only function of the 4050 is to get 5V and output 3.3V. It is not at all able to generate any output voltage. If you have measured any other voltages (10v), then your measurement is faulty (mostly because A is "floating"). Try this: Add a 10K resistor between A and GND. Repeat your measurement: You will observer 0V at A. You will need a proper step up converter to get a suitable and reliable voltage. If you would to the same experiment with the 10K resistor with a step up converter, you will still see the 9V to 12V.
So, which one would be the closest to the SSD1326?
Closest what? I have not even started to analyse the SSD1326. Probably none of them. Usually a new code has to be developed.
I'm using SPI right now. Would it be better to use I2C?
SPI is fine. Level shifting for I2C is much more complicated, because I2C requires bidirectional communication. So,... let's continue with SPI.
Well, right now I've connect everything as it is supposed to, and there is no light on the screen.
It makes no difference on using the GND on the arduino or the GND on the PSU right?
It makes no difference on using the GND on the arduino or the GND on the PSU right?
should be the same
Is this helpful?
Everything is helpful. I will have a look on how to continue with the code. Can you post a picture of your setup?
https://i.imgur.com/mKsySYt.jpg
Should I make a sketch of the wiring? Shoudn't the screen at least light up using other screens libraries?
Sorry about the bad soldering skills!
Nice pics. Did you see whether lines are toggled while adding any other u8g2 SSD132x constructors? I mean, did you do any hardware check?
Meanwhile I did a crosscheck of the SSD132x controller:
SSD1325 SSD1326 SSD1327 SSD1329
128 x 80 x 4 256 x 32 x 4 128 x 128 x 4 128 x 128 x 4
0x15 set col set col set col set col
0x23 gr acc - - -
0x24 draw rect - - -
0x25 copy - - -
0x26 scroll scroll scroll -
0x27 - - scroll -
0x2e end move end move end move -
0x2f start move start move start move -
0x75 set row set row set row set row
0x81 contrast contrast contrast contrast
0x82 - - - 2nd charge
0x84 current current nop -
0x85 current current nop -
0x86 current current nop -
0x87 current current -
0x90 - - - Icon ctl
0x91 - - - Icon current
0x92 - - - Icon current
0x93 - - - Icon on/off
0x94 - - - Icon all
0x95 - - - Icon blink
0x96 - - - Icon duty
0xa0 remap remap remap remap
0xa1 start line start line start line start line
0xa2 offset offset offset offset
0xa4 mode mode mode mode
..
0xa7 mode mode mode mode
0xa8 multiplex ratio multiplex ratio multiplex ratio multiplex ratio
0xab - - regulator -
0xad master config - - -
0xae disp. on disp. on disp. on disp. on
0xaf disp. off disp. off disp. on disp. on
0xb0 comp enable - - -
0xb1 phase len phase len phase len phase len
0xb2 row period frame freq nop frame freq
0xb3 div ratio [3] clock div [2] clock div clock div [2]
0xb4 comp level - - -
0xb5 - - GPIO -
0xb6 - - 2nd phase -
0xb7 - default gray - default gray
0xb8 gray level gray level gray level gray öeveö
0xb9 - - linear LUT -
0xbb - 2nd charge nop 2nd charge
0xbc precharge precharge precharge precharge
0xbe comh volt comh volt comh volt comh volt
0xbf VSL - - -
0xd5 - - fn select B -
0xe3 nop - - nop
0xfd - cmd lock cmd lock cmd lock
I assume all of them should turn on something. Most similar to the SSD1326 seems to be the SSD1329. I think I will create a new constructor based on that controller for your SSD1326 display.
I've been testing the voltage on the arduino lines with the SSD1329, and I get something around 0,6V on each line.
Since I dont have any other arduino one at the moment I've tested also on a micro, and the voltage on line 8 and 10 is 4.6V and the other ones are around 0.2V.
Is this normal?
Depends. A scope will tell you more precisly what happens on the line. You should see some activity according to the clock and data lines. CS and D/C line will change less often.
Sorry for asking. But what do you mean by "A scope"? I've been using the multimeter to check the lines, is that what you mean?
Thanks
Might this be the reason the screen is not lighting up? Do you have any idea of what is the use of this?
Sorry for making so many questions
no problem. Your questions are very good. For your power supply: I personally would remove the initial power enable circuit. Unless you want to create a real low power app, it is not required. The display itself can be put into power save command by using a software command. Moreover, the R1200 has its own enable input, why not using this input, so somehow the two transistors seem to be fully redundant.
From reading the datasheet, the R1200 seems to be a nice setup converter. So from my understanding you do not need R4, R5, U2 and U3. Just connect Vin directly to the Vin input of the R1200.
Sorry for "scope". I was thinking of an oscilloscope.
I have to updated my discussion on the R1200. As mentioned if the datasheet it is mainly for LED backlights. So it is not really applicable for your OLED. Especially the rectifier is missing (which is indeed not required for the backlight application).
A better choice would be this device. Rectifier D1 is required for your OLED.
ok, I just saw, that you took the step up converter from the datasheet. Well, then it should be fine. Still R4, R5, U2 and U3 are not required.
For further testing: I have created 2.20.2 beta of u8g2. Download location: https://github.com/olikraus/U8g2_Arduino/archive/master.zip
Use the add zip library menu of the Arduino IDE to install the u8g2 beta.
Please use u8x8 interface for testing. I have included experimental constructor for ssd1326, but maybe ssd1329 may also work (a little bit). U8g2 interface requires 16 bit mode, which is disabled by default (so better start testing with u8x8). Of course I do not know whether the new constructor works...
ok, I just saw, that you took the step up converter from the datasheet. Well, then it should be fine. Still R4, R5, U2 and U3 are not required.
Yes, I took it from the screen datasheet, and I was not aware it is a powersupply. From what I understand it is a 5V to 12V power supply right? Might that be the reason my screen is not lighting up? or it should it work fine with a regular 12V DC transformer (psu) as I'm using?
At the moment I'm out of UNO's. Arduino nano should do just fine right?
I've used arduino nano, and there is no light... I'll try and get another UNO. I've sent you a PM on Arduino Forum.
Any Power supply ist fine, nano is also ok
I've been just checking which lines are connecting to ground. And line 11(SDIN) and 12(SCLK) are connected to GND, it is not supposed right? If I disconnect 11 and 12 from the 74hc4050 it stops the connection to GND...
C1,C2 - 4.7uF/25V C3,C4 - 01uF
R1 - 680Kohms
This is the scheme of my wiring right now. Everything as it is supposed to be?
Good news, it already light up! This is what is showing on the display. What do you think?
Hi,
Check you reset connection,
regards
2017-10-30 9:45 GMT-04:00 MPereira-lp notifications@github.com:
Good news, it already light up! This is what is showing on the display. What do you think?
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.
Hi!
I've checked with multimeter and seems to be wired right...
I've been just checking which lines are connecting to ground. And line 11(SDIN) and 12(SCLK) are connected to GND, it is not supposed right? If I disconnect 11 and 12 from the 74hc4050 it stops the connection to GND...
You probably mean pin 13. Maybe you have soldering issue on your board with the GND connection. And no, there should be no GND connection.
Good news, it already light up! This is what is showing on the display. What do you think? After a reset it looks like this.
Can you post a signle picture with a better resolution? Of course the new SSD1326 device is not tested at all. Can you also check with the other devices? The SSD1329 seems to be very similar.
I've tested with SSD1329 SSD1327 SSD1325 and SSD1322. All of them give a very close screen output. The SSD1322 is the only one that does not work at all.
I'll re-do all the wiring and soldering and try again.
So, after re-doing all the wiring the result is the exact same thing. The pixels on the top-left corner look like they'r scrolling to left.
These are the capacitors I'm using. Maybe I'm using the wrong ones(?)
ok, which constructor did you use? Caps should be ok.
Screen Constructor? This is the exact screen.
All the datasheets I provided you are from this exact screen.
Today as I turned on the arduino the screen looked like this.
I don't think I've changed anything. Looks like hardware or software issues?
Update- I've changed to 16BIT and with the SSD1329 it is looking much better. I'm using the full_buffer/Graphic test and the text "BIG" is already readable on the screen.
So, I've tried to change the resolution of the ssd1329 to 32x32 (tile -4x4(?)) And nothing seems to change...
What about the newly added U8G2_SSD1326_ER_256X32_1_4W_SW_SPI constructor? What will be seen with this device. Please also enable 16 bit for this.
The previous pics and videos are also with the 16 bit enabled and the U8G2_SSD1326_ER_256X32_1_4W_SW_SPI. After I've uncommented the line ( _U8X8CA(0x0ad, 0x002), / master configuration: disable embedded DC-DC, enable internal VCOMH / ) it is looking pretty close to the ssd1329...
ups, i made a mistake in the ssd1326 code. Please download and test version 2.20.4: https://github.com/olikraus/U8g2_Arduino
I also uncommented the 0x0ad command.
It's looking much better now! Not done yet, but it's getting much closer 😃
Here is the video. (I've replaced the word "Big" on the GraphicTest)
One thing I've noticed, is that the GraphicTest does not loop anymore. Is that normal?
Hi!
I've tried wiring the screen like this:
I wasn't able to use the C3 on pin 22. Is that bad?
I've tried to change the width and height on several other screens, and I've "activated" the 16bit on the "u8g2.h" file. The screen still dead...
Any tips?
Thanks