This is a tiny OLED screen with a SAO connector. It can be controlled over I2C.
A 0.66" I2C OLED display as a Simple Add-on.
To make the experience fit your profile, pick a username and tell us what interests you.
We found and based on your interests.
This is a tiny OLED screen with a SAO connector. It can be controlled over I2C.
easyeda_oledsao_2024-09-17.zipdesignZip Archive - 45.83 kB - 09/17/2024 at 14:41 |
|
|
Schematic_oledsao_2024-09-17.pdfschematicAdobe Portable Document Format - 34.54 kB - 09/17/2024 at 14:39 |
|
|
Gerber_oledsao_PCB_oledsao_2024-09-17.zipgerbersZip Archive - 28.38 kB - 09/17/2024 at 14:38 |
|
I uploaded the corrected design files now, they should be the same as the first prototype.
Speaking of failures, right now I only have one of those 0.66" displays, and I keep moving it from prototype to prototype, until at some point the ribbon cable will inevitably fail. So I ordered more of those tiny OLED displays. Except for some weird reason I thought they are 0.42" and not 0.66", so I got this:
Crazy how much difference 0.24" makes, eh?
Of course I can't use those displays on the badges, but they could be cool as eyes on a robot or something, so I designed a breakout for them. I can't use the SAO connector, since it's too big, but STEMMA QT sockets are about the right size.
I just managed to fit all the passives, and even squeezed in an address selection jumper, so you can have two of those on the same bus. It will be a while before the PCBs arrive, because I ordered them from OSHPark with the free shipping, and they are far away. But there is no hurry, and it's only about a dollar for three pieces.
So the "fixed" PCBs arrived. This time I didn't order assembly, just the PCBs, so I simply transplanted all the parts from one of the first prototype boards to the new one. Connected it, and voila:
It all works. Only... Now that I tried to connect it to an actual badge, I noticed that... the first prototype was actually correct. The second one is mirrored. The specification for the SAO connector is showing a mirrored footprint, because of course KiCAD.
So the original designs were actually correct, and the new one is wrong. Great.
There is only one tiny problem. I didn't save the previous design. I was so sure it was wrong, I fixed it in place. And since I didn't want people to download the wrong files, I deleted the files I uploaded here. So now I have to re-fix the design.
So, the first prototype PCBs arrived today, and of course there is a problem with them. But we will get to that. I only have one 0.66" OLED at hand right now, so I only assembled one badge, but it should be enough to test. Initially I planned to use the Vectorscope badge for testing, because it's the only Hackaday badge that doesn't have some weird PIC or FPGA brain, so should be easy to program to get the display running. Unfortunately, I underestimated Hackaday. The SAO connector on that badge has the pull-ups for SDA and SCL connected to the 3V3 pin of the pi pico, as it should, but the VCC pin is connected only directly to the plus terminal of the battery, bypassing even the power switch. This means not only that the SAO will not work without battery (and that with battery it will always work until it drains it completely), but also that if you connect it to USB without a battery, you are pretty likely to burn the I2C part, because it will get power on the pins without power on the VCC. Even with battery, when you connect it to USB, the pins will receive 3.3V from the pull-ups, but the VCC pin will only be the 3V or less of the battery, which is not something those delicate OLED chips are designed for. So I only connected the SAO to the unpowered badge to show how it could look like before being fried, and did all the rest of the testing by connecting jumper wires to the SAO connector.
I had a Xiao RP2040 at hand that even already had code for that particular display, because of the "eye" shield I made for #Wee Bug previously. A few female-to-female jumper wires, and I should have a working display. Unfortunately, all I got was the CircuitPython error message: RuntimeError: No pull up found on SDA or SCL; check your wiring.
Hmm, so what's wrong with the wiring? I looked at the schematic, and I saw the problem. You see, the SAO connector specification shows this image:
So it wasn't suspicious to me that my connector on the schematic was connected like this:
But that, of course, is wrong. I also didn't immediately notice this on the PCB view, because the connector was on the bottom layer, so the view was mirrored by default.
Of course the SAO connector specification lies. The correct connections look like this:
I fixed that on the schematic and on the PCB, and I will order the fixed boards with the next order. In the mean time, to test the rest of the SAO, I simply connected the power wires to the two pins on the other side, and voila:
We have the display working.
So when the new PCBs arrive, I will just move all the components to them, and it should be working.
Create an account to leave a comment. Already have an account? Log In.
Become a member to follow this project and never miss any updates