Image for post

Photo by Harrison Broadbent on Unsplash

A microframework is essentially any framework, tool, utility, or language that is a trimmed down version of its fully-featured counterpart or designed to work with very limited resources The term “microframework” is very popular among web application development where framework with only basic features exists to keep the code footprint small but offers extensibility through modules.

Such frameworks make an even better use case for single board computers (SBC) which typically operate on very low processing speed, low memory, and even lower power. There are some single-board computers which are quite powerful too, and expensive. While some perform very specific roles, this article will focus on an overview of the most tools.

Let’s dive into the list!


SQLite

Database engines are usually heavy, but not SQLite. This library was written in C and most like is already available in your operating system and language you use. If you need to persist data in a relational style and execute queries, SQLite is your friend.

According to their documentation, SQLite is super small (like few hundred kilobytes), fast, and fully implements SQL features. The good part is, it comes in Python by default which is the go-to language for SBCs. SQLite also supports an in-memory database if you are interested.

Mosquitto MQTT

MQTT is an extremely lightweight publish-subscribe protocol designed way back in 1999 at IBM for communication over unreliable satellite networks. The protocol later gained popularity in IoT space. Mosquitto MQTT is Eclipse’s implementation of this protocol. Mosquitto facilitates real-time machine-to-machine information exchange for bandwidth-constrained devices.

In a MQTT system, a single broker can facilitate many clients to push and listen to one or more channels called topics. MQTT is not only popular among low powered devices and microcontrollers. In fact, a lot of messaging applications use this, including Facebook messenger.

Learn more about Mosquitto here and MQTT here.

Micro Python

MicroPython is a lean port of Python 3 programming language for microcontrollers. Yes, it is unlike other tools here that aim at SBCs. MicroPython is compact enough to fit and run within just 256k of code space and 16k of RAM. There are plenty of boards that support MicroPython. PyBoards and ESP family boards are the most popular among them.

MicroPython is a combination of compiler and runtime environment. On compatible boards, once MicroPython firmware is installed, you can code using the interactive shell through REPL. MicroPython bridges the gap between coding for single board computers and microcontrollers as we are using familiar syntax and libraries.

Learn more from their official website and documentation.

#iot #micro-framework #programming #technology #single-board-computer

Micro Frameworks for Single Board Computers
1.30 GEEK