Since some time now I have a couple of very old OLED displays - 128x128 pixels. These are driven by the ssd1339 chip for which I found the datasheet online. Based on this I created my own driver and demo application.
Adapter board
The first challenge was to find an appropriate way to connect to the display. It uses an FCC connector that is quite narrow pitched. My first try was actually to solder a couple of jumper wires on to this but it quickly failed. I decided to make my own adapter and produce an adequate pcb.
I also made a custom cable to be avoid messing up the wiring if I disconnect and then reconnect the oled to the breadbord. The oled board itself has a FCC connector and is powered by 3.3V.
Holder
The flat cable is also quite sensitive. A holder proved to be very good as it avoided shorts and bad contacts. The holder is designed in OpenSCAD and it will hold the the adapter and display together.
Driver examples are quite seldom, but I did manage to find something that could be analysed. I found the serdisplib but I could not use it directly... it wort mentioning nevertheless.
Source code
For the OLED display I have created a new library in my project. This gets linked into the project as a git submodule andneeds to be included into the qbs files of the project and app. The init function requires function pointers to the GPIO interface for setting various pins to high/low (basically bit-banging). The 8 data lines are directly written to port A in my case.
All ssd1339 commands are implemented including the graphic accelerator ones. From the concept this interface is quite interesting but I'm disappointed of the low brightness and color accuracy of this display.
The repository for this project can be fount in github: stm32f411ce-oled