Embedded Systems Engineer
Description
ABOUT THE COMPANY BURN is an eclectic group of designers, builders, and visionaries who are committed to making stoves that can transform lives and save forests. Our goal is not just to provide clean burning wood and charcoal stoves but to provide a range of super fuel efficient stoves for the 2 billion people who will inhabit sub Saharan Africa by 2050. Read below to find out a bit more about the members of the team. JOB SUMMARY Skills and ExperienceBachelor'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, with ability to create clear technical documentation.Strong analytical and problem-solving abilities with attention to detail.Experience with test automation using Python or other scripting languages is a bonus.Experience in consumer electronics, IoT products, or energy sector applications is a bonus.Good understanding of electronicsFamiliarity with Agile development methodologies is a bonus. RESPONSIBILITIES The Employee shall have the following duties and responsibilities: Design, develop, and maintain firmware for ARM Cortex-M microcontrollers, particularly STM32 series MCUs, ensuring code meets performance, power consumption, and memory constraints.Write efficient, maintainable, and well-documented embedded C/C++ code following best practices and coding standards.Implement and integrate communication protocols including UART, SPI, I2C, CAN, and wireless protocols such as Bluetooth Low Energy (BLE).Develop and implement sensor interfaces, signal processing algorithms, and control systems for temperature monitoring, power management, and user interface applications.Collaborate with hardware engineers to define firmware-hardware interfaces, review schematics, and provide input on component selection and PCB design considerations.Debug complex firmware issues using JTAG debuggers, oscilloscopes, logic analyzers, and other diagnostic tools.Develop and execute unit tests, integration tests, and support hardware validation acti
Skills
Want AI to find more roles like this?
Upload your CV once. Get matched to relevant assignments automatically.