Home
OLED Bitmap Converter

Image, GIF or byte array to Arduino code for SSD1306, SH1106 & U8g2 OLED displays

About the Project

Built for Makers, Embedded Engineers & Students

OLED Bitmap Converter was created to solve a persistent friction point in microcontrollers: turning modern graphic files into working C byte arrays for monochrome OLED screens without having to deal with broken byte orders, incorrect bit shifts, or bloated flash consumption.

Why Build Another Converter?

For years, the maker community relied on classic tools like image2cpp and LCD Assistant. While pioneering, they often output raw C arrays without the supporting Arduino setup code, lacked support for multi-frame animated GIFs, and had no way to optimize flash footprint beyond raw 1-bit rasterization.

On flash-constrained microcontrollers like the ATmega328P (Arduino Uno / Nano) with only 32 KB of program space, storing multiple full-screen 128x64 bitmaps (1,024 bytes each) quickly exhausts available flash. OLED Bitmap Converter introduces an automated vector drawing analyzer that evaluates drawing primitives (fillRect, drawLine, horizontal run-lengths) against raw bitmaps, reducing code size by 40% to 70% for icons and logos while ensuring pixel-perfect display parity.

Core Technical Capabilities

Supported Microcontroller Targets

The generated code is benchmarked and verified for Arduino Uno, Nano, Mega 2560, ESP8266 (NodeMCU, Wemos D1), ESP32 (standard, S2, S3, C3), Raspberry Pi Pico (RP2040), and STM32 Blue Pill. Images are stored exclusively in flash memory using PROGMEM to preserve critical SRAM.

Get In Touch

Notice an unexpected byte pattern on a rare display driver, or have a suggestion for an optimization? Check our OLED Troubleshooting Hub or send feedback via our Contact page.