What is pin 7 on the OLED? [Nothing]

(Kevin) #1

tldr; Can someone please put a scope on pin 7 and tell me what they see?

Ok, so I’ve been going nuts trying to figure out why the manufacturer wouldn’t just expose the vertical refresh (FR) pin to the flexible pin connector. It doesn’t make any sense, it gives the ability to prevent tearing and gives the user gray scale capability. This would be a huge value add.

We must go deeper. We must not believe what we have been told. There is a mystery about pin number 7.

Alright, let’s start with the SSD1306 data sheet, what does it tell us about the FR pin and the ability to sync the vertical refresh?

Source: https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf

Ok, so it’s right there in the index, that’s a good sign right?

This shows the FR pin is an output! Getting warmer!

And here it is (really small, sorry) within the pin-out of the actual controller chip. Seems like more good news!

OMG! Yes, this is what we want! Feeling good!

Look! A whole section describing how to use the FR pin, this is great! OK, so let’s use it! Where is it?

Well the FR pin certainly does come out of the SSD1306, but it’s tiny. We don’t actually have access to the tiny pins. The controller is under a pile of goop on the glass of the OLED. Let’s look at the datasheet for the actual screen module we use.

Source: https://cdn-shop.adafruit.com/datasheets/UG-2864HSWEG01.pdf

The big red arrow points at the actual controller chip. It’s tiny, you may have not even know there was a chip in there!

This is the pinout list from the OLED. And… No FC pin. Seriously? Are we out of luck? This is where I gave up before.

But what is this? What is pin 7?

All of the other pins are accounted for and need to be used with their designated functions, but why not connected? What do you mean compatible and flexible design??
We can also see the two N.C. on either end of the connector are supposed to be tied to ground and are supposedly just for mechanical strength. And that makes sense, but why is some random pin 7 in the midst of all the other signals just boring N.C.?

Unfortunately that’s all the datasheet has to say about that. Let’s move on to the Application Note for the Evaluation Kit…
Source: https://cdn-shop.adafruit.com/datasheets/UG-2864HSWEG01+user+guide.pdf

Pin 7 here gets a new name, VBREF. That’s a little discouraging since it certainly isn’t FR. Well, what the hell is VBREF? At first, it seems to make sense it’s related to Voltage, because “V”, am I right?

That seems like conflicting instructions to me. It should be connected to ground but also should be unconnected if it isn’t being used? Well, how the hell do you even use it?

And about this point I crapped my pants because I thought to myself “VBREF = VERTICAL BLANK REFERENCE”. Mostly because the part about “It should be kept NC if it is not used”. We saw this instruction before on the FR pin, so that’s starting to make me feel good again! Surely this must be it! Ok, more research, let’s not get too excited.

This is on the very next page. Crap. They probably wouldn’t call out the FR pin separately if it was actually the same as VBREF. Although the “It should be kept NC if it is not used.” is familiar.

But dammit, I’m frustrated again. Why do they even discuss this pin in the evaluation kit if we don’t have access to the pin?

This is the evaluation kit, just for reference. In our workshop we have something a bit like this, but it’s in a box. I’ll have to dig it out again to do some more testing looks like! But, let’s keep digging.

Let’s take one step back to the data sheet for the OLED module and search for VBREF this time instead of FR.

Uh, Okay. I guess. What does this mean? I think maybe it means that pin 7 isn’t necessarily tied to VBREF for certain? That’s a big assumption to make really. It just means we don’t know anything new.

Back to the SSD1306 Data sheet.

Well, nuts. That’s not encouraging either. It would seem VBREF is not the same as FR. They are two independent pins on the actual display controller chip. I’m pretty sad at this point, but let’s keep going.

Ok, here we learn a few things, and also get a bit confused.

First, VBREF is actually written as Vbref (or rather with BREF as subscript). This almost certainly means Voltage Battery Reference. Or at least something related to Voltage. Additionally in the key above we see that it is indicated to be a power pin.

Second, we also see the fact that VBREF and FR are most certainly different pins and different signals. Although they still share the same instruction that they should be left NC (Not Connected).

