modern embedded logo

Health Monitor Device Firmware

About the Client

Urban GmbH & Co. KG has been a top innovator of the agritech sector for decades now. One of their products is the award winning "Vitalcontrol", a handheld device for digital health monitoring

Health Monitor Device Firmware

The Challenge

Somewhere along the way the client had lost control over firmware development. This became visible when the attempt to add new functionality failed. An assessment of the firmware revealed architectural shortcomings among others. We were brought on board to overhaul the firmware.

Delivered Value

We created a new build system, free of vendor specific tools, and a modular software architecture with clear responsibilities and dependencies. With this we have enabled the client to once again become creatively active. As usual we applied appropriate abstractions to separate implementation details from business logic. This will make all future development efforts easier.

The Product

Ported a legacy STM project to a modern GNU and CMake powered build system, thereby removing the dependency on vendor tools — Custom linker script to accommodate external RAM and Flash — Redesign and reimplementation of legacy firmware in modern C++ focusing on modularity and adaptability - Service based multithreading architecture based on FreeRTOS, prioritizing weak inter-dependencies between services — arena allocation from memory pools based on polymorphic resource allocators — custom device drivers for PMIC, LCD screen, haptic feedback, fuel gauge, addressable LEDs, RTC, ADC, NTC thermistor, RFID reader, SD card, barcode scanner, accelerometer, EEPROMs and WiFi module — FatFS integration — USB device driver — CDC/HID composite USB host driver — CDC based JSON backend with compile time performance enhancements — Serialization and Deserialization of SD card data — custom made Model-View-Controller style interaction with SD card data, for reading, writing, filtering etc.

Technologies
  • Embedded C++23
  • STM32
  • ARM Cortex-M
  • FreeRTOS
  • CMake
  • UART
  • I2C
  • SPI
  • USB
  • WiFi
  • BLE
  • RFID
  • Accelerometer
  • Multithreading

What the Client Says

"His exceptional technical skills and outstanding understanding of current and future technologies make Moritz a very valuable expert and driver of technological innovation. Here's to more great projects!"

Benjamin

Benjamin

Managing Director @ LuckeTech

Imprint Privacy Policy