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.