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!