Custom MCU Firmware 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 fasten time-to-market.
Services We Provide
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, ensuring your board runs smoothly.
What we do within our BSP development services:
- Boards bring-up
- MCU- & DSP-based devices hardware testing
- Board assembly verification
- OS and compiler integration, booting, flashing and testing
Device drivers development
We build device drivers, actuators and sensors used in the MCU hardware products to drive peripherals.
What we do within our device drivers development services:
- Drivers for various devices, including actuators, sensors, and more.
- 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, ensuring minimal disruption to existing systems.
What we do:
- PCB re-layout or re-design as needed for portability.
Hardware abstraction layer engineering
We build a hardware abstraction layer for your microcontroller, 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 developing and porting new hardware platforms for RTOS.
Bare-metal firmware development
Our engineers develop firmware for bare-metal platforms without real-time operating systems (RTOS), allowing devices to perform specific tasks without 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 device drivers, middleware, and application development.
AI firmware development
Leveraging our expertise in AI-powered firmware development, we can incorporate machine learning and deep learning frameworks and utilise neural networks on microcontrollers. This enables our clients to reduce their hardware solution development costs.
Middleware porting and integration
We adapt the existing middleware to new platforms and customise them to meet your business needs. Our engineers seamlessly integrate middleware components into your firmware, providing a stable foundation for your product development.
DSP algorithms development
Our team develops DSP and mathematical algorithms optimised for hardware platforms and leverages vendor-provided libraries to ensure the most efficient implementation. 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
We assist startups in firmware development by providing engineering teams to address specific challenges, fill resource gaps, and accelerate their growth.
We provide embedded firmware development services for businesses in various industries, including automotive, telecom, industrial automation, and more.
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.
Our long-standing partnerships with leading chip vendors allow us to be at the forefront and develop innovative MCU firmware solutions for our clients, meeting the most demanding requirements.
We offer custom firmware development solutions across various industries and leverage the power of IoT, enabling seamless integration and control of devices from a single platform.
Our embedded firmware development services cover the entire project cycle, from analysis and initial concept development to delivery of a market-ready solution and ongoing maintenance.
In-house testing lab
We test firmware on our in-house equipment using evaluation boards, ICEs, single-board computers, logic analysers, oscilloscopes, and more to ensure maximum performance.
Our Case Studies with Firmware Development
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
– Fixed monthly costs
– Custom-built team with specific competencies
– Fully dedicated engineering team
– Comprehensive IT infrastructure
– Max efficiency for complex projects
– 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.
What are some common challenges in firmware development?
While developing firmware for the MCU and hardware platforms, you will have to manage limited resources such as memory and processing power, deal with hardware dependencies, and optimise performance and power consumption. That is why optimising your Bill of Materials (BoM) is vital to ensure the device will work seamlessly.
Can you suggest the most cost-effective MCU for my project?
When determining the most cost-effective MCU for your project, firmware outsourcing can be a valuable solution. Our experts can assist you in selecting the optimal MCU based on your project's specifics and budget. We work closely with global chip vendors to propose several options describing their pros and cons, considering 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 analyses your current firmware and recommends 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:
- implementing encryption;
- using secure boot and firmware update mechanisms;
- following the best secure coding practices;
- updating the security system regularly.
What is the role of microcontroller firmware in the Internet of Things (IoT)?
Microcontroller firmware plays a critical role in IoT devices, 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 operate for extended periods.
What is version control, and why is it important in firmware development?
Version control is a system 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 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, to avoid performance issues.