TreeCli - a hierarchical, tree structured command line parser/interface

Treecli provides a convenient way to configure various embedded devices using common serial and network interfaces. It is inspired by command line interfaces commonly found in network gear (switches, routers, firewalls..).

LineEdit library

Lineedit aims to be a lightweight command line editor usable over common stream interfaces (like sockets, serial ports, etc.). It was written to be used on an embedded platform and its features and code are optimized for embedded environments.


(OSS, not maintained anymore, used in Plumcore and other personal projects. Replaced by SPIFFS available on GitHub)

Simple filesystem originally developed for saving configuration and firmware update images on NOR flash memories in embedded systems. It is based on other similar filesystems (like yaffs, jffs), but it is made even simpler. No filenames or directory structure is supported, files are referenced by their IDs (like on smart cards). Filesystem is optimized for simplicity and is probably unoptimal in every single way.


(OSS, not maintained anymore, used in personal and commercial projects)

A simple display list rendering library. The main difference from other libraries for drawing objects on a canvas is that in qdl the objects are rendered when display refresh occurs. Objects to be drawn are sorted as a nested boxes (hierarchical structure, tree). This approach uses much less memory and allows drawing on large displays without controller with dedicated display memory. It also makes “redrawing” the screen and user interface widgets easier - there is no need to actively redraw anything after changes.