Title
Firmware Engineer
Quick Summary
Aurora Microelectronics seeks a Firmware Engineer to design, implement, and ship reliable embedded software for connected, battery-powered devices. The role covers board bring-up, peripheral drivers, RTOS integration, low-power modes, and over-the-air update pipelines, with a strong emphasis on testability and field diagnostics. We welcome strong graduates and early-career engineers who have shipped projects on microcontrollers; experienced applicants will be considered for broader ownership.
Project Category or Industry
Embedded systems for consumer IoT, industrial sensing, and wearables.
Type
Full-time employment.
Experience Level
Entry to mid-level with structured mentorship, code review rigor, and clear progression paths; senior candidates are encouraged to apply and may lead feature areas.
Duration
Permanent role.
Location
Remote-first across North America, Europe, and Asia with optional hybrid access to labs in San Jose, California and Taipei, Taiwan. Maintain at least four hours of overlap with Pacific Time for stand-ups and reviews. Occasional travel for bring-up or pilot deployments.
Salary
USD 92,000β132,000 base depending on location and experience, plus benefits and performance bonus. Regional equivalents offered outside the United States.
Payment Mode
Monthly payroll for employees; compliant contractor arrangements available where needed.
Hiring Company Name
Aurora Microelectronics
Required Skills or Tools
Proficiency in modern C/C++ for microcontrollers; hands-on experience with ARM Cortex-M (e.g., STM32, nRF52, ESP32), FreeRTOS or Zephyr, and common buses such as IΒ²C, SPI, UART, and CAN. Familiarity with BLE stacks, sensor fusion basics, power profiling, bootloaders, and OTA update flows. Comfort with oscilloscopes, logic analyzers, SWD/JTAG, Git-based workflows, and CI.
Project Description
Aurora Microelectronics develops embedded platforms that power connected devices at scale. The firmware team owns the layers between silicon and application logic, ensuring dependable peripheral control, accurate sensing, secure connectivity, and efficient power usage. This role contributes to new product development and sustaining engineering for devices already in the field, with a focus on maintainable code and repeatable test processes.
Core Responsibilities and Expected Deliverables
Bring up new boards from schematics to stable firmware, including clock config, pin muxing, and peripheral drivers.
Build RTOS-based components for timing-critical tasks, queues, and inter-task messaging with deterministic behavior.
Implement robust OTA and bootloader mechanisms with fail-safe recovery and versioned release artifacts.
Optimize power consumption through sleep modes, sensor duty cycling, and radio scheduling; provide before/after measurements.
Deliver unit tests, hardware-in-the-loop tests, and reproducible CI pipelines; create field diagnostics and readable logs.
Produce developer documentation and concise runbooks for manufacturing, QA, and customer support teams.
Required Experience and Preferred Qualifications
Demonstrated projects on real hardware, internships, or open-source contributions in embedded firmware.
Solid understanding of debouncing, DMA, interrupt latency, and memory-constrained design.
Preferred: experience with BLE services, Matter/Thread, secure key storage, or over-the-air provisioning.
Nice to have: exposure to IEC/UL compliance, medical or industrial safety practices, and RF coexistence tuning.
Tools or Platforms to Be Used
Toolchains such as Arm GNU, CMake, and vendor SDKs; debugging with GDB, OpenOCD, and vendor probes.
CI with GitHub Actions or GitLab CI, static analysis (clang-tidy, cppcheck), and code coverage reporting.
Lab workflows using oscilloscopes, logic analyzers, programmable power supplies, and RF sniffers where applicable.
Language Requirement
Professional English is required. Mandarin is helpful for collaboration with the Taipei lab but not mandatory.
Communication Style
Documentation-first culture using design docs, tickets, and code reviews; Slack for daily coordination; Zoom for stand-ups, demos, and incident reviews; Jira for planning and tracking.
Time Commitment or Working Window
Forty hours per week with flexible scheduling. Hold a consistent two-to-four-hour overlap with Pacific Time between 08:00 and 14:00 PT for live collaboration and lab windows.
Payment Terms
Employees are paid monthly via payroll with standard benefits eligibility. For contractors, invoices are processed on net-30 terms after acceptance of weekly timesheets and agreed deliverables.
Evaluation Criteria
Portfolio or code samples that demonstrate clear structure, low-level rigor, and thoughtful trade-offs under resource constraints.
Practical exercise to implement a driver and a simple bootloader feature with unit tests and a short design note.
Technical interviews covering interrupts, scheduling, power management, and fault handling.
Collaboration interview focused on documentation quality, ownership, and cross-team communication.
Reference checks as appropriate.
Other Requirements
Successful candidates must sign a confidentiality agreement and comply with secure development practices. Light time-tracking may be required for distributed coordination. Certain projects may be subject to export control or customer security reviews.
About Aurora Microelectronics
Aurora Microelectronics is a privately held, fabless engineering studio that helps brands bring robust, low-power connected products to market. From sensor nodes to wearable platforms, our team combines careful firmware architecture with pragmatic testing to ship devices that work the first timeβand keep working in the field. We are headquartered in San Jose, California, with a satellite lab in Taipei and a distributed team across several time zones. Learn more at https://www.auroramicroelectronics.com or contact our hiring team at careers@auroramicroelectro
