Embedded Systems
Custom BSP, industrial SoC selection, board bring-up and embedded firmware development. We select the part, design the board, bring it up and write the software that runs on it.
Who this is for
-
Device manufacturers
A custom industrial device taken from silicon selection through board design and bring-up to shipping firmware, with the BSP and peripheral work underneath it.
-
Machine builders
Replace several off-the-shelf modules with one purpose-built device built to the machine's own IO count, form factor and environment.
-
Silicon vendors
Prove a new part in an industrial context, with a reference design and BSP a customer can start from.
What we do
- 01
Silicon selection and architecture
Industrial SoC selection design weighed against your lifecycle, toolchain and supply horizon, not just against a benchmark score.
- 02
Board design and bring-up
Industrial PCB design and board bring-up, through hardware validation to a platform the software team can trust.
- 03
Hardware design review
Schematic and layout review, pin-mux and peripheral-conflict checking on a board you or a partner designed, before it goes to fab.
- 04
Custom BSPs
A board support package for the SoC you actually shipped, including the peripherals that are not covered by the reference design.
- 05
Firmware development
Embedded firmware development for industrial devices, from bare metal through RTOS to embedded Linux.
- 06
FPGA and hybrid platforms
FPGA and SoC-FPGA design where timing has to leave software, and hybrid x86-plus-FPGA board bring-up over PCIe.
- 07
Wireless and RF
Wireless industrial device design across BLE, Zigbee and wireless HART, industrial Wi-Fi connectivity, RF front-end design and UHF RFID reader development.
Technology verticals
- Silicon
- Xilinx Zynq / Spartan · Altera Cyclone V SoC (Arm Cortex-A9 + FPGA) · Cyclone IV GX · MAX 10 · ARM Cortex-M and Cortex-A · TI Sitara · TI Hercules (lock-step) · Renesas RZ/N · Analog Devices fido5100 / fido5200 · Analog Devices Blackfin · STMicro · Intel Atom
- Environments
- Bare metal · RTOS (FreeRTOS, eCos, Zephyr, µC/OS, TI-RTOS / SYS-BIOS) · embedded Linux · real-time Linux
- What you receive
- Schematics and layout where the board is ours · bring-up and validation report · custom BSP + build environment · firmware sources · peripheral integration notes · a rebuildable build environment
What do you cover under custom BSP, industrial SoC and firmware work?
We cover custom BSP, industrial SoC selection and embedded firmware development for device makers, machine builders and silicon vendors.
We select the part, design and bring up the board, write the board support package for the peripherals the reference design does not cover, and build the firmware above it. Our team has shipped this work on Xilinx Zynq, Altera Cyclone parts, TI Sitara and Renesas RZ/N-class silicon. The engagement is usually one of these shapes:
- A device you have not built yet. Custom device development from silicon selection and industrial PCB design through bring-up to shipping firmware.
- A third-party board, brought to life. Board bring-up and hardware validation on hardware you already have, including the peripherals the reference design does not document.
- A BSP for a new part. Custom BSP industrial SoC work, which is most of what “porting Linux” means in practice.
- Firmware onto new silicon. Firmware porting industrial SoC-side, where the application is proven and the platform underneath it changed.
- A reference design for a vendor. Silicon vendor reference design and BSP work, so a new part arrives with something a customer can build on.
- The radio. Wireless industrial device design across BLE, Zigbee and wireless HART, industrial Wi-Fi, RF front-end design, or UHF RFID reader development.
Most embedded projects run into trouble one layer below the application: a peripheral with no driver, a BSP that boots but drops interrupts, or firmware that behaves on the bench and misses its deadline in a cabinet at temperature. That layer is the work we take on:
- Silicon selection, which constrains every decision made after it.
- Board design and bring-up, to the point where the software team can treat the hardware as known-good.
- The BSP, covering the peripherals a reference design leaves out.
- Firmware, across bare metal, RTOS and embedded Linux.
- Peripheral bus integration across I²C, SPI and UART, along with the memory interfaces, Ethernet PHYs and high-speed signals that account for a large share of the defects and rework found during bring-up.
What we do not do is commission machines or plants. We build the device inside your product and integrate and test it with your engineers.
A reference BSP boots a reference board. Your board may have different memory, different power sequencing, a different boot medium, and peripherals the reference design might not have carried at all. Each of those has to be brought up and validated on your hardware before the software above it can be trusted.
The build environment is handed over with the BSP, since industrial products typically stay under support for longer than the toolchain that built them.
When does a timing guarantee have to move from software to hardware?
A timing guarantee moves into hardware when the deadline is tighter than a software scheduler can honour.
Jitter matters more than throughput here. On tuned real-time Linux with a driver written for determinism, the practical boundary sits in the tens of microseconds of jitter, which is where our delivered NIC driver figure in the FAQ below sits. Below that band the timing moves into hardware, and there is more than one route:
| Route | Example part | What it does |
|---|---|---|
| FPGA fabric | Cyclone 10 GX with PCIe | Holds the timing while software handles everything without a deadline |
| SoC with a real-time subsystem | PRU-ICSS on TI Sitara parts | Does the same job on one device |
| Dedicated real-time Ethernet controller | ADI fido5100 · fido5200 | Puts the protocol timing in silicon |
| NIC that timestamps and launches frames in hardware | Intel i210 | Removes the same jitter from a standard host without any programmable fabric |
| SoC-FPGA | Cyclone V SoC (Arm Cortex-A9) · Zynq | Puts Arm cores and fabric on one device, so the software and the timing share one chip |
Which route is suitable depends on volumes, protocol and the timing and processing budget. The same reasoning is why some of our work runs on hybrid arrangements such as an x86 host with an FPGA across PCIe, brought up as one platform.
On TI Sitara parts our team integrates TI’s PRU-ICSS protocol firmware with the customer’s application, builds the interface between the Arm and PRU sides, and tests the combination until the defects that only appear under real traffic are isolated and closed.
What does low-power design constrain?
Low-power design changes the architecture decision and part selection as well as the optimisation level.
A low-power embedded design changes which silicon is eligible, how the radio duty-cycles, whether a peripheral can stay enumerated between samples, and what the firmware is allowed to do while nothing is happening. Three things have to be designed into the hardware rather than added later:
- Power domains that can be switched, so peripherals and whole sections can be turned off and brought back predictably, with the sequencing, inrush and oscillator start-up that implies.
- A way to keep time while it sleeps, usually a low-power real-time clock or a separate always-on timer domain, because the main oscillator is usually disabled in deep sleep modes.
- Headroom for peak current, because a weakening battery can still run the board at rest and then sag when the radio or an actuator draws its peak. Local storage capacitance, or a staggered power-on sequence, holds that peak so a critical function does not fail first.
Small form-factor board design tightens the same loop again, because thermal headroom is low at that size. Both constraints set the silicon and topology choices.
Which parts of a process transmitter do you build?
We build the device itself: the board, the sensor front end, the firmware, the enclosure and the power budget.
A process transmitter programme splits three ways and most need at least two of them. Its communication stack is fieldbus and device networks, and the control application that consumes the measurement and acts on it is control software.
Frequently asked questions
Who develops custom BSPs and firmware for industrial devices?
Do you design the hardware as well, or only the software?
Which silicon families have you worked on?
Do you cover drivers and middleware as well?
Can you meet hard real-time deadlines under Linux?
How does part lifecycle affect silicon selection?
How do you assure compatibility when porting firmware to new silicon?
Can you review a schematic and pin-mux before we send a board to fab?
- IEC 62443-4-1 / -4-2 — secure product development lifecycle and technical security requirements for components, which a connected device is built against
- IEC 61131-9 — IO-Link, a common device-level interface on an industrial instrument
- IEEE 802.15.4 / Bluetooth Low Energy — the short-range radios behind most industrial wireless device work
- IPC-2221 / IPC-6012 — generic standard on printed board design, and qualification and performance requirements for rigid printed boards
- JEDEC JESD22 / IEC 60068 — environmental and thermal stress test methods for electronic components and equipment
- Yocto Project — build system for custom Linux distributions and reproducible BSP build environments
Ready to scope this for your product?
Start with our engineering notes, or talk directly to the team that will build it.