Home / Services / Embedded Software Design & Development Services / Board Support Package (BSP) Development
Integra Sources home button.

GET IN TOUCH
A PCB and a computer screen with a code snippet

Board Support Package (BSP) Development

Our board support package development services eliminate platform-level bottlenecks through production-ready bootloaders, optimized drivers, and a thoroughly validated BSP. Your engineering team can focus on product functionality while we establish a dependable system layer that shortens development cycles, reduces technical risk, and supports a smooth production rollout.

What we do

We develop board support package software that initializes processors, communication buses, memory, and peripherals and establishes a controlled boot sequence for the target platform. This removes hardware-specific tasks from the application layer and lets your team concentrate on product features. The portable design can be adapted to related boards with limited changes to the source code.

Bootloader and Linux Kernel Porting

Standard software builds rarely fit custom board designs out of the box. We configure bootloaders and port the Linux kernel for your target processor, memory layout, and peripheral set. Board-specific initialization code and kernel configuration ensure correct interaction between the hardware platform and higher-level software. Tailored embedded BSP development shortens Linux bring-up, reduces engineering effort, and leaves the platform easier to support as the product evolves.

RTOS-Based BSP Development

Resource-constrained microcontrollers require a lean architecture to deliver predictable performance. We develop lightweight board support packages with optimized memory allocation, clock configuration, peripheral access, and low-power modes. Our BSP development for embedded systems provides a stable foundation for RTOS-based firmware and reduces integration effort. These solutions improve timing predictability and energy efficiency in industrial controllers, medical equipment, autonomous robots, and battery-powered IoT nodes.

Custom Device Driver Development

Specialized peripherals demand precise software control to communicate reliably with the rest of the system. We develop custom device drivers for proprietary sensors, controllers, and displays, ensuring reliable data exchange over PCIe, SPI, I2C, and other hardware buses. Integrated into the BSP, these drivers improve system stability, simplify peripheral integration, and reduce debugging effort. You receive tested source code that accelerates board bring-up and remains maintainable across future hardware revisions.

Root File System Building and Customization

Bloated system images slow performance and make products harder to maintain. We streamline root file systems by retaining essential libraries and application dependencies and defining read-only, data, and recovery partitions where required. The resulting image can support controlled OTA updates and predictable operation across IoT gateways and edge devices. You receive a validated software environment that simplifies release control, security hardening, and product deployment.

Boot Time Optimization

Industrial systems may require rapid recovery after a power interruption or controlled restart. We defer non-critical driver initialization, parallelize service startup, and optimize storage access to reduce boot time. Fine-tuning low-level software helps telemetry hubs and industrial automation controllers recover quickly after power loss. The result is faster restoration of core functions and higher system availability after unexpected shutdowns.

BSP Migration and Platform Porting

End-of-life processors should not force a complete system redesign. We migrate low-level software to modern SoCs and adapt Linux or RTOS components to the selected supported release. The updated board support package preserves proven application logic, helps mitigate supply chain risks, and extends the service life of industrial and telecom products. This enables a controlled hardware transition without extensive board redesign or unnecessary changes to proven application code.

What You Get

icon

Documentation

We provide BSP documentation covering the bootloader, Linux kernel or RTOS configuration, device tree where applicable, drivers, build environment, and integration instructions.

icon

Source Code

You receive project-specific BSP source code, build scripts, configuration files, patches, and third-party libraries and dependencies, prepared for future modification and maintenance.

icon

Verification & Test Reports

We deliver test reports covering system boot, board initialization, peripheral operation, drivers, hardware interfaces, and BSP behavior on the target platform.

icon

Intellectual Property Rights

You receive full ownership of all custom BSP deliverables — including source code, drivers, configuration files, and documentation— giving you complete control over future development.

background

Have Your Questions Answered!

Send your requirements and get an assessment

Ask a question

Our projects

Check Integra’s previous projects delivered within our BSP development services.

Wearable Blood Pressure Monitor Development

The portable blood pressure monitor measures blood pressure, heart rate, blood saturation, and posture and transmits the data to a tablet app.
  • Embedded hardware development
  • Firmware development
  • Healthcare
  • Mobile app development
  • Wearable device

IoT Device Development for Oil & Gas Sensors

The project aimed to develop a connected device for various sensors used in the oil and gas industry. There are many options for using the IoT.
  • Embedded hardware development
  • Embedded software development
  • Firmware development
  • Web development
A tablet-style smart home control panel with a touchscreen.

A Control Panel for IoT-Based Smart Home Automation System

Within the scope of the project, the team developed three PCBs, a custom Linux image, and drivers for different modules of the smart home system.
  • Embedded hardware development
  • IoT
  • Kernel and driver development
  • Linux
  • Smart Home

