Skip to content
Est.
2014
Tuesday Edition

How to integrate a 0.32 inch micro OLED into a smart glass?

aBy admin About the author available below

How to integrate a 0.32 inch micro OLED into a smart glass

To integrate a 0.32 inch micro OLED into a smart glass, you start by selecting the right display module that matches your optical system. The 0.32 inch 800x600 micro oled display is a solid choice because it offers a resolution of 800x600 pixels in a tiny 0.32 inch diagonal package, which gives you a pixel density of roughly 3125 PPI. That level of detail is critical for near-eye applications where the display sits just a few centimeters from the user’s eye. You need that pixel density to avoid the screen-door effect, where individual pixels become visible. This display uses a silicon backplane, not the typical glass substrate found in larger OLEDs, and it supports I2C, RGB, and MIPI interfaces. The MIPI DSI interface is usually the best bet for video data because it can handle the high bandwidth needed for 800x600 at 60 fps, which requires about 230 Mbps per lane with two lanes. The I2C interface is slower, around 400 kHz, so it’s only useful for control commands or static images. The RGB interface is parallel and can work for lower frame rates, but it takes up more GPIO pins on your microcontroller or FPGA.

Powering the display is the next step. The 0.32 inch micro OLED typically runs on a 1.8V core voltage for the logic and a 2.8V to 3.3V supply for the OLED panel itself. The current draw at full brightness is around 15 mA to 25 mA, depending on the content. For a smart glass, you’re likely using a small lithium polymer battery, say 100 mAh to 200 mAh, so you need a low-dropout regulator (LDO) to step down the battery voltage to 1.8V and 3.3V. The quiescent current of the LDO should be under 1 µA to avoid draining the battery when the display is off. A common choice is the TPS7A05 from Texas Instruments, which has a 1 µA quiescent current and can deliver 200 mA. You also need to sequence the power rails: the 1.8V should come up before the 3.3V, otherwise the internal logic can latch up. Check the datasheet for the exact timing, but a 10 ms delay between rails is usually safe. Use a P-channel MOSFET or a dedicated power sequencer like the MAX16050 to handle this.

Optical integration is where most people mess up. The 0.32 inch micro OLED has an active area of about 6.4 mm x 4.8 mm (based on the 0.32 inch diagonal and 4:3 aspect ratio). You need to magnify this image so it fills the user’s field of view, typically around 20 to 30 degrees diagonal for a see-through smart glass. That requires a lens system with a focal length of roughly 15 mm to 25 mm. A simple approach is to use a single aspheric lens with a focal length of 20 mm, which gives you a virtual image size of about 1.5 meters at a distance of 2 meters. But you also need to correct for distortion. The lens introduces pincushion or barrel distortion, and the display’s own optics can cause chromatic aberration. You can pre-distort the image in software using a lookup table, but that eats up processing power. A better approach is to use a custom prism or waveguide combiner. Companies like Lumus or Digilens offer waveguides that couple the display light into the glass and then out into the eye. These waveguides have efficiency losses of 10% to 20% per bounce, so you need the display brightness to be at least 3000 cd/m² to get a usable outdoor image. The 0.32 inch micro OLED can hit 5000 cd/m² at full current, but that drops the lifetime to under 10,000 hours. For a consumer product, you’d typically run it at 2000 cd/m² to get 30,000 hours of life.

Mechanical alignment is another pain point. The display must be positioned within 0.1 mm of the optical axis, otherwise the image will be off-center or blurry. Use a precision mount with adjustment screws for x, y, and z axes. The display module itself is about 8 mm x 6 mm x 2 mm, so you can fit it into a small housing. The flex cable from the display is usually 0.3 mm thick and 10 mm wide, with a 20-pin connector. You need to route this cable carefully to avoid stress on the bonding pads. Use a strain relief clamp at the connector. The cable can carry high-speed MIPI signals, so keep the trace length under 50 mm and use controlled impedance of 100 ohms differential. If you’re using a rigid PCB, place the display driver IC on the same board. The driver IC for this display is typically a Solomon Systech SSD1305 or a similar chip, which handles the frame buffer and interface conversion. The SSD1305 has a 256 KB internal SRAM for the frame buffer, which is enough for 800x600 at 1-bit color depth. But for grayscale or color, you need external RAM. The MIPI version of the display usually has a built-in driver that supports 24-bit color, so you don’t need extra memory.

