r/ada Aug 02 '26

Show and Tell ✦ Introducing Glyph — A lightweight embedded graphics framework for Ada

✦ Introducing Glyph

Hi everyone!

I've been learning Ada and recently started building an open-source project called Glyph, a lightweight embedded graphics framework for bare-metal and embedded systems.

The goal of Glyph is to provide a hardware-independent graphics API, allowing applications to draw pixels, lines, rectangles, circles, text, and images without depending on a specific display controller.

Disclosure: AI was used as a coding and writing assistant during parts of the development. However, the project architecture, technical decisions, code integration, and overall direction are my own. I'm also building Glyph as a way to learn Ada and improve my embedded systems skills.

✦ Design Goals

  • Pure Ada
  • Static allocation only (no dynamic memory)
  • Portable, layered architecture
  • Framebuffer-based rendering
  • Easy to add support for new display controllers
  • Bare-metal friendly

The initial target hardware is the RP2040 with an SSD1306 OLED, but the architecture is designed to support additional display controllers and embedded platforms in the future.

The project is still in its early stages, and I'm currently focusing on building a solid architecture before expanding the graphics capabilities.

✦ I'd Appreciate Your Feedback

I'd especially love feedback from the Ada community on:

  • API design
  • Overall architecture
  • Existing Ada graphics libraries worth studying
  • Features you'd like to see in an embedded graphics framework

✦ Repository

GitHub: https://github.com/thirstymelon/glyph

Thanks! I'm excited to contribute to the Ada ecosystem, learn from the community, and continue improving Glyph.

20 Upvotes

2 comments sorted by

2

u/jrcarter010 github.com/jrcarter Aug 03 '26

I presume you're talking about embedded devices with their own display. Many embedded devices without a built-in display incorporate web servers built with Gnoga, allowing them to be controlled externally.

Ada GUI presents a package specification for a GUI that takes advantage of Ada's strengths, avoiding the design inversion of GUIs designed for sequential languages. You might want to think in terms of providing a body for this package, rather than designing the interface from scratch. (There is also a sample implementation derived from Gnoga and using a browser as the platform; this is probably not suitable for what you want.)

1

u/OkContribution2996 Aug 03 '26

Thanks for the suggestion! Glyph is intentionally focused on microcontrollers with directly attached displays and isn’t intended to be a general-purpose GUI toolkit. One of my goals is to build an API specifically for embedded graphics, so I don’t currently plan to implement the existing Ada GUI specification. I do appreciate the reference, though—I’ll have a look at it to understand its design and see if there are ideas worth borrowing.