Embedded Firmware Engineer
Experience
3+ years
Open Position
2
Key Responsibilities
- Firmware Development: Design, develop, and debug embedded firmware in C/C++ for ARM Cortex-M based systems (STM32, AT32) and Espressif (ESP32) platforms.
- Hardware Interfacing: Develop low-level drivers and interface with hardware peripherals (GPIO, ADC, DAC, PWM) and communication protocols (UART, SPI, I2C, CAN, Modbus).
- IoT Connectivity: Implement Wi-Fi and Bluetooth Low Energy (BLE) functionality for IoT applications, including MQTT, HTTP, and TLS protocols, specifically on the ESP32 platform.
- RTOS Implementation: Develop multithreaded applications using FreeRTOS or similar Real-Time Operating Systems for real-time performance optimization.
- Debugging & Validation: Perform board bring-up, troubleshooting, and validation using debugging tools such as JTAG, SWD, oscilloscopes, and logic analyzers.
- Optimization: Optimize firmware for performance, memory management, and power consumption.
- Documentation & Collaboration: Collaborate with hardware designers to ensure seamless integration, maintain technical documentation, and adhere to version control (Git) standards.
Required Skills & Qualifications
- Education: Bachelor’s degree in Electronics/Electronics & Communication, Computer Engineering, or related field.
- Programming: Proficiency in Embedded C (essential) and C++.
- Microcontrollers: Strong hands-on experience with STM32 (CubeMX/HAL) and ESP32 (ESP-
IDF or Arduino IDE). - Architectures: Experience with ARM Cortex-M architectures (STM32/AT32).
- Protocols: In-depth knowledge of communication interfaces (I2C, SPI, UART).
- Tools: Proficient with Git, GDB, and JTAG debugging tools.
Preferred Skills (Good to Have)
- Experience with STM32 microcontrollers.
- Familiarity with Embedded Linux.
- Experience in secure boot and OTA (Over-the-Air) firmware updates.
- Scripting knowledge (Python) for automated testing
Job Title
Embedded Firmware Engineer
Industry Category