Information TechnologyFull-TimeJunior-level(1-2 yrs)
Job Description
About the Role
BURN is looking to hire a highly skilled and motivated Embedded Systems Engineer to develop and maintain embedded software for our innovative clean cooking products. The successful candidate will be hands-on in designing, implementing, and testing firmware for microcontroller-based systems, collaborating closely with hardware engineers, test engineers, and cross-functional teams to deliver high-quality, reliable products that meet both functional requirements and regulatory standards.
Duties and Responsibilities
Firmware Development: Design, develop, and maintain firmware for ARM Cortex-M microcontrollers, particularly STM32 series MCUs, ensuring code meets performance, power consumption, and memory constraints.
Coding Standards: Write efficient, maintainable, and well-documented embedded C/C++ code following best practices and coding standards.
Communication Protocols: Implement and integrate communication protocols including UART, SPI, I2C, CAN, and wireless protocols such as Bluetooth Low Energy (BLE).
Systems Engineering: Develop and implement sensor interfaces, signal processing algorithms, and control systems for temperature monitoring, power management, and user interface applications.
Hardware Collaboration: Collaborate with hardware engineers to define firmware-hardware interfaces, review schematics, and provide input on component selection and PCB design considerations.
Debugging & Troubleshooting: Debug complex firmware issues using JTAG debuggers, oscilloscopes, logic analyzers, and other diagnostic tools.
Testing & Validation: Develop and execute unit tests, integration tests, and support hardware validation activities in collaboration with the test engineering team.
Firmware Optimization: Optimize firmware for real-time performance, memory usage, and power efficiency in resource-constrained embedded systems.
Documentation: Create and maintain comprehensive technical documentation including design specifications, API documentation, code comments, and user guides.
Team Collaboration: Participate in design reviews, code reviews, and technical discussions to ensure quality and knowledge sharing across the team.
Manufacturing Support: Support manufacturing during product ramp-up, including firmware flashing procedures, production testing, and troubleshooting.
Field Support: Conduct root cause analysis for firmware-related field issues and implement corrective actions.
Compliance: Support regulatory compliance activities including CE certification, EMC testing, and safety standards implementation.
Skills and Experience
Bachelor's degree in Electrical Engineering, Computer Engineering, Computer Science, or related technical field.
At least 1-3 years of hands-on firmware development experience with embedded systems.
Strong proficiency in embedded C programming and solid understanding of embedded systems fundamentals.
Demonstrated experience with ARM Cortex-M microcontrollers, preferably STM32 series (STM32G0, STM32F series, or similar).
Experience with embedded development tools including STM32CubeIDE, Keil, IAR, or similar IDEs.
Working knowledge of communication protocols: UART, SPI, I2C, CAN, and experience with at least one wireless protocol (BLE, Wi-Fi, or LoRa).
Understanding of interrupt handling, timers, DMA, ADC/DAC, PWM, and power management techniques.
Experience with RTOS concepts or bare-metal programming.
Proficiency with debugging tools including JTAG/SWD debuggers, oscilloscopes, and logic analyzers.
Strong experience with Git version control and collaborative development workflows.
Ability to read and interpret schematics and datasheets.
Effective verbal and written communication skills.
Bonus: Experience with test automation using Python, IoT products, energy sector applications, and Agile development methodologies.