IoT devices and Wireless Sensor Network (WSN) nodes are resource-contraint devices that are not capable to run standard Operating Systems (OS) used in high resource computers or smartphones. Therefore, several OSes have been developed over the years for these resource-contraint devices such as TinyOS, Contiki OS or RIOT OS. These OSes are targeted to run in microcontrollers with some tens KB of Flash memory and less than 10 KB of RAM memory. However, new low-power microcontrollers like STM32L4 have higher resources achieving up to 1 MB of Flash memory and 320 KB of RAM memory.
Therefore, we have developed in B105 Electronic System Lab a custom operating system based on FreeRTOS kernel. The operating system is called BeeOS and presents advanced features to facilitate application developing by reducing the learning curve. This OS works in new low-power microcontrollers and have a memory footprint of 90 KB in Flash and 12 KB in RAM. The OS provides advanced preemtive processes and memory management, Linux-like device drivers, user-transparent power management, time management and a layered configurable network stack.
BeeOS also provides an advanced engine to manage operating system operation. This is a very useful feature in order to ease research works that are being done in B105 Lab to improve OS features and its adaptability to dynamic changes in WSNs environments