Reviews

"Integra Sources' extensive preparation beforehand helped give confidence to the client that they chose the right partner. Despite the time difference, they are able to stay in constant communication. Integra's dedication to the project has led the client to develop an ongoing relationship."
photo
Christophe Baudia
CEO at GeoMoby
"The database has satisfied all scope requirements. The upgrades have improved communication and performance. Team strengths include accessibility and problem-solving and they are unafraid to research problems and develop their own solutions. Integra demonstrated strong management skills when they managed our servers for a week during an important trade show; we showcased our product at the event. Communication channels are always fluid and straightforward."
photo
Eduardo Ruiz
Founder & CEO at Ruiz Aerospace Manufacturing
"Integra's team helped us clarify our requirements and change systems architecture to achieve the final goal. I'd say that the flexibility and enthusiasm of both engineering and management teams throughout the whole project were some of the things we value most in our collaboration."
photo
Dr. Sam Wass
University of East London

Awards

arr icon
arr icon
Show more

Frequently Asked Questions

Read this information to better understand our BSP development services.

Do you develop and customize device tree files for new or modified hardware?

Yes. We develop and customize Device Tree Source files and Device Tree Overlays for custom boards, hardware revisions, and new peripherals. Our engineers describe the board configuration, define buses and device nodes, and configure interfaces such as I2C, SPI, UART, USB, Ethernet, and GPIO. We verify the changes with the related kernel, bootloader, and driver updates to confirm correct hardware detection and reliable operation on the target platform.

Can you take over a BSP that another team or SoC vendor started but didn't finish?

Yes. We can take over an existing board support package (BSP) at different stages of development, whether it was started by another engineering team or supplied by the SoC vendor. We first review the codebase, boot flow, operating system configuration and build environment, device tree where applicable, drivers, and known issues to identify gaps and integration risks. We then complete, debug, and test the BSP on the target hardware, delivering a maintainable platform ready for further product development.

Do you support real-time Linux for time-sensitive applications?

Yes. We support real-time Linux for applications that require low, predictable latency. As part of our Linux BSP development services, we configure the kernel, enable PREEMPT_RT where appropriate, tune interrupt handling and scheduling, and adapt drivers that affect real-time performance. We then measure latency on the target hardware under representative workloads to verify that the platform meets the agreed timing requirements.

How do you ensure security in a BSP, including secure boot?

We implement security from the earliest stages of Linux BSP development. Depending on the target platform, we enable secure boot with a hardware root of trust, configure cryptographic image verification, protect bootloader and kernel integrity, and disable unused interfaces and debug features. We also apply secure defaults and test the complete secure boot chain to help prevent unauthorized code execution and tampering.

Can you port an existing BSP to a new SoC or hardware revision?

Yes. We can port an existing Linux BSP or Android BSP to a new SoC, hardware revision, or custom board. We first assess hardware compatibility and identify platform-specific dependencies before updating the bootloader, kernel, device tree, device drivers, and board initialization code as required. Finally, we validate critical interfaces and peripherals to ensure reliable operation on the new platform while minimizing changes to the existing software.

When do I need to build a BSP?

BSP development is required whenever an operating system cannot fully initialize or support your target hardware without platform-specific software. Typical cases include custom boards, new SoCs, hardware revisions, or porting Linux or Android to another platform. A board support package for Linux or Android initializes the hardware, enables the required peripherals, and provides the low-level software needed for reliable boot and system operation.

Can I use the mainline version of the kernel?

Yes, if the target SoC, board, and required peripherals are supported by the mainline Linux kernel. Some hardware features may still depend on downstream drivers, firmware, or vendor-specific patches that are not available upstream. In these cases, we port, adapt, or replace the required components and integrate them into your Linux board support package, using a suitable upstream or LTS kernel while retaining the hardware functions your product requires.

How can boot time be optimized?

We optimize boot time by profiling each stage of the startup sequence, from the bootloader and kernel to userspace initialization. Depending on the platform, we streamline bootloader settings, remove unnecessary kernel drivers and services, defer non-critical driver initialization, and skip initialization of unused peripherals. In Linux BSP development projects, this helps identify bottlenecks and reduce startup time while preserving required functionality and system stability.

Our tech stack

We've worked with enterprises and startups from Europe, the USA, Australia, and Asia

client company logo
client company logo
client company logo
client company logo
client company logo
client company logo
client company logo
client company logo
client company logo
client company logo

We cooperate
with the whole world

See case
See case
See case
See case
See case
See case
See case
See case

We use cookies to improve your experience on our website. Our Cookies Policy explains what cookies are, how we use cookies and how third parties we may partner with may use cookies. Please find more information here

Accept