Embedded Software Engineer

Hero Instruments, Inc
Chicago, Illinois, United StatesFull-timePosted Sep 17, 2026

About the role

About Hero Instruments

Hero Instruments builds the tools engineers use to ship Bluetooth LE products: BLE Hero on iOS and Android, BLE Hero Workbench in VS Code, Harald, who runs the Workbench for you and reads the logs when something fails, and the BLE Hero Probe, the HCI controller that plugs into all of it. Everything we make is built by people who spend their days at a bench with a dev kit, a phone, and a sniffer, for people who do the same. We are a small team, and we would rather teach than promote.

The Role

You are the engineer we build for. You own the Bluetooth LE firmware on a product from the first advertising packet to the last DFU, and you know the cost of doing it with a scanner app on the phone, a sniffer capture in one window, a Python script for the boring parts, and a serial terminal for everything else.

At Hero Instruments you will do that work every day, on our reference firmware, on the Probe, across the SDKs our customers use, and everything you learn will end up in the product. When a connection drops for a reason nobody can explain, you read the trace, find it, and make sure Harald finds it next time.

What you'll

Bring up new BLE peripherals on real silicon: advertising, connection establishment, the GATT table, pairing and bonding, privacy. Characterize how each behaves against iOS and Android centrals, not just against another dev kit.

Debug at the protocol level. Root-cause disconnects, failed connections, stalled throughput, and pairing failures from HCI traces and air captures. Know why a 0x08 is not a 0x3E, and document each failure mode precisely enough that Harald can recognize it.

Tune connection interval, peripheral latency, supervision timeout, PHY, LL data length, and ATT MTU against a real throughput or power budget, and prove it with measurements.

Own DFU/OTA end to end across vendor mechanisms (MCUboot with MCUmgr/SMP over BLE, ESP-IDF OTA, others as customers need them), including the failure and rollback paths.

Build repeatable test sequences that exercise a device end to end on real hardware, then turn them into automated regression that runs against racks of devices, not simulators.

Own the firmware for the BLE Hero Probe: an nRF52840 running as a raw HCI controller over USB CDC. Transport reliability and throughput, flow control, and the Probe's own update path are yours.

Maintain reference peripheral firmware across the SDKs our customers live in: nRF Connect SDK/Zephyr and ESP-IDF first, then STM32WB, Silicon Labs, and TI SimpleLink as the roadmap demands. These double as our test targets and our teaching examples.

Write. Protocol-level explanations, example workflows, and docs that transfer knowledge, in the terminology the spec uses.

Work across the boundary with the extension (TypeScript) and mobile (Swift/Kotlin) teams: reproduce phone-side failures on firmware and decide which layer actually owns the fix.

What you've done

At least 2 years of experience with Zephyr

Shipped Bluetooth LE firmware on at least one product people bought, in C, on Cortex-M or ESP32-class silicon.

Gone deep on at least one BLE stack. nRF Connect SDK/Zephyr preferred; ESP-IDF (NimBLE or Bluedroid), Silicon Labs, TI SimpleLink, or STM32WB also count.

Can walk a connection from advertising through connection establishment, service discovery, and pairing, and point to where each step fails in practice.

Read HCI logs and sniffer captures without a translator. btmon, Wireshark, nRF Sniffer or equivalent are in your daily toolkit.

Tuned connection parameters, PHY, and DLE/MTU for a real target, and learned what iOS and Android will and won't accept.

Implemented or maintained a DFU/OTA path in production.

Comfortable in VS Code and git with CMake/west or idf.py, a J-Link or equivalent, RTT or UART logging, and a logic analyzer within reach.

Python for test automation and tooling.

Nice to have

TypeScript, or experience with the VS Code extension API.

Host-stack internals: you have written, ported, or debugged inside a Bluetooth host stack (Zephyr host, NimBLE, Bumble, BlueZ).

iOS Core Bluetooth or Android BLE experience. You have been on the phone side of a failure too.

Extended and periodic advertising, LE Coded PHY range work, LE Audio or isochronous channels.

Bluetooth SIG qualification, DTM/RF test, regulatory.

Hardware-in-the-loop CI at scale, and the flakiness triage that comes with it.

You have published something that taught other engineers BLE.

Responsibilities

  • Bring up new BLE peripherals on real silicon
  • Debug at the protocol level
  • Tune connection parameters against a real throughput or power budget
  • Own DFU/OTA end to end across vendor mechanisms
  • Build repeatable test sequences that exercise a device end to end
  • Maintain reference peripheral firmware across SDKs
  • Write protocol-level explanations and documentation
  • Work across the boundary with extension and mobile teams

Qualifications

  • At least 2 years of experience with Zephyr
  • Shipped Bluetooth LE firmware on at least one product
  • Deep knowledge of at least one BLE stack
  • Experience reading HCI logs and sniffer captures
  • Tuned connection parameters for real targets
  • Implemented or maintained a DFU/OTA path in production
  • Comfortable in VS Code and git with CMake/west or idf.py

Skills mentioned

CPythonEmbedded SystemsEmbedded Software DevelopmentReal-Time Operating SystemsFirmware DevelopmentAutomationSoftware TestingGitDebugging

About Hero Instruments, Inc

Tools for Engineers Building Wireless Products

Technology1 employee