1. Home
  2. /
  3. Services
  4. /
  5. Embedded Software Design & Development Services
  6. /
  7. 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

A Board Support Package (BSP) is a collection of software that contains the OS hardware modules and device drivers needed to boot and run an embedded system on specific hardware. Our services include BSP development, configuration, and migration.

What we do

A BSP (Board Support Package) initializes the processor, communication buses, memory, and peripherals and starts up the bootloader. A BSP engineer sets environmental parameters for working with a specific embedded OS. The BSPs we create operate with minimal modifications on similar target boards.
A printed circuit board and its components A printed circuit board and its components

What’s included

A laptop with a program code on a screen

Bootloader and Linux Kernel Porting

Integra's specialists provide Linux board support package development for various Linux solutions. We can create a full-fledged BSP, including boot loaders (U-Boot, RedBoot), and adapt the Linux kernel to the target CPU to make Linux work on an embedded platform. Our engineers perform architecture and board porting, which involves writing custom drivers and initialization code for devices specific to the board. They can also help you customize and optimize your Linux-based system.
A workplace of an Integra Sources' custom device driver developer

Custom Device Driver Development

As a part of our BSP development services, we build custom drivers to bring up the board, customize drivers with new features, port drivers from one OS to another, and provide updates to support new specifications and hardware.
A female programmer is working on a PC to create a root file system.

Root File System Building

We generate contents for the root file system for building programs to run on the embedded system and configure the device. The root file system is required to boot, restore, recover, and/or repair the system.
An Integra engineer works on a PC to optimize boot time.

Boot Time Optimization

We provide boot time optimization services for mission-critical applications with specific requirements for system boot time. During BSP development, we can recompile the bootloader or kernel or rebuild the root file system from scratch.
Integra Sources CEO is talking to a customer.

Have an idea?

SUBMIT A PROJECT

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

Awards

Three Integra Sources' specialists are discussing a project.

Why choose Integra Sources

Innovative problem-solving skills, in-depth expertise, and enthusiasm make us a strong partner for hardware and software development.
LEARN MORE ABOUT OUR WORKFLOW

Integration

  • Adaptation to customers’ management systems
  • Integration into customers’ development processes

Flexibility

  • Flexibility in development
  • Flexibility in communication

Communication

  • High level of communication
  • Personal account management
  • Legal security guarantee

Transparency

  • Transparency in development processes
  • Customer’s dashboard
  • Clear timelines
CONTACT SALES TEAM

Industries

LEARN MORE ABOUT THE INDUSTRIES WE WORK WITH
A tablet computer held in hands.

Consumer Electronics

Consumer devices, wearables, smart home solutions, desktop, mobile, and web applications.
A man is checking the work of power electronics.

Power Electronics

BESS and BMS solutions, charging systems, electric motor controllers, power conversion.
Mining machinery underground.

Extractive Industry & Manufacturing

Industrial automation, industrial IoT, computer vision, tracking solutions, wearables, industrial UAVs.
Two doctors are working with medical equipment.

Healthcare

HMIs for medical equipment, wearables, computer vision and AI-based diagnostics solutions.
A man sitting in a truck cabin.

Logistics & Transportation

Location and status tracking for freight and vehicles, warehouse robotics, order and warehouse management systems.
A female professor in a classroom.

Science & Education

Measuring and testing equipment, programmable robots, e-learning solutions, curriculum management systems.
A girl with a tablet computer is standing on a crop field near a harvester.

Agriculture

UAVs and autonomous robots, soil analysis and climate control systems, solutions for precision agriculture, asset tracking.
A man is recording himself on a video camera.

Entertainment

Multimedia solutions, video streaming systems, desktop and mobile applications, drones.
Industrial robots at a plant.

Robotics

Hardware and software, electric motor controllers, computer vision algorithms, AI solutions.
A tablet computer held in hands.

Consumer Electronics

Consumer devices, wearables, smart home solutions, desktop, mobile, and web applications.
A man is checking the work of power electronics.

Power Electronics

BESS and BMS solutions, charging systems, electric motor controllers, power conversion.
Mining machinery underground.

Extractive Industry & Manufacturing

Industrial automation, industrial IoT, computer vision, tracking solutions, wearables, industrial UAVs.
Two doctors are working with medical equipment.

Healthcare

HMIs for medical equipment, wearables, computer vision and AI-based diagnostics solutions.
A man sitting in a truck cabin.

Logistics & Transportation

Location and status tracking for freight and vehicles, warehouse robotics, order and warehouse management systems.
A female professor in a classroom.

Science & Education

Measuring and testing equipment, programmable robots, e-learning solutions, curriculum management systems.
A girl with a tablet computer is standing on a crop field near a harvester.

Agriculture

UAVs and autonomous robots, soil analysis and climate control systems, solutions for precision agriculture, asset tracking.
A man is recording himself on a video camera.

Entertainment

Multimedia solutions, video streaming systems, desktop and mobile applications, drones.
Industrial robots at a plant.

Robotics

Hardware and software, electric motor controllers, computer vision algorithms, AI solutions.
We've worked with
enterprises
and
startups
from Europe, the USA, Australia, and Asia
DaVinci Innovation Labs logo. AVerMedia logo. The Medical Team logo. Red Pitaya logo. GP2U logo. University of East London logo.

