An intuitive and flexible menu system for SSD1306 OLED displays
OLEDMenuUI is a lightweight, highly customizable menu library for Arduino boards equipped with SSD1306 128x32 I2C OLED displays. Designed for microcontrollers with limited resources, it provides smooth navigation, dynamic submenus, EEPROM-based settings storage, and integrated sensor display support.
| Board | Status |
|---|---|
| Arduino Uno | โ Fully Supported |
| Arduino Nano | โ Fully Supported |
| Arduino Mega | โ Fully Supported |
| ESP8266 (NodeMCU) | โ Tested & Supported |
| ESP32 | ๐งช Partial Support (Under Testing) |
BUTTON_UP โ D2
BUTTON_DOWN โ D3
BUTTON_SELECT โ D4
BUTTON_BACK โ D5
BUZZER_PIN โ D6
DHT11 โ D7
HC-SR04 TRIG โ D8
HC-SR04 ECHO โ D9
OLED SDA/SCL โ A4/A5 (for Uno/Nano)
git clone https://github.com/sudoyasir/OLEDMenuUI
You can find full working demo in examples/. It includes:
begin() โ Initializes the menusetMenuItems(items[], count) โ Sets menu optionssetCallback(func) โ Called on selectionsetBackCallback(func) โ Called on back buttonsetBeepEnabled(bool) โ Enable/disable buzzersetBrightnessLevel(uint8_t) โ Adjust OLED brightnessupdate() โ Call in loop to render and detect input
Visit the GitHub repo:
github.com/sudoyasir/OLEDMenuUI
This project is licensed under the MIT License.
Developed by @sudoyasir. Contributions are welcome!