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 productive 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
Positive 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.
Job Details:
Work Location: Work from office
Job Type: Permanent, Full time
Experience: 2-5 yrs
Shift: Monday to Friday
Working Hours: 9 am to 6 pm
Pay : 6 -12 Lacs Per annum
Benefits: PF, Health Insurance
About 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 Address:
Ground Floor, Building 1, Gala 2, Sarthak Square, Industrial Park Sativali Road, Vasai Virar , Palghar, Maharashtra, India, 401208
How to Apply: Please send your resume to
[email protected]
📌 Embedded Software Engineer (Mumbai)
🏢 Whirlybird Electronics
📍 Mumbai