Embedded Software Developer
Job Summary
We are looking for an Embedded Software Developer responsible for designing, developing, testing, debugging, and maintaining embedded software and firmware for microcontroller-based products.
The candidate will work closely with hardware and software teams to develop reliable and efficient embedded applications, device drivers, communication protocols, and firmware for various embedded systems.
Key Responsibilities
Design, develop, test, and maintain embedded software/firmware using C/C++.
Develop firmware for Bare-Metal microcontroller-based systems.
Understand software requirements and translate them into robust and maintainable firmware.
Develop and integrate device drivers for microcontroller peripherals and external devices.
Work with peripherals and interfaces such as:
GPIO
ADC/DAC
Timers and PWM
UART/USART
SPI
I2C
CAN
RS-485 / Modbus
Ethernet
Develop software for interfacing with sensors, actuators, memory devices, communication modules, and other peripherals.
Implement interrupt-driven and DMA-based firmware where required.
Develop and integrate communication protocols between embedded devices and external systems.
Develop firmware features such as bootloaders, firmware upgrades/FOTA, watchdogs, fault handling, and system recovery mechanisms where required.
Debug and troubleshoot embedded software using JTAG/SWD debuggers, oscilloscopes, logic analyzers, serial tools, and other debugging equipment.
Identify software defects, perform root-cause analysis, and implement corrective solutions.
Optimize firmware for execution speed, memory usage, CPU utilization, power consumption, and reliability.
Perform unit testing, integration testing, and system-level testing of embedded software.
Participate in code reviews, design reviews, software documentation, and technical discussions.
Maintain source code using Git or other version-control systems.
Collaborate with hardware engineers during PCB bring-up and hardware/software integration.
Support product validation, field testing, and resolution of firmware-related issues.
Required Qualifications
Bachelor's degree in Electronics, Electrical Engineering, Computer Engineering, Instrumentation, Embedded Systems,
or a related field. Relevant practical experience may also be considered.
Proven experience in embedded software/firmware development.
Strong programming skills in Embedded C.
Good knowledge of C++ is an advantage.
Strong understanding of microcontroller architecture and Bare-Metal programming.
Good understanding of:
Interrupts
Timers
DMA
GPIO
ADC
PWM
Memory management
Peripheral programming
Hands-on experience with communication protocols such as UART, SPI, I2C, CAN, RS-485, and Modbus.
Experience with debugging and troubleshooting embedded software.
Good understanding of software development practices including version control, debugging, testing, code reviews, and documentation.
Strong analytical and problem-solving skills.
Ability to work independently as well as in a cross-functional team.
Good written and verbal communication skills.
Preferred Skills
Experience with any of the following will be an added advantage:
STM32 or similar ARM Cortex-M microcontrollers.
STM32 HAL, LL, or register-level programming.
Sensor interfacing and data acquisition systems.
SD card, SPI Flash, EEPROM, or other non-volatile memory.
BLE / Bluetooth.
GSM/4G, Wi-Fi, GNSS, or Ethernet.
Low-power and battery-operated embedded systems.
Bootloader development and FOTA/OTA firmware updates.
Modbus RTU/TCP and industrial communication protocols.
CAN communication.
Embedded networking and TCP/IP.
Git and Git-based development workflows.
Experience with embedded products from prototype development through production and field deployment.
Core Technical Skills
Must Have:
Embedded C | Microcontrollers | Bare-Metal Programming | GPIO | Interrupts | Timers | UART | SPI | I2C | Debugging
Good to Have:
C++ | STM32 | DMA | CAN | RS-485 | Modbus | BLE | GSM/4G | Ethernet | Bootloader | FOTA | Git
Experience
2–5 years of experience in embedded software/firmware development.
Candidates with strong hands-on embedded programming skills and relevant project experience may also be considered irrespective of their exact years of experience.
Requirements:- Bachelor degree in Electrical Engineering is preferred but not essential Proven experience in embedded systems development, including designing, implementing, and debugging embedded software. Proficiency in programming language such as C and C++ for embedded applications. Solid understanding of microcontroller/microprocessor architectures and embedded design principles. Strong problem-solving skills and the ability to work effectively in a team environment. Excellent written and verbal communication skills.
Job Details:
Work Location: Work from office
Job Type: Permanent, Full-time Experienced: 2-5 yrs
Shift: Monday to Friday
Working Hours: 9 am – 6 pm
Pay: 6 -12 Lacs Per annum
About Company:
Whirlybird Electronics an extensive line of automated systems and was range of sensors for weather and meteorological, for the accurate and reliable monitoring, recording and acquisition of a full range of parameters for the commercial and industrial markets. From our start in2006, we have developed innovative products for grid, renewable energy facilities and defence agencies. Whirlybird experts work with clients to develop technology driven, customized solutions that make organizational processes faster and easier to perform. Across all applications the common element is our commitment to applying the very latest technologies to each challenge.
Company Info: office no. A 920, A 922, 9th Floor, NX-ONE, Greater Noida W Road, Tech zone 4, Greater Noida, Uttar Pradesh 201310
How to Apply: Please send your resume to
[email protected]
Job Types: Full time, Permanent
Pay: ₹600,000.00 - ₹1,200,000.00 per year
Benefits:
- Health insurance
- Provident Fund
Ability to commute/relocate:
- Vasai, Maharashtra: Reliably commute or planning to relocate before starting work (Required)
Education:
- Bachelor's (Required)
Experience:
- Embedded Software : 2 years (Required)
Work Location: In person
📌 Embedded Software Developer (India)
🏢 Whirlybird Electronics
📍 India