DevKitty UI

Introduction

A UI Standard Library for 1-bit Screens

Table of Contents

DevKitty UI is a UI standard library we’re building so anyone can write apps for our devices and conference badges. Every app built on it shares the same headers, footers, menus and popups, so apps look and feel consistent no matter who wrote them.

Supported Screens

DevKitty UI targets small monochrome (1-bit) OLED screens. Right now the only supported resolution is 128x64.

SpecValue
Resolution128 Γ— 64 px
Color1-bit monochrome
PanelsSH1106 / SSD1306
Graphics libraryu8g2
LanguageC++ (Arduino / ESP32)

Screen Layout

Every screen is split into three horizontal zones. The header and footer are each optional. If a screen skips one, the body grows to fill that space.

ZoneRows (y)Height
Header0 – 910 px
Body12 – 5342 px
Footer54 – 6310 px
128 Γ— 64
Screen layout: header, body and footer

Screens & Apps

An app is a stack of screens. Opening something pushes a new screen onto the stack, and going back pops it off. Each screen describes itself with a few building blocks:

  • a header with the screen’s title
  • a body, usually a menu
  • a footer with hints or extra info
  • an optional modal popup

See the API page for how each element works.