Firmware Development

Firmware development

With the ARM architecture processors skyrocketing in the embedded systems implementation, we took a leap with developing our own custom-based embedded systems. Whether it be home automation systems, IoT solutions, we bring fast, tested and reliable products with user-friendly interfaces.


As the most frequently used, the Cortex-M platform is in our every-day development. Focused on the M3/M4 microcontrollers which are optimized for high performance embedded systems are our main field of work. This platform is used by many microcontroller vendors, ST microelectronics, TI (Texas Instruments) and Nordic are quite the stars in this industry.


When a system is abundant with processes which need to work parallelly we turn to Real Time Operating Systems, where time and clock as the main resources are managed precisely. We mainly worked with FreeRTOS and uC/OS RTOS.


When we want to operate with the firmware on the register level (LL)low-level APIs provide this possibility. In spite of a lower portability, it ensures a better optimization which is essential to optimize the energy consumption. As LL library is close to the MCU register level, it require deep knowledge of the MCU and peripheral specifications. The reading of the reference manual of the MCU is mandatory


Handy APIs make up for the time you would spend using the LL libraries. They are easy to use, adjustable for reuse and every microcontroller vendor has them ready for their platform with a reference manual available. They interact with the hardware without us having to deal with the complexity of the processor and peripheral complexity, which the name HAL suggests, meaning Hardware Abstraction Layer.

Bare metal firmware development

In bare metal programming, in our case bare metal C, the firmware or application code we write is using memory-mapped peripheral registers which we define in such a way that firmware can run directly on microcontrollers hardware without the need of any abstraction layers, hence without the use of LL or HAL. Such drivers have names we specify but work just as fine as the ones we get from the vendors Bare metal is also known as super loop embedded systems.

HMI Development

Combining hardware and embedded resources with smart UX/UI design, Softeq delivers multiplatform HMI software solutions — from basic data visualization apps on built-in screens to complex web and cloud-based HMI systems with multilingual and networking capabilities. We build HMI software solutions for the automotive industry, industrial machinery, agriculture, finance and banking, and other sectors based on: • Native desktop GUI: Qt, GTK, OpenGL • Mobile UI: Android, iOS • Web UI HTML5, WebGL • Data visualization: VTK