MCU

Firmware

BSP Design & Device Drivers Development

Our MCU firmware development services cover a wide range of solutions, including board support packages, device drivers, middleware, and more. Whether you need to migrate legacy firmware or develop a new one from scratch, Promwad is here to assist you.

With years of cross-industry expertise and reliable partnerships with leading chip vendors, we specialise in custom firmware development for embedded systems to help our clients improve product performance, cut costs, and reduce time-to-market.

Our Services

At Promwad, we provide a comprehensive range of microcontroller firmware engineering services, ensuring that your product meets the highest quality standards.

Board support package (BSP) development

 

We create board support package software to ensure that your board runs smoothly.

What we do within the scope of our BSP development services:

  • Bring-up of boards
  • MCU- & DSP-based device hardware testing
  • Board assembly verification
  • OS and compiler integration, booting, flashing, and testing

Device driver development

 

We build device drivers, actuators, and sensors that are used in the MCU hardware products to drive peripherals.

What we do within the scope of our device driver development services:

  • Develop drivers for various devices, including actuators, sensors, and more.
  • Develop drivers for board peripherals such as SPI, I2S, ADC, DAC, I2C, UART/CAN, LIN, Ethernet, USB, and more.

Legacy firmware migration

 

Our team delivers seamless firmware migration from a legacy MCU vendor to a new one while ensuring minimal disruption to existing systems.

What we do:

  • PCB re-layout or re-design as needed for portability.

 

Hardware abstraction layer engineering

 

We can build a hardware abstraction layer for your microcontroller, thus streamlining the driver development process and enabling a more efficient experience with peripheral microcontrollers.

 

MCU firmware porting

 

Our MCU firmware engineering services include seamless firmware porting to new platforms and adapting it to new architectures, such as migrating from ARM Cortex M or ARM Cortex R to RISC-V. Additionally, we specialise in the development and porting of new hardware platforms for RTOS.

 

Bare-metal firmware development

 

Our engineers can develop firmware for bare-metal platforms without real-time operating systems (RTOS) which allows devices to perform specific tasks without the need for external control, such as capturing and sending sensor data in real-time or at set intervals.

 

RTOS-based firmware engineering

 

We develop firmware for popular real-time operating systems (RTOS), such as FreeRTOS, TI-RTOS, RTEMS, and others. Our RTOS-based solutions include the development of device drivers, middleware, and application development.

 

AI firmware development

 

By leveraging our expertise in AI-powered firmware development, we can incorporate machine learning and deep learning frameworks and implement neural networks on microcontrollers. This enables our clients to reduce their hardware solution development costs.

 

Middleware porting and integration

 

We can adapt the existing middleware to new platforms and customise them to meet your business needs. Our engineers seamlessly integrate middleware components into your firmware, thus providing a stable foundation for your product development.

 

DSP algorithm development

 

Our team develops DSP and mathematical algorithms that are optimised for hardware platforms while leveraging vendor-provided libraries to ensure the most efficient implementation possible. We deliver solutions that meet the most demanding requirements of signal processing applications, such as audio and video processing, motor control, and more.

 

Chip Vendors We Collaborate With

We collaborate with leading chip vendors to offer cutting-edge solutions to our clients.

Our Tech Stack

Our development team employs innovative technologies to build secure and reliable MCU firmware solutions.

RTOS

FreeRTOS, CMSIS-RTOS, CMSIS-RTOS v2, Keil RTX, Azure RTOS ThreadX, Mbed OS, ChibiOS/RT, RTEMS, NuttX, embOS, SafeRTOS, VxWorks, Zephyr, μC/OS-II, μC/OS-III, TI-RTOS (SYS/BIOS), NXP MQX RTOS, eCos, RIOT, UNISON RTOS, Apache Mynewt.

 

TCP/IP

Azure RTOS NetX Duo, LwIP, uIP TCP/IP stack, Mbed TLS, tinyhttp, RL-TCPnet, wolfSSL, Mongoose web server, NXP’s GenAVB/TSN Stack, emNet, embOS/IP.

 

Bluetooth/Wi-Fi/Zigbee

