Job Title: Junior Embedded Systems Engineer
Job Summary:
We are looking for a Junior Embedded Systems Engineer to join our team and contribute to the design, development, and testing of embedded software and hardware systems. The ideal candidate should have experience in microcontroller programming, real-time embedded development, and hardware-software integration. This role involves working with RTOS, firmware development, communication protocols, and debugging tools to build efficient and reliable embedded solutions.
Key Responsibilities:
- Develop, test, and debug firmware and embedded software for microcontrollers and embedded processors
- Work with real-time operating systems (RTOS) such as FreeRTOS, Zephyr, or Embedded Linux
- Implement and optimize low-level drivers and peripheral interfaces (UART, SPI, I2C, CAN, GPIO, PWM, ADC, DAC)
- Collaborate with hardware engineers to design, integrate, and test embedded solutions
- Conduct hardware-software debugging and troubleshooting using oscilloscopes, logic analyzers, and debuggers
- Optimize memory management, power consumption, and real-time execution in embedded applications
- Design and implement bootloaders, communication stacks, and low-level firmware updates
- Develop IoT and wireless communication applications using BLE, Wi-Fi, LoRa, Zigbee, or LTE
- Ensure code quality, maintainability, and adherence to industry standards (MISRA C, ISO 26262, IEC 61508)
- Document technical specifications, software architecture, and testing procedures
Skills and Knowledge Required:
- Proficiency in C, C++, and Assembly language for embedded programming
- Experience with microcontrollers (ARM Cortex-M, STM32, ESP32, PIC, AVR, NXP, TI) and embedded processors
- Strong understanding of embedded communication protocols (UART, SPI, I2C, CAN, RS-232, RS-485, Modbus)
- Experience with RTOS concepts (task scheduling, inter-task communication, interrupts, multi-threading)
- Familiarity with low-power embedded systems and battery-operated devices
- Knowledge of firmware debugging and hardware interfacing using JTAG, SWD, and logic analyzers
- Understanding of real-time constraints, memory optimization, and low-level peripheral drivers
- Exposure to wireless technologies (Bluetooth, Wi-Fi, LoRa, Zigbee, NFC, RFID)
- Basic experience with version control systems (Git, GitHub, GitLab, Bitbucket)
Educational Qualifications:
- Bachelor’s degree in Electronics Engineering, Electrical Engineering, Computer Science, or a related field
- Relevant certifications in Embedded Systems, IoT, RTOS, or firmware development are a plus
Experience:
- 1-2 years of hands-on experience in embedded systems development
- Experience working on real-world projects, embedded firmware, or IoT solutions
Key Focus Areas:
- Embedded Software and Firmware Development
- Microcontroller Programming & Peripheral Driver Development
- Real-Time Systems & RTOS Implementation
- Hardware-Software Integration and Debugging
- Low-Power and Wireless Communication Applications
Tools and Equipment:
- Programming Languages: C, C++, Assembly
- Embedded Platforms: ARM Cortex (STM32, NXP, TI), PIC, AVR, ESP32, Raspberry Pi, Arduino
- Debugging Tools: JTAG, SWD, Logic Analyzers, Oscilloscopes, Serial Debugging
- Embedded IDEs & Toolchains: Keil, IAR Embedded Workbench, MPLAB, STM32CubeIDE, PlatformIO
- Version Control: Git, GitHub, GitLab, Bitbucket
- Simulation & Testing Tools: Proteus, MATLAB/Simulink, LTspice
Other Requirements:
- Strong problem-solving skills and a keen interest in embedded systems development
- Ability to work independently and within cross-functional teams
- Passion for real-time systems, IoT, robotics, and firmware optimization
- Willingness to learn and explore emerging embedded technologies