Wireless data transfer is a common requirement for smart glasses. You can use a Bluetooth Low Energy (BLE) module like the nRF52840 to send control commands and low-resolution images, but for full 800x600 video at 60 fps, you need Wi-Fi 6 or even 5G. The data rate for uncompressed 24-bit color at 800x600 and 60 fps is about 690 Mbps. That’s too high for BLE, which maxes out at 2 Mbps. So you compress the video using H.264 or H.265. A hardware encoder like the Ambarella S5L can handle 4K encoding at 30 fps, but for a smart glass, you’d use a lower-power chip like the i.MX8M Plus from NXP, which has a hardware H.264 encoder that can do 1080p at 60 fps. That chip consumes about 2.5 watts under load, which is high for a battery-powered device. You can reduce the power by dropping the frame rate to 30 fps, which cuts the data rate in half. The display itself can handle 30 fps without noticeable flicker because the OLED response time is under 1 ms. The human eye can detect flicker at 60 Hz, but at 30 fps, the persistence of vision smooths it out as long as the refresh rate is consistent. Use a frame buffer to avoid tearing. The display driver can be set to double-buffer mode, where one buffer is written while the other is displayed.

Firmware development requires careful attention to initialization sequences. The 0.32 inch micro OLED needs to be woken up from sleep mode by sending a command over I2C or SPI. The typical sequence is: power on, wait 10 ms, send the display off command, set the contrast to 0x7F, set the segment remap to 0xA0, set the COM scan direction to 0xC0, set the display start line to 0x40, set the multiplex ratio to 0x3F (for 64 rows, but for 800x600, you’d set it to 0x257), set the display offset to 0x00, set the display clock divide ratio to 0xF0, set the pre-charge period to 0x22, set the VCOMH deselect level to 0x35, set the charge pump to 0x14, and then send the display on command. This sequence varies by manufacturer, so always check the datasheet. The I2C address is usually 0x3C for write and 0x3D for read. If you’re using MIPI, the initialization is handled by the DSI host controller, but you still need to set the display parameters through the DCS commands. The MIPI DSI specification defines commands like 0x11 for sleep out, 0x29 for display on, and 0x2C for memory write. The data is sent in packets with a 16-bit CRC for error detection. The DSI clock is typically 200 MHz to 500 MHz, depending on the number of lanes. For 800x600 at 60 fps with 24-bit color and two lanes, the clock frequency is about 138 MHz. That’s within the range of most microcontrollers with MIPI support, like the STM32MP1 or the i.MX8 series.

Thermal management is often overlooked. The micro OLED itself generates heat, but the bigger issue is the driver IC and the processor. The display at 5000 cd/m² can reach 45°C on the surface after 10 minutes of continuous use. In a smart glass, that heat is trapped against the user’s face, which is uncomfortable. Use a thermal pad to conduct heat to the metal frame of the glasses. The frame acts as a heatsink. The ambient temperature inside the glasses can be 5°C higher than outside, so you need to derate the display’s performance. The OLED lifetime decreases by 50% for every 10°C rise above 25°C. So at 45°C, the lifetime drops to 7,500 hours from 30,000 hours. To mitigate this, you can use a temperature sensor like the TMP117, which has 0.1°C accuracy, and throttle the brightness when the temperature exceeds 40°C. The display driver can adjust the contrast in real time via the I2C interface. A simple PID loop can keep the temperature under control. The sensor data is sent to the main processor, which then sends a command to the display to reduce the OLED current. This is a standard feature in the SSD1305 driver, which has a register for the current control.

User interface design for a smart glass is different from a phone or monitor. The 0.32 inch micro OLED has a field of view of about 20 degrees when using a 20 mm lens. That means the user sees a virtual screen that appears to be about 1.5 meters wide at a distance of 2 meters. But the user’s eye has to focus on this virtual image, which is at optical infinity. If the user is looking at a real object 1 meter away, the eye has to switch focus, which causes eye strain. This is called vergence-accommodation conflict. To reduce it, you can use a varifocal lens that adjusts the focal length based on the user’s gaze. That adds complexity and cost. A simpler approach is to keep the virtual image at a fixed distance of 2 meters and only display information that is relevant to that distance, like navigation arrows or notifications. The text size should be at least 10 pixels tall for readability, which at 800x600 resolution and 20 degree FOV gives you a character height of about 0.5 degrees of arc. That’s the minimum for comfortable reading. For icons, use 16x16 pixels or larger. The display’s contrast ratio is 10,000:1, so black text on a white background is very readable, but white text on a black background saves power because OLED pixels are off when black. Each pixel at full white draws about 0.03 µA, so a full white screen at 800x600 draws 14.4 mA, while a black screen draws less than 1 mA. So for battery life, use dark themes with minimal white areas.

Testing the integration requires a set of metrics. You need to measure the optical power output using a photometer like the Konica Minolta CS-200. The target luminance is 2000 cd/m² for indoor use and 5000 cd/m² for outdoor use. The uniformity across the display should be within 10% of the center value. The color temperature should be around 6500K for natural look. The frame rate should be stable at 60 fps with no dropped frames. Use a high-speed camera to capture the display output and check for artifacts. The latency from the input signal to the display output should be under 10 ms for a responsive feel. The MIPI interface adds about 1 ms of latency, the driver IC adds another 2 ms, and the OLED panel itself has a response time of 0.1 ms. So the total is under 5 ms, which is fine. The wireless latency depends on the protocol. Wi-Fi 6 adds about 5 ms, BLE adds 20 ms, and 5G adds 10 ms. For real-time applications like AR overlays, you need total latency under 20 ms, so Wi-Fi 6 or 5G is acceptable. BLE is only good for static data.