Third, however shows us that the data sheet is a bit misleading with C1P/C1N and C2P/C2N. Because later on it gives us the real configuration:

However, these are in fact left NC if you configure an external 9v power supply. So the pin designation seems to assume the external power supply which omits the internal charge pump.

I don’t even know what to think any more but lets find every last reference to VBREF before we give up.

And that’s about it! Both are left unconnected. And it’s important to note this application schematic is still within the SSD1306 datasheet, so it does not apply to the flexible pin connector that is installed on the OLED module.

There is only one last bit of information I can see to extract here. And it comes from comparing the above diagram with pin out of the flexible pin connector. In specific the grouping from

So actually we see here, that the diagram on the left is actually inverted from the actual physical pinout on the right.

And it looks like both the VBREF and the FR pin sit in between VBAT and VSS.

The diagram on the right clearly labels the pin as VBREF. But we are actually given no specific details about what this pin/signal really does other than knowing it’s a power pin. Since it is supposed to be connected to ground my guess would be that it lets the controller get a better reference voltage for the battery that is powering it?

We have so much more information about the FR pin and how to use it. Why would all of that info go to waste?

This is where we reach the end of what we can learn from these data sheets. There are actually other manufacturers that copy this design, and I’m going to hunt down the other data sheets they have published and see if there is anything to learn.

But really, the most simple thing to do here would be setup an evaluation board and put a scope on pin 7.

What does this all mean? What might we find?

If there is a pulse signal generated on this pin, we may well have found an undocumented FR pin. Which means, OMG GRAYSCALE. But my feeling is that this may actually be the VBREF pin, in which case I have no idea what the scope would detect. But it’s worth a shot.

I won’t be able to perform this test for at least another month. If someone else can test this, they will be true a true Arduboy Hero.

The only last thing I can think to do is visit the factory in Taiwan and get answers directly from the engineers. I’ve tried to set up a meeting in the past and just been deflected. But they publish their address on their data sheet. So what happens if I just show up? Maybe later.


@delegatevoid can we be of any help here ?

(ScrumpyJack) #3

the SSD1322 4bit driver also has an FD pin with a more deterministic description:

“This pin is No Connection pins. Nothing should be connected to this pin. This pin
should be left open individually.”

What happened to UG-2864ASYIG01 (the grayscale version of UG-2864HSWEG01, it seems). Can’t find a decent datasheet for it

(Kevin) #4

Screen is too big but damn that gray scale looks nice!

FD or frame sync is not needed for grayscale if the controller has a bit depth greater than 1. You would only need a sync pin for eliminating tearing (which isn’t visible due to the high refresh rate) or special effects.

(ScrumpyJack) #5

Perhaps a commercial motive? The 4bit drivers wouldn’t sell if the FR was connected?

The SSD1309 doesn’t have the FR, but has a “display time generator” instead. Perhaps the FR was an early attempt at pulse sync after all?

(Scott) #6

So, I was going to use my oscilloscope to look at the signal brought out to pin 7 of the 0.96" version of the Arduboy display, that I’ve used for my home made Arduboy clone.

Upon close examination, I discovered that pin 7 is really truly N/C. The flex cable doesn’t have any signal brought out from the display chip to the connector.

It may be different with the flex cable used for the real Arduboy’s 1.3" display, but I don’t want to risk damaging mine by attempting to pry up the display to get at the connector.

(Kevin) #7

Nuts and double nuts.

Well I guess that solves the mystery. Yeah don’t try to upend the oled display. I’ve never been able to do it without cracking the glass.

Thanks @MLXXXp

(Josh Goebel) #8

Being able to supply the clock signal to the display would also work (if this is what you are referring to). Pretty sure the SSD1306 allows that also, but it’s yet another pin that isn’t brought out.

(Kevin) #9

Yeah there is a CL pin for clock signal and it’s controlled by CLS pin for clock select, and both are not exposed.

Seems like the damn factory should put FR pin on pin 7 for us!!

(Josh Goebel) #10

I’m guessing artificial PWMed greyscale isn’t a big request from people or you think they totally would.