Assist in the development and debugging of embedded firmware using C/C++ for microcontroller-based systems.
Collaborate with senior engineers to design, implement, and test embedded software modules.
Work with hardware prototypes, perform board-level testing, and validate functionality using oscilloscopes, logic analyzers, and multimeters.
Gain experience with real-time operating systems (RTOS) such as FreeRTOS, Zephyr, or RT-Thread.
Write clean, modular, and well-documented code following industry best practices and coding standards.
Participate in version control workflows using Git and CI/CD pipelines for embedded projects.
Support integration of sensors, communication protocols (UART, SPI, I2C, CAN, Bluetooth, Wi-Fi), and power management modules.
Contribute to technical documentation, test plans, and bug tracking systems.
Attend regular design reviews, sprint planning, and team stand-ups to foster collaboration and continuous learning.
Requirements
Bachelor's degree in Electronics & Communication Engineering, Electrical Engineering, Computer Science, or a related field (final year students are eligible).
Strong understanding of digital electronics, microcontrollers (ARM Cortex-M, AVR, PIC), and embedded system architecture.
Proficiency in C and C++ programming with hands-on experience in embedded development environments (e.g., Keil, IAR, GCC).
Familiarity with embedded development tools such as STM32CubeMX, PlatformIO, or Arduino IDE.
Basic knowledge of communication protocols (UART, SPI, I2C, CAN) and sensor integration.
Exposure to RTOS concepts and real-time system design is a plus.
Ability to read and interpret circuit diagrams and schematics.
Strong problem-solving skills, attention to detail, and a proactive learning mindset.
Willingness to work in a collaborative, fast-paced environment and adapt to evolving project needs.