Key Responsibilities:
- Firmware Architecture: Design and implement scalable, modular firmware architectures for real-time applications (Bare-metal and RTOS).
- Development: Write clean, efficient, and well-documented code in Embedded C/C++.
- Hardware Bring-up: Lead board bring-up activities, developing low-level drivers (GPIO, UART, SPI, I2C, PWM, ADC/DAC).
- RTOS Management: Manage task scheduling, inter-task communication (semaphores, queues), and memory management in an RTOS environment (FreeRTOS, Zephyr, or similar).
- Communication Protocols: Implement and debug industrial/wireless protocols like CAN, Modbus, BLE, Wi-Fi, or MQTT.
- Optimization: Optimize code for power consumption, memory footprint, and execution speed.
- Mentorship & Quality: Conduct code reviews, establish coding standards (MISRA C), and mentor junior engineers.
Technical Skills Required:
- Languages: Expert-level proficiency in Embedded C; familiarity with Python for scripting/automation is a plus.
- Microcontrollers: Extensive experience with ARM Cortex-M (STM32, NXP, TI) or ESP32/Nordic architectures.
- RTOS: Hands-on experience with FreeRTOS or similar real-time operating systems.
- Tools: Proficiency with IDEs (Keil, IAR, STM32CubeIDE) and version control (Git).
- Debugging: Mastery of hardware debugging tools like JTAG/SWD debuggers, Oscilloscopes, and Logic Analyzers.
Qualifications:
Education: B.E./B.Tech or M.E./M.Tech in Electronics, E&C, or Computer Science.
Experience: Minimum 5 years in core firmware development.
Attributes: Strong problem-solving skills, ability to read and understand hardware schematics, and a proactive approach to technical challenges.