Firmware Engineer
Description
OUR MISSION
ButterflyMX is on a mission to empower people to automate property access, operations, and security from a single platform. Our products are installed in more than 20,000+ multifamily, commercial, gated communities, and student-housing properties worldwide, including properties developed, owned, and managed by the most trusted names in real estate. Our features are designed for developers, owners, property managers, and tenants and our products lower operating costs and improve tenant satisfaction.
OUR SOLUTION
Developers and owners no longer need to run building wiring or install in-unit hardware. Property managers can grant building access, revoke permissions, and review entry logs from an online dashboard. Residents can open doors from their smartphones, issue visitor access, and see who is trying to enter the building.
OUR CULTURE & VALUES
Fantastic people are the key to our success. As a distributed, primarily remote workforce, we’re looking for more intelligent, passionate, collaborative, ai-forward, and down-to-earth individuals to join our growing team. We’re driven by a shared commitment to excellence and innovation, grounded in our core values: We delight our customers, We take ownership, We are a community of collaborators, We speak up, We think big and do small, and We are tenacious.
ROLE OVERVIEW
At ButterflyMX, firmware sits at the critical intersection of electronics, embedded systems, product reliability, device security, and customer experience. We are seeking an exceptional Firmware Engineer to help design, build, debug, secure, and optimize the embedded software that powers our next generation of access control, intercom, IoT, wireless, and connected hardware products.
This role requires a rare combination of strong firmware development skill, deep hardware intuition, and practical embedded systems judgment. The successful candidate will be comfortable working close to the hardware — registers, buses, timing, interrupts, memory, power, analog behavior, digital interfaces, and real-world failure modes — while also understanding how embedded devices interact with secure cloud-connected systems.
Our products span multiple embedded environments, including bare-metal microcontroller firmware with main-loop architectures, RTOS-based systems including Zephyr, and embedded Linux platforms. This engineer must be able to write production-quality code independently, analyze and optimize firmware at a low level, troubleshoot hardware/firmware interactions, and use AI tools intelligently to accelerate development without outsourcing engineering judgment.
This is a hands-on, high-impact engineering role for someone with initiative, tenacity, curiosity, and the ability to solve ambiguous problems across hardware, firmware, manufacturing, and field reliability.
RESPONSIBILITIES
- Develop Production-Ready Embedded Firmware
- Design, write, debug, and maintain firmware across bare-metal, RTOS/Zephyr, and embedded Linux platforms.
- Build reliable low-level firmware in C/C++ and other relevant firmware languages for microcontrollers, peripherals, sensors, communication interfaces, power systems, and device control logic.
- Develop main-loop, interrupt-driven, event-driven, and multithreaded architectures optimized for timing, memory, latency, power, boot time, and long-term reliability.
- Own firmware from board bring-up and prototype development through EVT/DVT/PVT, production release, and post-launch support.
- Bridge Hardware, Firmware, and Real-World System Behavior
- Work close to the hardware, including registers, buses, interrupts, ADCs, power rails, signal integrity, timing, noise, grounding, and analog/digital interactions.
- Read schematics, understand PCB layouts, and collaborate with electrical and mechanical engineers on architecture, bring-up, manufacturability, thermal behavior, EMI/EMC, and field installation constraints.
- Diagnose multi-domain failures using oscilloscopes, logic analyzers, debuggers, multimeters, power analyzers, and other lab tools.
- Build firmware that is resilient to power instability, brownouts, signal noise, temperature extremes, communication faults, installation variability, and device aging.
- Build Secure Connected IoT Device Firmware
- Implement secure boot, bootloaders, chain of trust, signed firmware, certificate signing, key provisioning, device identity, and image validation.
- Support secure OTA updates, rollback protection, version control, recovery behavior, and firmware authenticity.
- Develop secure device-to-cloud and device-to-controller communication using appropriate authentication, cryptographic, and transport-layer protections.
- Partner with security, cloud, and systems teams on device hardening, credential management, threat modeling, and secure manufacturing provisioning.
- Implement Embedded Communication Protocols
- Develop and debug firmware for I2C, SPI, UART, GPIO, ADC, PWM, RS-485, USB, Ethernet, BLE, Wi-Fi, and cellular-connected systems as applicable.
- Implement reliable protocol handlers for access control, device-to-device, device-to-controller, and device-to-cloud communication.
- Build robust error handling, retries, timeouts, diagnostics, telemetry, and graceful degradation into communication paths.
- Create and maintain Interface Control Documents, protocol specifications, state diagrams, register maps, and integration documentation.
- Drive Firmware Quality, Testability, and Reliability
- Design firmware with observability, diagnostics, manufacturability, and field support in mind from the beginning.
- Support built-in self-test, production test firmware, manufacturing diagnostics, burn-in, hardware validation, and release readiness workflows.
- Develop unit tests, integration tests, hardware-in-the-loop tests, regression tests, and automated validation tools where appropriate.
- Use disciplined engineering practices including code review, version control, CI/CD, static analysis, issue tracking, release notes, and root-cause documentation.
- Partner with Quality, Support, Manufacturing, and Operations to analyze RMA trends, field failures, intermittent faults, and reliability issues.
- Use AI Tools Responsibly to Increase Engineering Leverage
- Use AI models and engineering tools to accelerate code development, debugging, test creation, documentation, and design exploration.
- Independently validate AI-generated code, assumptions, and recommendations before using them in production systems.
- Maintain full ability to write, review, debug, optimize, and explain firmware without relying on AI as a substitute for engineering judgment.
- Solve Ambiguous Problems with Initiative and Tenacity
- Approach problems holistically across electronics, firmware, mechanical constraints, manufacturing variation, installation conditions, cloud interaction, and customer impact.
- Prototype quickly, test carefully, learn from data, and iterate toward robust production-ready designs.
- Challenge assumptions, identify hidden failure modes, communicate tradeoffs clearly, and propose better architectures when the obvious path is not good enough.
REQUIREMENTS
- 5+ years of hands-on embedded firmware development experience; 8+ years is preferred for senior-level candidates.
- Strong firmware development skills in C/C++, with experience writing production code for resource-constrained embedded systems.
- Hands-on experience with bare-metal microcontroller firmware, RTOS-based systems, and embedded Linux. Experience with Zephyr is strongly preferred.
- Strong understanding of microcontroller architecture, interrupts, timers, DMA, memory maps, bootloaders, watchdogs, peripheral drivers, low-power modes, and low-level register programming.
- Deep practical understanding of electronics hardware, including digital and analog domains, power regulation, ADCs, signal conditioning, filtering, impedance, noise, grounding, and signal integrity.