Cost is a factor for mass production. The 0.32 inch micro OLED module costs around $50 to $80 in single quantities, but drops to $20 to $30 at 1000 units. The lens system adds $10 to $15, the waveguide adds $20 to $50, the processor adds $15 to $30, the battery adds $5 to $10, and the housing adds $10 to $20. So the total bill of materials is around $100 to $200 per unit. Assembly and testing add another $50. For a consumer product, you’d target a retail price of $300 to $500. The display is the most expensive component, so using a lower resolution like 320x240 would cut the cost by 40%, but then the pixel density drops to 1250 PPI, which is borderline for near-eye use. The 800x600 resolution is a good balance between cost and quality.

Regulatory compliance is required for commercial sale. The display module itself needs to pass FCC Part 15 for electromagnetic interference. The MIPI interface operates at high frequencies, so you need to shield the flex cable with a ground plane. The housing should have a conductive coating to block RF emissions. The battery needs to pass UN38.3 for transportation safety. The optical system needs to meet ANSI Z80.3 for eye safety, which limits the maximum luminance to 10,000 cd/m² for short-term exposure. The 5000 cd/m² output is within that limit, but you should include a warning in the user manual. The smart glass as a whole needs to pass CE marking for Europe and UL listing for the US. The testing costs about $50,000 for a new product, so budget for that.

Software development kits (SDKs) are available for the display. The manufacturer provides a C library for the I2C interface, but it’s basic. You’ll need to write your own drivers for the MIPI interface. The Linux kernel has a DRM driver for the SSD1305, but it’s for the SPI version. For MIPI, you can use the DRM MIPI DSI driver framework. The initialization sequence is done through the device tree. For example, you set the panel timing parameters like hactive, vactive, hfrontporch, hbackporch, vfrontporch, vbackporch, hsync, vsync, and clock frequency. The typical values for 800x600 at 60 fps are: hactive 800, vactive 600, hfrontporch 40, hbackporch 88, hsync 128, vfrontporch 1, vbackporch 23, vsync 4, and clock 40 MHz. These values are for the standard VESA timing, but the display might have different requirements. Check the datasheet for the exact timing. The display driver also supports gamma correction, which is a 256-entry lookup table for each color channel. You can adjust the gamma to match the human eye’s response, which is roughly a power law of 2.2. The default gamma is linear, so you need to apply a gamma curve in the driver or in the application layer. The application layer can use OpenGL ES to render the graphics, but that requires a GPU. The i.MX8M Plus has a GC7000L GPU that can handle 3D rendering at 800x600. For 2D graphics, you can use the Linux framebuffer or a simple library like SDL2. The frame buffer is a memory-mapped region that the display driver reads from. The size of the frame buffer for 800x600 at 24-bit color is 1.44 MB. That’s small enough to fit in the system RAM. The GPU can write directly to the frame buffer, so the rendering is fast.

Field testing reveals common issues. The most frequent problem is misalignment of the optical axis. After assembly, use a collimator to check that the display image is centered and in focus. The tolerance is 0.1 mm, so you need a jig to hold the lens and display in place while you adjust the screws. The second issue is ghosting, where a faint duplicate image appears. This is caused by reflections inside the waveguide. Use an anti-reflective coating on the waveguide surfaces. The coating can reduce reflections from 4% to 0.5% per surface. The third issue is color shift at the edges of the field of view. This is due to the lens’s chromatic aberration. You can correct it in software by applying a color-dependent distortion map. The map is a 2D array of offsets for each pixel, which you store in the GPU’s texture memory. The correction adds about 10% to the rendering time. The fourth issue is eye strain from the fixed focus. You can add a manual focus adjustment by moving the lens with a small motor. The motor can be a voice coil actuator that moves the lens by 0.1 mm per step. The total travel is 1 mm, which gives a focus range from 1 meter to infinity. The user controls the focus with a button on the glasses frame. The motor consumes 50 mA during movement, but it only moves when the user changes the focus, so the battery impact is minimal.

Data security is a concern for smart glasses that display personal information. The MIPI interface is a physical connection, so it’s hard to intercept. But the wireless data stream is vulnerable. Use TLS 1.3 for the Wi-Fi connection and AES-256 encryption for the video data. The processor can handle encryption in hardware if it has a crypto accelerator. The i.MX8M Plus has a CAAM (Cryptographic Acceleration and Assurance Module) that can do AES-256 at 1 Gbps, which is faster than the video data

About the author

admin is a contributing journalist to Article Daily. Every story on this page is hand-edited by our 42-person newsroom and reviewed before publication.