FPGA · SoC · Board bring-up · BSP · Firmware

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.

Audience

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.

Scope

What we do

  1. 01

    Silicon selection and architecture

    Industrial SoC selection design weighed against your lifecycle, toolchain and supply horizon, not just against a benchmark score.

  2. 02

    Board design and bring-up

    Industrial PCB design and board bring-up, through hardware validation to a platform the software team can trust.

  3. 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.

  4. 04

    Custom BSPs

    A board support package for the SoC you actually shipped, including the peripherals that are not covered by the reference design.

  5. 05

    Firmware development

    Embedded firmware development for industrial devices, from bare metal through RTOS to embedded Linux.

  6. 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.

  7. 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.

Capability

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 flow of seven steps from silicon selection to the product application: silicon selection, board design and bring-up, bootloader and BSP, operating system, drivers, and middleware and protocol stacks are the work AEI takes on, and each feeds the next, ending in the product application built on top

What we deliver, layer by layer.

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:

RouteExample partWhat it does
FPGA fabricCyclone 10 GX with PCIeHolds the timing while software handles everything without a deadline
SoC with a real-time subsystemPRU-ICSS on TI Sitara partsDoes the same job on one device
Dedicated real-time Ethernet controllerADI fido5100 · fido5200Puts the protocol timing in silicon
NIC that timestamps and launches frames in hardwareIntel i210Removes the same jitter from a standard host without any programmable fabric
SoC-FPGACyclone V SoC (Arm Cortex-A9) · ZynqPuts 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.

A jitter axis from tens of microseconds to sub-microsecond, with tuned Windows at millisecond-level scheduling and tuned real-time Linux with a deterministic driver at tens of microseconds on the software side of a dashed limit, and five hardware routes beyond it, side by side and unranked: FPGA fabric, an SoC with a real-time subsystem, a real-time Ethernet controller, a timestamping NIC and an SoC-FPGA

Below tens of microseconds of jitter, the timing moves into hardware.

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.

A small always-on region holding a low-power real-time clock or always-on timer beside a much larger switched region holding radio, sensor front end, main core and peripherals on power domains that can be turned off and brought back, with a duty-cycle strip below showing the device mostly asleep between short wake windows

What stays on, what switches, and the duty cycle that sets battery life.

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.

FAQ

Frequently asked questions

Who develops custom BSPs and firmware for industrial devices?
We do. 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, for device makers, machine builders and silicon vendors. Our team has shipped this work on Xilinx Zynq, Altera Cyclone parts, TI Sitara and Renesas RZ/N-class silicon.
Do you design the hardware as well, or only the software?
Both, and we prefer them together, because the driver and BSP constraints are cheapest to satisfy while the schematic is still open. We can also join once the hardware exists and take only the BSP, firmware and bring-up layers.
Which silicon families have you worked on?
Xilinx Zynq and Spartan, Altera Cyclone V SoC and Cyclone IV GX, MAX 10, ARM Cortex-M and Cortex-A parts, TI Sitara, Renesas RZ/N-class parts, STMicro parts on RF work, Intel Atom and Raspberry Pi. Our team also ports to parts it has not used before, which is routine work as launch enablement for a vendor.
Do you cover drivers and middleware as well?
Yes, and they have their own page. The device's own firmware is covered here. Host-side drivers, Windows and Linux kernel work, RTOS driver porting, middleware and real-time platform tuning are covered under system software, because they are a different discipline.
Can you meet hard real-time deadlines under Linux?
Within limits. On tuned real-time Linux with a driver written for determinism, our custom NIC drivers hold an 80 µs network cycle at 20 µs jitter. That is the same band open-source EtherCAT masters reach on PREEMPT_RT, where published evaluations report 100 µs cycles with jitter in the tens of microseconds. Below that band, or where jitter has to be sub-microsecond, it needs specialised hardware or a NIC that timestamps in hardware.
How does part lifecycle affect silicon selection?
It is one of the inputs we weigh, alongside toolchain and supply, and published dates from the vendor make it checkable. We track each vendor's published commitment for the specific parts on your shortlist, but we cannot quote a vendor's roadmap on their behalf. For example, in April 2026 Altera extended lifecycle support for Agilex, MAX 10 and Cyclone V through 2045, after being spun out of Intel in 2025. Dates like that do move, which is why we re-check them at each design review instead of relying on a roadmap seen once.
How do you assure compatibility when porting firmware to new silicon?
We start by fixing the interface. The driver and BSP layer absorbs what changed between the old part and the new one, and the application above it is regression-tested against the same test suite on both platforms before cutover.
Can you review a schematic and pin-mux before we send a board to fab?
Yes, on hardware you or a partner designed, as a lighter-weight version of the same board work covered above.
References
  • 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
Go deeper

Ready to scope this for your product?

Start with our engineering notes, or talk directly to the team that will build it.