What we do
We take care of low-level firmware development. We also engage with the redesign and debugging projects where you need to optimize the performance (latency, boot-time, power, and memory) of your existing firmware. Our extensive experience working with hardware, operating systems, low-level diagnostic and performance tools allows us to build projects faster and achieve higher performance. We've designed firmware for multi-protocol and system-on-chip (SoC) devices. They find their applications in industrial automation, healthcare, consumer electronics, and other industries.
We offer firmware development services for 8, 16, 32, and 64-bit microcontrollers produced by the most popular semiconductor vendors including Atmel, Nordic Semiconductor, Texas Instruments, STMicroelectronics, Renesas, Silicon Labs, and others. We design both bare-metal and RTOS-based firmware.
We have extensive hands-on experience in developing firmware for applications that demand real-time response. The real-time operating systems (RTOS) we've worked with include RTOS, RTEMS, Zephyr, LiteOS, and NuttX. RTOS significantly speeds up the process of firmware development.
ROS is an open-source operating system that enables control of low-level hardware used in robots and robotic automation systems. With ROS we can quickly build, maintain and expand robots’ capabilities.
Non-OS based embedded firmware
When an embedded device needs to run a set of tasks forever or until the power supply is removed, we develop embedded C applications without an OS. The non-OS based embedded firmware execution runs the tasks in an infinite loop.
The Arm Cortex-M processor family is the most common platform we work with. Depending on the requirements, we use different versions of Cortex microcontrollers: e.g. M0/M0+ when a solution needs to be energy efficient but doesn't require high performance, M4/M7 when high performance and rich periphery is critical, and Cortex-R family when real-time execution is needed.
AVR, PIC, MSP430, etc.
As alternatives to Cortex, we also apply AVR, PIC, and MSP430 microcontrollers which can be a good fit for some specific tasks. However, we always recommend doing embedded development using more powerful architectures. We offer this recommendation because when your needs change, moving from one platform to another might require significant investment.
DSP firmware development
If your device, in addition to algorithmic processing on the MCU, requires digital signal processing (DSP) in real time, you can use us for DSP firmware development. We will help you select an appropriate DSP for your application and develop a firmware for it. We've worked with DSP processors produced by Texas Instruments (C6000 and C5000 series), Microchip Technology (dsPIC), and Analog Devices (ADSP-21xx, Blackfin, SHARC and TigerSHARC).
Hardware abstraction level makes it possible to develop firmware that is reusable and hardware independent. HALs are essentially API’s for interacting with hardware. We use existing HALs provided by microcontrollers and compilers, and we also create our own.
Testing involves intensive debugging and optimization efforts. We test every individual piece of firmware separately using as many scenarios as technically feasible. We use manual and automated product testing to deliver reliable high-performance products.
Migration of legacy firmware to new platforms
Each MCU manufacturer has peripheral features and programming models that are unique to its own products. In case you need to migrate your firmware from one MCU vendor to another, we can support your efforts. We'll re-layout the PCB if required, and make the design portable.
Check out our recent case study
Healthcare Wearable Android app development Firmware development BLE
We developed an Android app and firmware for a wearable ECG device for the University of East London, which did research to quantify the cardiovascular effects of environmental noise exposure on children.
AREA OF RESPONSIBILITY
DEDICATED DEVELOPMENT TEAM
RESEARCH & DEVELOPMENT