Close

5/18: Schematics decoded

A project log for SSD1325 OLED Hack

Hacking SSD1325 OLED Display for use in custom projects.

sidsinghsidsingh 05/18/2014 at 18:180 Comments

For the past two days I have poured over ssd1325 datasheet and also figured out most of the schematics. I used the multimeter contuinity tester,a pair of custom made probes for tracing back the connections, a 5x magnification lens and a lot of patience. The probes are nothing fancy, I just put them together using couple of sewing needles and thin wires connected to  multimeter's original probes.

Datasheet for ssd1325:

http://www.densitron.com/uploadedFiles/Displays/Support/SSD1325_2.1.pdf

and, the schematics of the OLED PCB:

https://github.com/sidsingh78/SSD1325_OLED

As I had suspected earlier, All RGB LEDs are driven individually using microcontroller pins (8 x 3 = 24 I/O ports for LEDs alone...what a waste!). The OLED display is driven serially using SPI bus. PIC18F67J10 has dual SPI bus, the OLED display is sharing the SPI-2 bus with the serial Flash memory. SPI-1 bus is used to send commands from external system to PIC and is terminated on external header J4.

Initially, I had thought the OLED was driven using 8 bit parallel bus, but it turned out serial. One major disadvantage of using serial communication is that you cannot read back the display RAM (GDRAM) of ssd1325. Serial communication is Write Only, which presents the following unique problem...

Each pixel on the display is mapped to 4 bits (upper and lower nibble). Each pixel can have 16 grayscale shades 00h-0Fh, hence 4 bits. 1 byte represents two adjacent pixels (columns). So, if you light up a pixel by sending a serial byte, you inadvertently erase or overwrite the adjacent pixel.  

One solution I can think of is to have a frame buffer in PIC RAM and dump the entire frame during display refresh, this will eliminate the need to read back display RAM. 

Now, since I have figured out most of the connections, next steps are connecting wires to the external headers, supply the right voltages and try to reprogram the onboard PIC. This has to wait till tomorrow, its almost midnight and I have to start for work early. Good night! 

Discussions