NOVO Engineering

Embedded System Development

EMBEDDED PROGRAMMING FOR MICROCONTROLLER-BASED DEVICES

From bare metal systems to multi-processor architectures, NOVO’s embedded system development team intelligently applies modern software design patterns and agile development best practices to even low-level firmware development, resulting in traceable, transparent, and well-documented code. NOVO’s team has extensive experience in developing hard and soft real-time systems for a wide range of applications in regulated industries. Our developers employ a systems engineering mindset to deliver robust, extensible firmware architectures geared towards downstream processes like system integration, verification, and validation.

NOVO developers have developed proficiency in wireless communications between devices, whether in master/slave or multi-role implementations. Recent examples include a controller for a wearable infusion pump, a pen injector, and a vaccine management system. Products are increasingly part of a body area network (BAN), and one of the host devices is usually a node in a wider area network. Embedded system architectures may have processors running local operations such as motion control and sensor inputs, while a separate processor runs a Bluetooth stack. Our software team has the experience to work with embedded hardware designers to optimize system architecture and develop firmware that supports any application.

Embedded application examples:

  • Class III medical devices and closed-loop drug delivery systems
  • Embedded test frameworks supporting CI and automated, on-target system V&V
  • Multi-processor architectures for BLE-enabled real-time systems
  • Robust, modern protocol definitions at embedded system boundaries
  • Printer controllers and device drivers
  • Embedded graphical user interfaces

Technology stack examples:

  • Kinetis, Microchip, TI, Nordic, and NXP chipsets and microprocessors
  • MQX, FreeRTOS, TI RTOS, ThreadX, RTEMS, and uCLinux RTOSs
  • Google Protocol Buffers
  • Multi-processor CAN networks
  • BLE 4.2 through Nordic and TI chipsets
  • FPGAs from various vendors