Embedded Firmware Engineer
Location
Mexico (Remote)
About the project
We're building the next generation of a consumer health wearable for older adults. The device runs continuous biometrics, on-device interaction, and safety features, and syncs to a companion phone app over Bluetooth Low Energy. It's an in-flight firmware codebase on a Nordic nRF-family SoC built with Zephyr / the nRF Connect SDK; not a greenfield project. You'll own a defined slice of it and take it to production quality.
The device connects over BLE (no cellular). Work is remote and async-first, driven from a Jira backlog and internal design docs.
What you will do
You'll own multiple workstreams end-to-end. Depending on fit and availability, that's a piece such as:
- BLE connectivity and data sync: GATT services, connection lifecycle, pairing/bonding, and reliable delivery of event and bulk data to the phone.
- A sensor or peripheral subsystem: driver bring-up and a clean capture/processing pipeline on constrained hardware.
- Device interaction and state machines: buttons, haptics, indicators, and the flows that tie them together.
- Power management: sleep/wake scheduling, duty-cycling, and hitting a multi-day battery target.
- OTA and device robustness: dual-bank updates with rollback, safe against power loss.
- Data integrity and secure storage: buffering, sync, and encryption of sensitive health data at rest.
Every deliverable ships with tests and on-target validation evidence appropriate to a health device.
Must-haves
- Nordic nRF-family firmware experience, shipped to production.
- Zephyr RTOS / nRF Connect SDK hands-on: device tree, Kconfig, and the west build system.
- BLE from the stack up: GATT design, connection lifecycle, pairing/bonding, throughput, and fragmentation.
- OTA with rollback: dual-bank updates that are safe at any point in the sequence.
- Power-constrained firmware: you've hit a real battery-life target on a shipping product.
- Sensor/peripheral bring-up straight from a datasheet (SPI/I2C/I2S), including interrupt- and DMA-driven data paths.
- Strong C, comfortable in disassembly to chase interrupt, DMA, and timing bugs.
- A health-data quality bar: you treat correctness and safety-critical paths as non-negotiable, and you're comfortable working with PHI/HIPAA-sensitive data responsibly.
Nice-to-haves
- Optical biosensor / PPG signal processing (HR, HRV, SpO2) and motion rejection.
- IMU integration and on-device activity/motion classification.
- Multi-core SoC firmware and inter-core communication.
- Experience migrating or versioning a device-to-app data contract.
How you work
This is a low-direction, async-first engagement. We are hiring for the ability to turn that into finished, production-quality firmware with minimal supervision. Concretely, you:
- Turn vague asks into scoped work: You write down what's in, what's out, acceptance criteria, and how you'll validate, before writing code.
- Ask the decision-relevant questions up front, then move: You surface the two or three questions that actually change the design, rather than either stalling for a full spec or silently guessing on risky calls.
- Make and document reasonable assumptions when an answer isn't available; pick a defensible default, note it, flag it, keep moving.
- Propose decisions with trade-offs, not just questions.
- Surface risk and blockers early, not at the deadline.
- Communicate in writing: Design notes, clear PR descriptions with validation evidence, and a short decision log are the default.
Expect to walk through a time you shipped something from a request; what you assumed, what you asked, and how you protected the deadline when reality diverged from the plan.