X-CUBE-BLE1, -BLE2, -BLEMGR, Bluetooth API ESP, X-CUBE-WIFI1, nRF5 SDK, nRF Connect SDK, ESP-WIFI-MESH, ESP-AT, Silicon Labs Bluetooth Low Energy SDK, Silicon Labs Bluetooth Mesh, Silicon Labs EmberZNet PRO Zigbee, Silicon Labs Wi-Fi SDK, nRF Libraries for Zigbee.

 

FS (File System)

FatFS, Petit FAT, littleFS, YAFFS, YAFFS2, UFFS, Azure RTOS FileX, Azure RTOS LevelX, emFile, SPIFFS, ASF-FS, RL-FlashFS, custom file system development, porting existing ones.

 

MCU Architectures

ARM Cortex-M0, -M0+, -M1, -M3, -M4, -M7, -M23, -M33, -M35P, -M55, AVR, AVR32, ARC, MIPS, RISC-V, PIC16, PIC18, dsPIC33/PIC24, STM8, MSP430, MicroBlaze, NIOS II, M68k, SPARC, Espressif MCUs, ARM Cortex-R52+, -R52, -R7, -R5, -R4, -R82, -R8.

 

Graphics Libraries

LVGL, Segger emWin, STemWin, Embedded Wizard, TouchGFX, Azure RTOS GUIX, uGFX, LibJPEG, X-CUBE-DISPLAY, ESP-HMI, ESP-LCD, NXP Touch Library, Storyboard, Altia Design, Qt For MCUs, Koru UI Platform, MicroEJ GUI Solutions, QE for Display.

 

USB

STM32 USB Host/Device (AUDIO, BillBoard, CCID, CDC, CDC ECM, CDC RNDIS, Composite USB, CustomHID, DFU, HID, MSC, MTP, printer, VIDEO), Azure RTOS USBX, X-CUBE-UCSI, -TCPP, -USB-PD, emUSB, ASF-USB, ESP-USB, MCUXpresso SDK USB Stack, TI USB Stack, TinyUSB, RL-USB.

 

Bootloaders

OpenBL, MCUboot, ESP Bootloader Plus, nRF sdk-mcuboot, ESP-IDF Software Bootloader, MCU Bootloader for NXP Microcontrollers, MCU Bootloader for TI Microcontrollers, MCU Bootloader for Infineon Microcontrollers, custom bootloader development, porting existing bootloaders.

 

AI & DSP

MLPerf, X-CUBE-AI, NanoEdge AI, tinyML, CMSIS-DSP (Basic Math Functions, Common Tables, Complex Math Functions, Controller F., Fast Math F., Filtering F. Matrix F., Statistics F., Support F., Transform F.), CMSIS NN (Convolution F., Activation F., Fully-connected Layer F., SVDF Layer F., Pooling F. Softmax F., Basic maths F.), Cryptographic (AES, HASH, ECDSA, EdDSA, RSA), NXP eIQ machine learning (ML), ESP-WHO, Skainet, -DSP.

 

Tools/IDE

CCSTUDIO Code Composer Studio, STM32CubeMX, STM32CubeIDE, DAVE, XMC Lib, MCUXpresso-IDE, MPLAB X IDE, MPLAB Xpress IDE, MPLAB XC Compilers, Microchip Studio IDE, ESP-IDF, ESP RainMaker, ESP HomeKit SDK, e2 studio, CrossCore Embedded Studio, Microchip Advanced Software Framework (ASF), Simplicity Studio Software, Keil MDK-ARM, IAR Embedded Workbench, SEGGER Embedded Studio, TrueSTUDIO, CoIDE.

 

IoT/Cloud

X-CUBE-AWS, -GCP, -WATSON, -AZURE, MQTT libraries, REST, NXP EdgeReady MCU-based solution for Amazon's Alexa Voice Service (AVS), Zerynth, X-CUBE-LocalVUI, ESP-AWS-IoT, -Azure-IoT, -Google-IoT, ESP-MDF, -IoT-Solution.

 

Other

OpenAMP, GenericDataLogger, X-CUBE-ALGOBUILD, CMSIS-Zone, Tracealyzer, X-CUBE-GNSS1, -MEMS1, -NFC4, -NFC7, -ALS, -EERMA1, -ISPU, -TOF1, -SUBG2, -SFX2LP1, -STL, Espressif SDK (ESP8266, ESP32, ESP32-S2), nrfxlib, nRF Libraries for NFC, NXP IEC 60730 Class B Safety Library.

 

