Firmware for VitalMed's embedded and automation products: from low-level drivers to real-time applications.
Location : Pollachi, Tamil Nadu
Language : Good English (written and spoken)
Position Overview
We are looking for an experienced Embedded Firmware Engineer (3-8 years) who can develop robust, scalable, and efficient firmware for microcontroller- and microprocessor-based systems. The ideal candidate should have strong expertise in embedded C/C++, communication protocols (CAN, SPI, I2C, UART, SDIO), board bring-up, debugging, and real-time systems. Experience with Embedded Linux development is a strong plus.
Key Responsibilities
1. Firmware Development
Develop, optimize, and maintain embedded firmware in C/C++.
Implement low-level drivers, middleware, and application logic for MCUs and MPUs.
Work on boot sequences, peripheral initialization, interrupt handling, and real-time tasks.
2. Communication Protocols
Develop, test, and troubleshoot communication interfaces including CAN / CAN-FD, SPI, I2C, UART, and SDIO.
Integrate external sensors, memories, displays, and modules using these protocols.
Work with higher-level communication stacks if required.
3. MCU & MPU Experience
Perform board bring-up, including bootloader programming, memory configurations, and peripheral drivers.
Work with microcontroller families such as STM32, NXP, TI, Renesas, Microchip, ESP32, Nordic, etc.
Work with microprocessors (ARM Cortex-A series, i.MX, AM335x, etc.) for advanced applications.
4. Real-Time Systems & Optimization
Implement RTOS-based designs (FreeRTOS, Zephyr, ThreadX, etc.).
Optimize CPU usage, memory footprint, timing, and power consumption.
Ensure reliable real-time performance and deterministic behavior.
5. Debugging & Testing
Debug complex firmware/hardware issues using JTAG/SWD, logic analyzers, oscilloscopes, and serial tools.
Write unit tests, integration tests, and support validation of embedded features.
Analyze logs, traces, and performance metrics.
6. Embedded Linux (Preferred but Not Mandatory)
Experience with Linux kernel drivers, device tree configuration, or Yocto/Buildroot systems is a plus.
Work with middleware, services, and hardware abstraction layers in Linux-based systems.
7. Collaboration & Documentation
Collaborate closely with hardware, QA, and product teams for system-level integration.
Participate in code reviews and follow best coding practices.
Prepare documentation--API docs, design summaries, test reports, and release notes.
Required Qualifications & Skills
Bachelor's/Master's degree in Electronics, Electrical, Computer Engineering, or related field.
3-8 years of hands-on experience in embedded firmware development.
Strong knowledge of Embedded C/C++, microcontrollers, and real-time concepts.
Experience with CAN, SPI, I2C, UART, SDIO protocols.
Experience with at least one major microcontroller family (STM32, NXP, TI, ESP32, Microchip, etc.).
Strong debugging skills and hands-on experience with lab equipment.
Understanding of firmware architecture, memory management, and low-level hardware interfaces.
Preferred Skills
Embedded Linux driver development, device tree, U-Boot, Yocto/Buildroot.
Experience with FreeRTOS or other real-time operating systems.
Experience with OTA updates, secure boot, or communication stacks (MQTT, BLE, TCP/IP).
Familiarity with version control (Git) and CI/CD workflows.
Soft Skills
Strong analytical and problem-solving skills.
Good communication and documentation ability.
Ability to work independently and mentor junior engineers.
Ownership mindset and strong attention to detail
Job Types: Full-time, Permanent
Pay: ?400,000.00 - ?600,000.00 per year
Benefits:
Paid sick time
Provident Fund
Work Location: In person
Beware of fraud agents! do not pay money to get a job
MNCJobsIndia.com will not be responsible for any payment made to a third-party. All Terms of Use are applicable.