Embedded Linux is an operating system based on the Linux kernel that is optimized for use in embedded systems. These systems are usually resource constrained and specialized for specific tasks, such as medical and measurement devices, networking equipment, industrial automation, navigation equipment, and more.
Embedded Linux enables the development of complex, communicating applications at reasonable cost while maintaining relatively easy portability between platforms. These applications are also significantly more flexible in terms of remote management, diagnostics and upgrade options.
We have been involved in embedded Linux development since 2013. Our applications control industrial lines, measure physiological functions of patients or control road automation.
We like to use NXP platforms (e.g. i.MX6, i.MX8), STM32MP1 and nVidia Jetson (TX2, Jetson Nano, Orin); we have also developed more applications on low cost platforms with OpenWRT, e.g. based on RT5350 or MT7688. We have also developed many applications for Raspberry Pi or Raspberry Pi Compute Module and SOM modules such as Toradex, Variscite or Compulab.
We can also develop our own processor boards for Linux control systems – typically based on STM32MP1, NXP i.MX6, i.MX8, TI Sitara. In times of chip crunch, we are also developing on lesser known but well available platforms, for example we have developed devices on Rockchip or Allwinner platforms (A64, A20, A13, Allwinner V3s and others).
In particular, we work with the Yocto/OpenEmbedded and Buildroot frameworks, which allow us to create the entire image of the device file system from the source code, thus eliminating the risk of errors when configuring individual devices. We write our own code in C/C++, Python, PHP, Lua, C# .
For graphical user interfaces we use Qt, LVGL libraries or web technologies (e.g. Electron); this is also connected with the web technology stack (JavaScript, NodeJS).
We supply firmware for embedded Linux in its entirety: customized operating system (BSP – Board Support Package, including drivers for specific hardware) and user applications.