Skip to content

What is the pinout of a 3.2 inch 256x64 OLED display module?

By admin Where-I

The pinout of a 3.2 inch 256x64 OLED display module typically follows a 15-pin or 16-pin interface, depending on the controller IC (commonly SSD1322 or SH1122). For the most common variant using the SSD1322 driver, the pinout is: 1-GND, 2-VCC (3.3V), 3-VBAT (battery voltage for internal DC-DC converter, typically 3.3V-5V), 4-BS0, 5-BS1, 6-BS2 (interface select pins), 7-CS (chip select), 8-RES (reset), 9-D/C (data/command), 10-SCK (serial clock), 11-SDIN (serial data in), 12-E (read/write enable for 6800/8080 modes), 13-RW (read/write select), 14-D0-D7 (parallel data lines, used in 8-bit mode), 15-IRS (internal regulator select), and 16-VCOMH (common voltage output). However, the exact pinout can vary by manufacturer, so always verify with the datasheet. This 3.2 inch 256x64 oled display module from DisplayModule uses a simplified 15-pin layout for SPI operation, which we will break down in detail.

The display itself is a monochrome passive-matrix OLED with a resolution of 256x64 pixels, a diagonal size of 3.2 inches, and a pixel pitch of approximately 0.29mm x 0.29mm. The active area measures 76.78mm x 19.18mm, giving a total viewable area of about 76.78mm x 19.18mm. The module typically operates at 3.3V logic with a maximum current draw of around 80mA to 120mA during full-on white screen, depending on brightness settings. The SSD1322 controller supports multiple interface modes, including 4-wire SPI, 3-wire SPI, 8-bit 6800 parallel, and 8-bit 8080 parallel. The interface selection is done via the BS0, BS1, and BS2 pins, which we will detail in a table.

Pinout Table for 3.2 inch 256x64 OLED (SSD1322, 15-pin FPC connector)

Pin Number Pin Name Function Typical Voltage Notes
1 GND Ground 0V Connect to system ground
2 VCC Logic power supply 3.3V 2.8V to 3.6V typical range
3 VBAT DC-DC converter input 3.3V-5V Supplies internal charge pump; 4.5V typical for max brightness
4 BS0 Interface select bit 0 GND or VCC See interface selection table
5 BS1 Interface select bit 1 GND or VCC See interface selection table
6 BS2 Interface select bit 2 GND or VCC See interface selection table
7 CS Chip select (active low) 3.3V logic Pull high to disable; low to enable communication
8 RES Reset (active low) 3.3V logic Minimum reset pulse width: 1µs
9 D/C Data/Command select 3.3V logic High for data, low for command
10 SCK Serial clock 3.3V logic Max clock frequency: 10MHz (typical 4MHz)
11 SDIN Serial data input 3.3V logic Data latched on rising edge of SCK
12 E Read/Write enable (parallel mode) 3.3V logic Not used in SPI; leave floating or pull to GND
13 RW Read/Write select (parallel mode) 3.3V logic Not used in SPI; leave floating or pull to GND
14 D0-D7 Parallel data bus (8-bit) 3.3V logic Not used in SPI; leave floating
15 IRS Internal regulator select GND or VCC Low: internal regulator enabled; High: disabled (use external VCOMH)

Interface Selection via BS0, BS1, BS2

The three interface select pins determine the communication protocol. For 4-wire SPI (the most common for microcontrollers), set BS0=GND, BS1=GND, BS2=VCC. For 3-wire SPI (9-bit serial), set BS0=VCC, BS1=GND, BS2=VCC. For 8-bit 6800 parallel, set BS0=GND, BS1=VCC, BS2=GND. For 8-bit 8080 parallel, set BS0=VCC, BS1=VCC, BS2=GND. The 4-wire SPI mode uses CS, SCK, SDIN, and D/C pins. The 3-wire mode omits the D/C pin by embedding the command/data bit in the serial stream. Parallel modes use the full D0-D7 bus along with E and RW pins. Most hobbyist and industrial projects prefer 4-wire SPI because it requires only 4 GPIO pins (CS, SCK, SDIN, D/C) plus RES, which can be tied to the microcontroller reset if needed.