We Work With

Startups

We assist startups in firmware development by providing engineering teams to address specific challenges, fill resource gaps, and accelerate their growth.

Enterprises

We provide embedded firmware development services for businesses in various industries, including automotive, telecom, industrial automation, and more.

Tech Partners

We can be your reliable technology partner, building microcontroller firmware tailored to your objectives. Our team is ready to become an integral part of your project.

Why Promwad

Vendor partnerships

Our long-standing partnerships with leading chip vendors allow us to stay at the forefront of the industry and develop innovative MCU firmware solutions for our clients that meet the most demanding requirements.

In-depth expertise

We offer custom firmware development solutions across various industries and leverage the power of IoT, thus enabling seamless integration and control of devices from a single platform.
 

End-to-end services

Our embedded firmware development services cover the entire project cycle, from analysis and initial concept development to delivery of a market-ready solution and continued post-launch maintenance.

In-house testing lab

We test firmware using our in-house equipment including evaluation boards, ICEs, single-board computers, logic analysers, oscilloscopes, and more, in order to ensure maximum performance.

Our Engagement Models

Time & Material

– Payments for actual hours worked
– Regular reporting of time and results
– Regular communication with the team
– Connecting / disconnecting engineers on request
– Flexible development process

Dedicated Team

– Fixed monthly costs
– Custom-built team with specific competencies
– Fully dedicated engineering team
– Comprehensive IT infrastructure
– Max efficiency for complex projects

Project-Based

– Budget control
– Reduced risk
– Flexible resource allocation
– Clear scope
– Predictable timeline
– Quality control

Do you need a quote for your MCU firmware development?

Drop us a line about your project! We will contact you today or the next business day. All submitted information will be kept confidential.

FAQ

What are some common challenges in firmware development?

 

The development of firmware for MCU and hardware platforms requires the management of limited resources such as memory and processing power, consideration of hardware dependencies, and optimisation of performance and power consumption. This is why the optimisation of your Bill of Materials (BoM) is a vital step in ensuring the seamless operation of your device.

 

Can you suggest the most cost-effective MCU for my project?

 

When determining the most cost-effective MCU for your project, firmware outsourcing can often be an optimal solution. Our experts can assist you in the selection of an appropriate MCU based on your project's specifics and budget. We work closely with global chip vendors to propose several options. We will outline their pros and cons so that you can consider vital factors such as performance requirements, power consumption, available resources, and development costs.

 

Can you help me update my MCU-based product with new features or bug fixes?

 

As a custom firmware development company, we update existing products with new functionality, fix bugs, and implement other required modifications. When you provide access to the existing source code, our team will analyse your current firmware and recommend the best approach to achieve your desired updates.

 

What are some security considerations in firmware engineering?

 

Robust firmware security is essential, especially for devices connected to the internet or other networks. As part of our firmware engineering services, we take the following security measures:

  • implementation of encryption;
  • utilisation of secure boot and firmware update mechanisms;
  • adherence to the best secure coding practices;
  • performing regular updates to the security system regularly.
 

What is the role of microcontroller firmware in the IoT (Internet of Things)?

 

Microcontroller firmware plays a critical role in IoT devices considering that it is responsible for controlling the device's functions and communicating with other devices and systems.

IoT firmware must be designed with security in mind, as these devices can be vulnerable to attacks if not properly secured. Also, the firmware must be highly optimised for performance and power consumption, as many IoT devices are battery-powered and often operate for extended periods.

 

What is version control, and why is it important in firmware development?

 

Version control is a methodology that allows developers to manage changes to their codebase over time. It is crucial because it enables developers to keep track of changes and revert to previous versions if needed. It also facilitates collaboration between team members that are working on the same project.

 

How do you implement OTA updates for devices during the development process?

 

As a custom firmware development company, we carefully plan and implement over-the-air (OTA) updates. We assess them early in the device development process to ensure successful delivery, authentication, encryption, and installation on the device.

Our firmware outsourcing team also evaluates the impact of OTA updates on the device's resources, including additional memory and processing power requirements, in order to avoid performance issues.