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
- Zero Server Uploads: Image decoding, dithering (Floyd-Steinberg and Bayer), thresholding, and C++ sketch generation run 100% client-side in your browser canvas. Your artwork, schematics, and source code never leave your machine.
- Complete Sketches: Rather than forcing you to write boilerplate
Wire.begin()and I2C address initialization, we output ready-to-compile Arduino sketches for Adafruit GFX (SSD1306/SH110X) andU8g2. - Format Translation: Paste in arrays originally formatted for Adafruit (MSB-first) and convert them to U8g2 XBM (LSB-first), or convert single-frame bitmaps into animated sequences.
- Multi-Controller Support: Built and verified against physical 0.96" SSD1306 (128x64), 0.91" SSD1306 (128x32), 1.3" SH1106 (128x64), and 1.5" SH1107 / SSD1327 (128x128) OLED modules.
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.