Our tech stack

Languages

Assembler logo. C++ logo.

OS

Android logo. FreeRTOS logo. Linux logo. Linux Embedded logo. ROS logo. UNIX logo. Wear OS logo. Windows CE logo. Zephyr logo.

Processor Architectures

ARM 7/9/11, Cortex M0/M3/M4/A8/A7/A9, MIPS, RISC-V, x86/x86-64.

IDE

Clion logo. Eclipse logo. Visual Studio Code logo.

Interfaces

CF/MMC/SD, DVI, Ethernet, HDMI, I2S, LAN, LCD, LPC, PCI, PCI-E, SATA, USB, 10G, SPI, RS-232, RS-485, RS-422, CAN, I2C, UART, MIPI, DSI.

Wireless Technologies

3G logo. 4G logo. BLE logo. Bluetooth logo. LTE-M logo. LoRaWAN logo. LoWPAN logo. NB-IoT logo. NFC logo. RFID logo. Thread logo. Wi-Fi logo. Zigbee logo.

Testing and certification

Integra’s services include thorough testing, debugging, and pre-certification steps. Our experts carefully review the certification requirements applied to the product and stick to them at all development stages. We provide all the necessary documentation for further electronics certification and software audits.
DISCUSS A PROJECT
DISCUSS A PROJECT
Show more

Explore our workflow

GO TO WORKFLOW PAGE
1

We get acquainted with the concept of the future solution and sign a non-disclosure agreement. The team gathers project requirements, studies relevant documents, and analyzes rival products on the market. At this phase, a preliminary project evaluation is made.

2

We contact the customer to confirm the project requirements. Then we create a technical specification and set a budget and deadlines.

3

We make the final evaluation of the project, make up a team, and schedule its workload.

4

We sign a contract for embedded software development. The team gets to work.

5

We select libraries, languages, and tools and get into embedded software development, factoring in device features and hardware configuration. The team identifies and eliminates bugs and optimizes the performance of the software. Customers receive daily reports on the progress. If necessary, the plan can be amended.

6

The team tests all the software functions. We check its performance under corresponding operating conditions and run some tests required for product certification. If necessary, the product is then modified.

7

After the tests, we finalize the necessary documentation. We can prepare manuals if the product is designed for in-house use.

8

When the development process is finished, customers can enjoy a free warranty period. During this time, the team will fix any bugs and defects in the product.

Reviews

“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.”
DR. SAM WASS
UNIVERSITY OF EAST LONDON
“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.”
CHRISTOPHE BAUDIA
CEO AT GEOMOBY
Show more

Frequently Asked Questions

Read this information to better understand our BSP development services.

When do I need to build a BSP?

A BSP is used for compiling a custom image of an operating system. For example, when you need to create a development kit or build a new board.

What is a bootloader?

A bootloader is a program that starts the device by activating an operating system. It turns on the RAM, voltage controller, and multimedia card (MMC). Most computer architectures, including ARM, MIPS, and x86, use U-Boot, an open-source primary bootloader.

What kernel can be used with BSP?

The main solution is Linux. Usually, SoC manufacturers provide a compatible Linux kernel version or a modified version. Some SoCs have full support for the mainstream Linux kernel version. It is possible to run an alternative OS, such as WinCE, Windows 10, or any other, if necessary.

Can I use the mainline version of the kernel?

SoC manufacturers do not always provide driver source code, and drivers may not be portable to the main kernel version. This is especially true for GPU drivers. So, if your platform has full support for the mainstream kernel, you can certainly use the mainstream kernel version. Otherwise, we can develop a set of patches and include them in the support package for your board.

What distributions do you use to create a file system?

To build rootfs, we use the following distributions:

  • Buildroot
  • The Yocto Project
  • OpenWrt / LEDE
  • The most popular desktop distributions (Debian-based, Arch, and Gentoo).

A file system isn’t a part of the kernel and is produced separately from kernel development. However, some libraries must be compatible with device drivers. For example, the OpenGL library must be compliant with the GPU driver.

How can boot time be optimized?

To optimize the boot time, we need to work on the following parts of the system: bootloader, kernel, and userspace. To speed up the boot time, we can tweak the system settings, clean up programs that launch at startup, switch off unused hardware, upgrade the operating system, and more.

How can a bootloader be optimized?

Removing drivers for unused devices can reduce boot times. For example, we can turn off the network boot mechanism. The kernel can be optimized in the same way as the bootloader – by removing unused drivers. This will reduce the size of the bootloader and kernel, as well as the read time from the SD card or other boot device. To optimize the userspace, we can configure the service run order. For example, network services may load after the main screen is displayed.

Do you provide embedded software testing services?

Yes, we do! That’s a part of our embedded software development services. Our quality assurance department uses manual and automated testing methods to check the software we develop so engineers can fix issues before the product is released.

What about intellectual property rights?

The cession of intellectual property rights is legislated in our contracts. We also sign a non-disclosure agreement to protect any sensitive information. We will mention your project on our website and other platforms only with your permission.

Who are your customers?

We develop projects for private enterprises and public organizations: small, medium, and large businesses, mining and manufacturing enterprises, startups, healthcare organizations, and enterprises engaged in other industries.

We cooperate
with the whole world

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