Power Supply Considerations

The display requires two power inputs: VCC for logic (3.3V) and VBAT for the internal DC-DC converter that generates the high voltage (up to 15V) needed for OLED pixel drive. The VBAT pin can accept 3.3V to 5V, but 4.5V to 5V is recommended for maximum brightness and uniform luminance. At 5V VBAT, the module draws about 40mA to 60mA for the logic and 50mA to 80mA for the OLED panel, totaling around 100mA to 140mA. If you use 3.3V on VBAT, the brightness drops by about 30% and the current draw reduces to 70mA to 90mA total. The VCOMH pin (pin 16 on some modules) outputs the common voltage level (typically 12V to 14V) and should not be loaded externally. The IRS pin, if set low, enables the internal regulator to stabilize VCOMH; if set high, you must supply an external VCOMH voltage (usually 12.8V). Most modules come with IRS pulled low internally.

Timing and Electrical Characteristics

The SSD1322 controller operates at a maximum SPI clock frequency of 10MHz, but 4MHz is a safe default for most Arduino or STM32 systems. The RES pin requires a low pulse of at least 1µs to initialize the controller. After reset, the display enters sleep mode and draws less than 10µA. To wake it, send a command sequence: 0xAF (display ON) after setting the contrast (0x81) and segment remap (0xA0). The D/C pin must be set low for commands and high for data. Data is sent MSB first, and the display updates at a frame rate of 60Hz to 100Hz, depending on the clock divider settings (register 0xB0). The pixel data is organized as 256 columns x 64 rows, with each byte representing 8 vertical pixels (page mode). The GDDRAM is 256x64 bits, so the total frame buffer is 2048 bytes (256 columns x 64 rows / 8 bits per byte).

Physical Pinout Variations

Some manufacturers use a 16-pin FPC connector instead of 15 pins. The extra pin is often a second VCC or a test pin. For example, the DisplayModule variant uses a 15-pin 0.5mm pitch FPC connector with a locking tab. The pin numbering is usually printed on the back of the PCB or in the datasheet. The order of pins on the FPC cable can be reversed (pin 1 on one end vs. the other), so always check the orientation. The module's PCB is about 85mm x 25mm, with four mounting holes (2.5mm diameter) at the corners. The OLED glass is 0.7mm thick and is bonded to the PCB with a 3M adhesive. The connector is a ZIF type, so you need to lift the locking tab, insert the FPC, and press down to secure.

Common Pitfalls in Wiring

One frequent mistake is connecting VBAT to 3.3V when the module expects 5V, resulting in a dim display. Another is leaving the BS pins floating, which causes the interface to default to an undefined state. Always pull BS0, BS1, and BS2 to GND or VCC with 10kΩ resistors if the microcontroller pins are not used. The CS pin must be pulled high with a 10kΩ resistor to prevent spurious data during power-up. The RES pin should be controlled by the microcontroller; if tied to the system reset, the display will reset every time the MCU resets, which is fine but may cause a brief flash. The D/C pin should not be left floating; if unused (in 3-wire SPI), it must be pulled to GND. The parallel data pins (D0-D7) and E/RW pins, if unused, should be left floating or pulled to GND with 10kΩ resistors to reduce noise.

Software Configuration for SPI

To use the display in 4-wire SPI, you need to initialize the SSD1322 with a specific sequence. First, set BS0=GND, BS1=GND, BS2=VCC. Then, after power-up, wait 100ms for the internal regulator to stabilize. Send a hardware reset by pulling RES low for 10µs, then high. Then send commands: 0xFD (unlock) with 0x12, 0xAE (display off), 0xA8 (set multiplex ratio) with 0x3F (64 rows), 0xA1 (set display start line) with 0x00, 0xA2 (set display offset) with 0x00, 0xA0 (set remap) with 0x51 (column remap, nibble remap, COM split), 0xAB (enable internal VDD regulator) with 0x01, 0x81 (set contrast) with 0x80 (mid value), 0xB1 (set phase length) with 0x51, 0xB3 (set display clock divide ratio) with 0x01, 0xB9 (set pre-charge period) with 0x04, 0xBC (set pre-charge voltage) with 0x08, 0xBE (set VCOMH voltage) with 0x07, 0xD5 (set second pre-charge period) with 0x62, 0xA4 (enable global display), 0xAF (display on). After this, you can send pixel data by setting D/C high and writing 2048 bytes (256 columns x 8 pages). The display updates automatically at the frame rate set by register 0xB3.

