GET IN TOUCH

Firmware Development Services

Сustom-embedded software for a wide range of microcontrollers (MCU) and digital signal processors (DSP).
What we do
What’s included

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.


What's included?

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.

RTOS development

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 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.

Cortex-M family

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).

HAL

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 services

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

Real-Time Signal Processing for Wearable Electrocardiogram Device

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.

DaVinci Innovation Labs and Economic and Social Research Council are some of our customers

How we work

We share the responsibility for project development with our clients. See where your involvement is most needed in the firmware development process.

AREA OF RESPONSIBILITY

PROJECT-BASED OUTSOURCING

DEDICATED DEVELOPMENT TEAM

RESEARCH & DEVELOPMENT

PROJECT REQUIREMENTS

YOU

SHARED

YOU

ENGINEERING

INTEGRA

INTEGRA

INTEGRA

FIRMWARE DEVELOPMENT

INTEGRA

INTEGRA

INTEGRA

DELIVERY MANAGEMENT

INTEGRA

SHARED

TESTING

INTEGRA

SHARED

SHARED

Frequently Asked Questions

Read this information to better understand the process of firmware design and development.

What microcontrollers have you worked with?

We've written firmware for a variety of microcontrollers including:

  • Microchip
  • Atmel
  • Microsemi
  • Nordic Semiconductor
  • Texas Instruments
  • STMicroelectronics
  • Silicon Labs
  • Espressif
  • NXP
  • Infineon Technologies
  • Cypress Semiconductor
  • Freescale
  • Renesas

What tools do you use to develop firmware?

For firmware development depending on the microcontroller, we use the following tools:

  • Visual GDB
  • Eclipse
  • Keil
  • IAR
  • Crossworks IDE
  • SimplicityStudio
  • CodeComposer Studio
  • CooCox
  • Atmel Studio
  • TrueStudio
  • ParticleIDE
  • GCC toolchains

For updating and debugging firmware we use the following equipment and software:

  • OpenOCD
  • Segger J-Link
  • ST-Link

What programming languages do you use for firmware development?

We use the most common C and C++ languages to build firmware.

Do you do firmware code review?

Yes, we do. We review the code and propose improvements based on our observations.

I don't have hardware ready for my device. Can you build firmware without the hardware?

If you don't have hardware yet but need to speed up the process of development, we can develop firmware for your future device using a Development Kit. This will help you shorten the time to market and get a working prototype of your product.