Job Summary We are seeking an Embedded Systems Engineer to design, develop, test, and maintain embedded software and hardware solutions for electronic products. The ideal candidate should have strong experience in embedded programming, microcontrollers, real-time operating systems, and hardware-software integration.
Key Responsibilities - Design and develop embedded software for microcontroller and processor-based systems.
- Develop firmware using C/C++ for embedded applications.
- Interface with peripherals such as UART, SPI, I2C, CAN, USB, Ethernet, and GPIO.
- Work closely with hardware engineers to bring up new boards and debug hardware issues.
- Develop and optimize device drivers, bootloaders, and low-level software.
- Implement and maintain real-time applications using RTOS platforms.
- Perform debugging, testing, validation, and performance optimization.
- Analyze system requirements and create technical specifications.
- Participate in code reviews and maintain software documentation.
- Support product development from concept through production and maintenance.
Required Qualifications - Bachelor's or Master's degree in Electronics, Electrical Engineering, Computer Engineering, Embedded Systems, or a related field.
- Strong proficiency in C and C++ programming.
- Experience with microcontrollers such as ARM Cortex-M, STM32, PIC, AVR, ESP32, or similar platforms.
- Knowledge of communication protocols (UART, SPI, I2C, CAN, USB).
- Experience with embedded debugging tools such as JTAG, SWD, oscilloscopes, and logic analyzers.
- Understanding of memory management, interrupts, and embedded architecture.
- Familiarity with version control systems such as Git.
- Experience reading schematics and hardware datasheets.
Preferred Qualifications - Experience with Embedded Linux development.
- Knowledge of RTOS such as FreeRTOS, Zephyr, VxWorks, or QNX.
- Experience developing device drivers.
- Familiarity with wireless technologies such as Bluetooth, Wi-Fi, Zigbee, LoRa, or LTE.
- Knowledge of scripting languages such as Python for automation and testing.
- Understanding of secure boot, OTA updates, and cybersecurity concepts for embedded devices.
Technical Skills - Programming: C, C++, Python
- RTOS: FreeRTOS, Zephyr, ThreadX
- Embedded Linux: Kernel, Device Tree, Driver Development
- Communication Protocols: UART, SPI, I2C, CAN, Modbus, Ethernet
- Tools: Git, JTAG, GDB, Oscilloscope, Logic Analyzer
- IDEs: Keil, IAR, STM32CubeIDE, VS Code
Soft Skills - Strong analytical and problem-solving abilities.
- Effective communication and teamwork skills.
- Ability to work independently and manage multiple priorities.
- Attention to detail and commitment to quality.
Experience - 2-5 years of embedded software/firmware development experience (adjust as needed).
Nice-to-Have Domains - Automotive (AUTOSAR, CAN, LIN)
- IoT Devices
- Consumer Electronics
- Industrial Automation
- Medical Devices
- Robotics
Location: [City/Remote/Hybrid]
Employment Type: Full-time