Performance Data

The display has a typical brightness of 100 cd/m² (nits) at VBAT=5V and contrast set to 0x80. The viewing angle is >160 degrees due to the OLED self-emissive nature. The response time is under 10µs, making it suitable for fast-moving graphics. The pixel lifetime is typically 50,000 hours to 100,000 hours to half brightness, depending on the operating temperature and current. The module can operate from -40°C to +85°C, with storage from -40°C to +90°C. The humidity range is 5% to 95% non-condensing. The OLED glass is sensitive to mechanical stress, so avoid bending the FPC more than 10mm radius.

Alternative Pinout for SH1122 Controller

Some 3.2 inch 256x64 OLED modules use the SH1122 controller instead of SSD1322. The SH1122 has a similar pinout but with differences: pin 3 is often VDD (logic) instead of VBAT, and pin 4 is VCC (panel voltage). The interface select pins are usually BS0 and BS1 only (no BS2). The BS0 and BS1 settings for SPI are: BS0=GND, BS1=GND for 4-wire SPI; BS0=VCC, BS1=GND for 3-wire SPI. The command set is also different, so you must use the SH1122 datasheet. The pixel arrangement is the same 256x64, but the GDDRAM mapping may require a different remap command. Always check the controller IC on the module before wiring.

Testing the Pinout

If you are unsure about the pinout of your specific module, use a multimeter to measure continuity between the FPC pins and known test points on the PCB. The GND pin is usually connected to the large copper pour on the back. The VCC pin should show a diode drop to GND (around 0.3V to 0.6V) due to the internal protection diode. The VBAT pin may show a higher resistance to GND. The SCK and SDIN pins should show high impedance when the module is unpowered. You can also power the module with 3.3V on VCC and 5V on VBAT, then measure the voltage on the OLED driver IC pins to confirm the pinout. The SSD1322 datasheet includes a pin diagram for the 100-pin QFP package, but the module's FPC maps to specific pins on the IC.

Practical Wiring Example for Arduino

For an Arduino Uno (5V logic), you need level shifters because the display is 3.3V. Connect VCC to 3.3V, VBAT to 5V (via a 100Ω resistor to limit inrush current), GND to GND. Set BS0=GND, BS1=GND, BS2=VCC (via 10kΩ resistors). Connect CS to digital pin 10, RES to pin 9, D/C to pin 8, SCK to pin 13, SDIN to pin 11. Use a 10kΩ pull-up on CS to 3.3V. The code uses the Adafruit_SSD1322 library or a custom SPI driver. The display will show a test pattern after initialization. The current draw at full white is about 120mA, so use a separate 5V supply for VBAT if the Arduino's 5V pin cannot provide enough current.

Data Sheet Reference

For the exact pinout of the DisplayModule variant, refer to the product page for the 3.2 inch 256x64 oled display module, which includes a downloadable PDF with the full pinout, mechanical drawing, and initialization code. The datasheet also specifies the FPC connector part number (Molex 52559-1552 or equivalent) and the recommended mating connector. The module's PCB has a silkscreen that labels pin 1 with a dot or a "1" marking. The FPC cable has a stiffener on the insertion end, so insert it with the stiffener facing the PCB.

Common Misconceptions

Some users think the display can be powered from 5V logic directly, but the VCC pin is only rated for 3.6V max. Applying 5V to VCC can damage the controller. Also, the VBAT pin is not a power output; it is an input for the DC-DC converter. Do not connect VBAT to VCC. The IRS pin is often

See your operation on a single map.

Book a 30-minute working session with a Where-I engineer. We'll model your catchment live, on your data.