Analysis updated 2026-05-18
Show status information on a small OLED screen while the main ESP32 processor stays in deep sleep to save battery.
Add a lightweight display driver to a battery-powered embedded device without spending main-core CPU cycles on rendering.
Build simple gauges or animated graphics on a monochrome display using the library's line, shape, and text drawing functions.
| sodavk/ssd1306_oled_risc-v_lp-core | amichail-1/orbination-whisper-ai | andrewrk/libogg | |
|---|---|---|---|
| Stars | 3 | 3 | 3 |
| Language | C | C | C |
| Last pushed | — | — | 2026-03-31 |
| Maintenance | — | — | Maintained |
| Setup difficulty | hard | easy | easy |
| Complexity | 4/5 | 4/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires ESP-IDF v6.0+, manual ULP coprocessor configuration in menuconfig, and is limited to ESP32-C6/C5 hardware.
This project is a lightweight graphics and text library for driving a small SSD1306 OLED display, but with a specific twist: it runs entirely on the Low-Power RISC-V coprocessor built into the ESP32-C6 and ESP32-C5 microcontroller chips, not on the chip's main processor. Because the display is handled by this small, low-power core over its dedicated I2C hardware, the main processor is free to stay in deep sleep or run other demanding tasks, such as Wi-Fi or Bluetooth communication, without interrupting what is shown on the screen. The library is written from scratch in C and is designed to be extremely memory efficient. By itself it uses only about 2.5 to 4 kilobytes of the low-power core's limited memory, including the screen's own frame buffer, and even with the full supporting system it stays within roughly 6 to 8 kilobytes out of the 16 kilobytes available. It automatically selects the correct I2C pins depending on whether the code is being built for the C6 or C5 chip, so no manual pin setup is needed. The graphics API covers drawing pixels, lines of adjustable thickness, rectangles with rounded corners, circles, and capsules, along with a checkerboard fill pattern useful for shading on a screen that can only show black or white. Text rendering uses a compact 5x7 pixel font that can be scaled up to four times its normal size and mirrored 180 degrees. The library also implements its own microsecond-precision timer, since the low-power core does not have access to the chip's normal timing functions. Using it requires an existing ESP-IDF version 6.0 or newer project, copying two source files into the project's low-power core folder, updating the build configuration to register them, and enabling the low-power coprocessor through the project's menuconfig settings with enough memory allocated. The library only works on ESP32-C6 and ESP32-C5 chips, it explicitly does not work on the ESP32-S3, since that chip's low-power core has different hardware. The project is released under the MIT license.
A lightweight C library that drives a small SSD1306 OLED display entirely from the low-power RISC-V coprocessor inside ESP32-C6 and ESP32-C5 chips, freeing the main processor for other tasks.
Mainly C. The stack also includes C, ESP-IDF, ESP32-C6.
MIT license: use, modify, and distribute freely, including commercially, without restriction.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.