Board bring-up and firmware

First power-on to a booting board — then the firmware that makes the hardware demonstrable.

U-BootJTAG / SWDSTM32ESP32ZephyrFreeRTOSArduPilotMAVLink

A fabricated board is not a working board. Bring-up is where the design meets reality, and doing it in a defined order is the difference between two days and two weeks.

The order matters

Faults are found fastest by never advancing past an unverified stage:

  1. Visual and continuity — before power. Shorts found here cost nothing.
  2. Rails, in sequence — current-limited supply, one rail at a time, measured against the design values.
  3. Clocks and reset — is the oscillator running, is reset released, is the processor actually out of reset.
  4. Boot straps — the single most common cause of a board that draws current and does nothing.
  5. Debug access — JTAG or SWD attached and halting the core proves you can now ask the processor questions instead of guessing.
  6. Boot media — bootloader on the expected device at the expected offset.
  7. Interfaces, one at a time — each peripheral proven against the schematic.

Skipping a stage does not save time. It moves the debugging to a point where three variables have changed at once.

Firmware, scoped honestly

MCU-class firmware for STM32 and ESP32 targets: peripheral drivers, bootloaders and flashing infrastructure, sensor integration, communications. Motor-control firmware migration on VESC-based platforms. ArduPilot and PX4 with MAVLink from flight-controller work, and ROS 2 adjacency for robotics.

What we do not claim: AUTOSAR classic, FPGA RTL, and full production Yocto BSP maintenance. Those get partnered. A design house that claims the entire stack is telling you something about its sales process, not its engineering.

What you get at the end

A bring-up report that says what passed, what was modified to make it pass, what should change on the next spin, and what is still unproven. Including the unflattering parts — those are the ones that matter.

Common questions

Straight answers

How far up the software stack do you go?

Honestly scoped: we take hardware from first power-on through bootloader to a booting system, validate every interface against the schematic, and write MCU-class firmware for STM32 and ESP32 targets. Deep kernel driver development, full Yocto BSP maintenance, AUTOSAR and FPGA RTL are not things we claim — for those we bring in a specialist rather than learn on your schedule.

What does 'BSP enablement' mean if you don't write the BSP?

It means the hardware is designed so a BSP can work: correct boot-mode strapping, a memory map matching the vendor reference, accessible debug interfaces, no undocumented deviations, and validated bring-up to the point where a software team can start. Most BSP pain traces back to a hardware decision made months earlier.

Can you bring up a board somebody else designed?

Yes, and it is often the most valuable thing we do. A board that will not boot has a finite list of causes, and working that list in the right order — power, clocks, reset, straps, boot media — finds the fault far faster than probing hopefully.

Do you work with drone autopilot stacks?

Yes — ArduPilot and PX4 with MAVLink, from flight-controller carrier work. ROS and ROS 2 adjacency for robotics and unmanned surface vessel autonomy.

Got a board to design — or one that won’t boot?

You talk to the engineer who would do the work. Reply within one business day, and we’ll sign your NDA before you go into detail.