Follow our illustrated blog on Embedded Software Architecture

How to build a hybrid solar/wind energy harvester?

About rtos.be

rtos.be is a joined initiative from Gert Boddaert and Pieter Beyens.
More info: about us, our mission, contact us.

Green4 power controller: remote control with Raspberry Pi

As long as real-time control and fail-safe operation is not a strict requirement, the GUI or another PC application could be used to control the Green4 via our rs232 serial protocol. The target software simply executes what is being demanded by the application, and returns its measurements at regular intervals. Various – but mainly prototyping […]

Share

The embedded hierarchy – Part3

Linux-based software platforms Linux kernel In this section the Linux kernel part of an embedded software platform is discussed. Compiler While FreeRTOS (see Part2) has support for several compilers, the Linux kernel community has chosen GCC. Although less flexible, it simplifies things a lot and allows developers to take advantage of gcc specific features and […]

Share

Responsive software design without threads — Part 1

We need a GUI thread. …is a common developer’s reaction when the application only responds slowly to user clicks. The developer might be right: when some (gui) events require a lot of processing then having more than one thread, e.g. a GUI thread and one or more worker threads, is one of the solutions. The […]

Share

Green4 serial test protocol and GUI

Introduction For most embedded projects it is good practice to have basic tooling for testing I/Os. I/O primitives such as ‘read gpio’, ‘set pwm duty cycle’, ‘read adc’, not only allow engineers to verify hardware and software drivers, it might also be very helpful to service and support people. Serial protocol In our project we […]

Share

The red-black tree and hash table

red-black tree The even more advanced container we look at now is the red-black tree, which is a type of self-balancing binary search tree. Especially, interesting is the time complexity in big O notation: Action/Subject       Average          Worst case Space                          O(n)                O(n) Search                        O(log n)    […]

Share

3D printing of enclosures

Having the correct and proper enclosures, is a mechanical (and also a marketing) problem many electronics projects suffer from. It is also related to anticipated sales numbers. For big numbers, a custom enclosure which is produced with an injection molding machine is not a big cost since the financial burden can be divided and written […]

Share

Vector, list and tree

Choice of containers Information technology, even embedded devices, is about information gathering, processing or calculation, and control. Input and data needs to be juggled around and maybe sorted. In this article, we want to point out some fundamental implications in the choice of a data container. Vector The first container is the array or “vector”. […]

Share

Priority inversion

I found the inspiration for this article while working on a consultancy job: Priority inversion. In computer science, priority inversion is a (potential) problematic scenario in scheduling in which a high priority task is indirectly preempted by a medium priority task effectively inverting the relative priorities of the two tasks. (http://en.wikipedia.org/wiki/Priority_inversion) To put it more […]

Share

Progress update

Time for another update. The Green4 project is progressing steadily. In the last few months, we have been busy preparing the Green4 prototypes. Test software has been developed which is already very usable, but it is still in a state of flux as we try to determine which advanced features must be made available to […]

Share

Embedding a Basic interpreter

The green4 stm32 cortex m3 microprocessor we selected is – according to today’s standards – a rather small microprocessor in Flash (128KB) and RAM (8KB). why an interpreter The Green4 device is running control software on top of FreeRTOS, with a couple of drivers, and exposes a communication and an information protocol. We think our […]

Share