Skip to content
Kazuaki Iso Kazuaki Iso— Independent Product Design
Design Log · Field Notes

Bring-Up Notes for a 1.1" 96x96 PMOLED Display in an Access-Control Reader

The short answer

Getting a 1.1-inch 96x96 PMOLED display to first light is a wiring and sequencing job, not a display-tuning one: on an Arduino, Raspberry Pi, STM32 or ESP32-class board, an image appears as soon as the interface pins, the reset line and the initialisation order are correct. The module offers 65,536 colours and multiple MCU interfaces in a 25.9 x 30.1 mm panel, a practical size for an access-control reader that only has to show a status line, a badge icon and a colour accent. The host you choose matters less than the discipline you apply to its logic levels and clock, so treat the ESP32 used here as a representative MCU rather than a required one. The sections below follow the order you will actually work in: pin budget, wiring, initialisation, then first light.

Key takeaways

  1. A 1.1-inch 96x96 PMOLED display is a passive-matrix, self-emissive panel, so there is no backlight to switch on and a blank screen almost always points at the interface or the init order rather than at the light source.
  2. 65,536 colours gives an access-control reader more range than its state display needs, while the 25.9 x 30.1 mm outline leaves room in the bezel for a card antenna, a keypad or a status LED.
  3. On an ESP32-class host the display bus is routed through the chip's GPIO matrix and the I/O runs at 3.3 V logic levels, so compare the host's levels with the logic-level requirement of the module variant you buy before you solder anything [1].
  4. The initialisation order, not the bus clock rate, decides whether you see first light on a 96x96 panel: display-on and addressing commands sent in the wrong sequence leave a correctly wired module dark.

Access-control readers are an unusual display application because the panel spends most of its life showing one of a handful of states: idle, reading, granted or denied. A 1.1-inch 96x96 PMOLED display fits that job well, because it is small enough to sit beside a keypad or a card antenna and colourful enough to make those states readable at arm's length.

The bring-up path is nearly identical on every host class. You confirm which MCU interface your variant uses, map it onto the host's pins, hold reset, send the initialisation block, then write a test pattern into the frame buffer and watch for it.

Most first attempts fail for mundane reasons: a swapped data line, a reset that was never released, an init block copied from a different controller, or a ground that returns only through a long ribbon cable. Working through the steps in order turns those into five-minute checks instead of an afternoon of guessing.

Why the 1.1" 96x96 PMOLED Display Suits an Access-Control Reader Front Panel

A reader front panel has three jobs: identify itself, show a state and stay readable in a lobby or beside a door. The 1.1-inch 96x96 PMOLED display covers all three from a 25.9 x 30.1 mm outline, which leaves space in a standard reader bezel for a card antenna, a keypad and a status indicator without redesigning the enclosure.

Because the panel is passive-matrix OLED, each pixel emits its own light. There is no backlight to enable, so the bring-up procedure has one less subsystem to verify and a dark screen points straight at the interface or the init sequence.

The 65,536-colour output is a useful middle ground here. A reader interface rarely needs photographic imagery, but colour makes granted and denied states distinguishable at a glance, and a single accent colour can carry a brand cue without adding a second indicator to the panel.

Mechanical and Interface Budget Before You Order

Start with the panel outline, the mounting features and the direction the flex or connector exits, because those decide where the host board can physically sit. Then lock the interface: the module is specified with multiple MCU interfaces, so confirm which variant you are buying and make sure the host pin plan still leaves that bus free once the reader's own signals are allocated.

Wiring a 1.1" 96x96 PMOLED Display to an ESP32-Class Reader Board

  1. Map the variant's interface onto host pinsDecide which MCU interface your module variant uses and assign it to the host before you plan the reader's other peripherals, so the display keeps a contiguous and routable pin group.
  2. Power the logic rail with the display idleBring up the host's logic rail with the display connected but uninitialised, then confirm the rail holds steady under load before any bus traffic starts.
  3. Tie ground at a single point near the connectorJoin display ground to host ground close to the connector rather than relying on a long ribbon return, which is a common source of intermittent first-light failures.
  4. Hold reset and release it deliberatelyIf the module exposes a reset line, keep it asserted while the host boots, then release it in software so the controller starts from the same known state on every power cycle.
  5. Route the bus clear of the antenna and lock driverKeep display clock and data traces away from the card antenna and the lock driver wiring, and cross those nets at right angles where they must meet.
Illustration: Wiring a 1.1" 96x96 PMOLED Display Decorative illustration for the section "Wiring a 1.1" 96x96 PMOLED Display"; visual only, carries no data.

Initialising the 1.1" 96x96 PMOLED Display Before the Reader's First Badge Scan

A reliable bring-up routine is short and boring: release reset, send the controller init block, set the addressing window to cover the full 96x96 area, clear the frame buffer, then turn the display on. The order matters, because writes aimed outside the current addressing window are simply discarded and look identical to a dead bus.

Do not judge the wiring from a black screen alone. Write a checkerboard or a full-field pattern as the first frame, since a single character or icon is small enough to be lost in a misoriented window, while a full-field pattern tells you immediately whether data is arriving at all.

Once first light works, the panel becomes an ordinary part of the reader firmware and the interface reduces to a few states with a colour for each. If you want the full interface map and the variant details before you finalise the carrier board, the 1.1" PMOLED display page lists the specifications next to the rest of the module range.

First light is a debug milestone, not a product. Once the panel works, repeat the sequence from a cold power cycle with the reader's lock driver active, because a display that only starts on a warm reset will fail in the field.

Illustration: First light is a debug milestone, Decorative illustration for the section "First light is a debug milestone,"; visual only, carries no data.

Sources

  1. Espressif: ESP32 series datasheets

Frequently asked questions

Which MCU interface should I use for a 1.1-inch 96x96 PMOLED display in a reader?

That depends on the variant you order, because the module is specified with multiple MCU interfaces. Pick the one your host has spare pins and a well-tested driver library for, then keep that bus dedicated to the display where the pin budget allows. If the reader already shares the same bus with a sensor, check both devices' timing and address assumptions before you commit to the design.

How long does first light usually take on this panel?

For an embedded engineer who has brought up a small display before, it is normally a single working session: wire the bus, hold reset, run the init block and write a full-field test pattern. Most of the elapsed time goes into mechanical and pin planning rather than the display code itself. Budget a second session for integrating the reader's state logic with the display driver.

Do I need to drive a backlight or brightness control for a PMOLED panel?

No backlight is required, because a PMOLED panel is self-emissive and each pixel generates its own light; that is a property of the technology rather than a feature of one module. Any brightness-related behaviour is set through the controller's own command set, so treat it as part of the initialisation sequence. The exact commands are listed in the controller datasheet supplied with your variant.

What should I check first if the panel stays dark after wiring?

Work in order: logic rail present, ground continuous, reset released, bus lines not swapped, then the addressing window. A test pattern that fills the entire 96x96 area separates a data problem from a window problem in a single build. If the host is an ESP32-class part, also confirm that the pin assignment in your configuration matches the pads you actually wired.

Is 96x96 resolution enough for an access-control reader interface?

For state display, yes: 96x96 gives room for a short status line, an icon and a colour accent without needing text-heavy layouts. The 1.1-inch diagonal keeps that content readable at the distance someone stands from a wall-mounted reader. If you plan to show names or instructions, lay the wording out against the pixel grid before you freeze the user interface.