Lightweight Devanagari text rendering engine for Arduino SSD1306 OLED displays.
Devatext provides native UTF-8 rendering of Hindi/Sanskrit text using PROGMEM glyph storage and a minimal bare-metal display pipeline — designed for small AVR boards with limited memory.
- UTF-8 Devanagari rendering
- Supports Hindi & Sanskrit glyphs
- Matra handling
- Optimized PROGMEM bitmap storage
- No external graphics libraries required
- Lightweight for ATmega328-class boards
- Direct SSD1306 control path
After acceptance into Library Manager:
- Open Arduino IDE
- Go to Sketch → Include Library → Manage Libraries
- Search:
Devatext
- Install
git clone https://github.com/Aryan-git-byte/Devatext
Move into:
Documents/Arduino/libraries/
Restart Arduino IDE.
#include <Devatext.h>
Devanagari display(devanagariDefaultGlyphs, DEVANAGARI_GLYPH_COUNT);
void setup() {
display.begin();
display.print("नमस्ते");
}
void loop() {}See full example:
examples/HelloDevanagari
Devatext converts UTF-8 Devanagari input into glyph indices and renders them from PROGMEM bitmaps directly onto SSD1306 buffers.
Pipeline:
- UTF-8 decode
- Glyph lookup
- Matra positioning
- Bitmap fetch from flash
- Pixel write to display buffer
This avoids heavy graphics stacks and keeps RAM usage minimal.
- Arduino Uno
- Arduino Nano
- SSD1306 OLED (I2C)
- AVR
Devatext/
├── src/
├── examples/
├── library.properties
├── LICENSE
└── README.md
- Designed primarily for AVR boards
- SSD1306 focused rendering path
- Glyph set currently limited to bundled tables
- ESP32 / ARM support
- Larger glyph coverage
- Faster glyph lookup structures
- Layout shaping improvements
- Additional display drivers
Contributions welcome — especially:
- Glyph expansions
- Performance optimizations
- Cross-architecture support
- Rendering improvements
Open an issue or submit a PR.
MIT License — see LICENSE file.
Aryan Kumar Embedded systems learner and builder focused on practical electronics and display systems.
GitHub https://github.com/Aryan-git-byte
Most Arduino display stacks focus on Latin rendering. Devatext explores native Indic rendering on resource-constrained microcontrollers — bringing regional language display capability to embedded systems.
Devatext is a lightweight, hardware-focused Devanagari rendering engine designed for small Arduino boards. It prioritizes memory efficiency, direct control, and simplicity while enabling meaningful native language display in embedded projects.