Embedded Software Engineer
- Source: Naukri
- Pump Academy
- On-site
- Bengaluru
- Full-Time
- Mid level
Job Description
Job Summary
The Embedded Systems Engineer will design, develop, test, and maintain firmware and embedded software for IoT gateway and edge computing products. This role demands a strong foundation in Linux-based embedded development, real-time communication protocols, hardware interfacing, and cloud connectivity, with a preference for candidates familiar with industrial condition monitoring or predictive maintenance domains
Key Responsibilities
Embedded Software Development
- Design and develop embedded Linux applications in C, C++, and Python for Raspberry Pi (RPi/RSP) and Toradex Gateway/Edge platforms.
- Write optimized, production-grade code adhering to embedded software best practices and coding standards.
- Implement and maintain device drivers, kernel modules, and BSP customizations for target hardware.
- Develop and integrate firmware for real-time and Linux-based microcontroller/microprocessor systems.
IoT Gateway & Edge Computing
- Build and deploy IoT gateway solutions for data acquisition, edge processing, and cloud transmission.
- Develop MQTT-based telemetry pipelines for sensor data from industrial field devices.
- Implement Modbus RTU/TCP, CAN, RS-485, and other industrial protocol stacks for device communication.
- Configure and manage network interfaces including Ethernet, TCP/IP, Wi-Fi, and cellular for remote deployments.
Hardware & Protocol Integration
- Interface with peripheral hardware via SPI, I2C, UART, GPIO, and USB buses.
- Collaborate with hardware engineers to validate PCB designs, schematics, and bring-up new boards.
- Debug and resolve hardware-software integration issues using oscilloscopes, logic analyzers, and JTAG/SWD debuggers.
- Develop hardware abstraction layers (HAL) to decouple application logic from hardware specifics.
Linux & System Configuration
- Configure and maintain embedded Linux systems including kernel, device tree, bootloader (U-Boot), and root filesystem.
- Write and maintain Linux shell scripts for system configuration, automation, diagnostics, and deployment tasks.
- Manage system services, network configuration, and security hardening on embedded Linux targets.
Testing, Debugging & Quality
- Design and execute unit tests, integration tests, and system-level validation for embedded software.
- Identify, reproduce, and resolve software defects in embedded Linux and bare-metal environments.
- Maintain comprehensive documentation including design specifications, test reports, and release notes.
- Participate in code reviews and contribute to team coding standards and quality processes.
Collaboration & Delivery
- Work closely with mechanical, electrical, and software teams in an Agile/Scrum development environment.
- Manage source code and releases using Git version control and branching strategies.
- Provide technical inputs for product roadmap discussions and customer-facing deployments.
- Support field installation, commissioning, and remote troubleshooting of deployed devices when required.
Required Technical Skills
Programming Languages
- Proficient in C and C++ for embedded and systems-level development.
- Working knowledge of Python for scripting, automation, and rapid prototyping.
- Strong understanding of memory management, data structures, and real-time constraints in embedded contexts.
Embedded Platforms
- Proven hands-on experience with Raspberry Pi (RPi 3/4/5, RPi CM3/CM4) for product development.
- Experience with Toradex System-on-Module (SoM) platforms including Colibri, Apalis, and Verdin families, and associated carrier boards for industrial gateway/edge applications.
Linux & Shell Scripting
- Strong working knowledge of embedded Linux OS: filesystem layout, kernel interfaces, init systems (systemd), networking.
- Proficiency in Bash/Shell scripting for automation, deployment, monitoring, and diagnostics.
- Experience with Linux device driver development and device tree configuration.
- Comfortable with Linux CLI tools: gdb, strace, lsof, netstat, ifconfig/ip, systemctl, journalctl, etc.
Communication Protocols
- Industrial Protocols: Modbus RTU & TCP, RS-485/RS-232.
- IoT Protocols: MQTT (Mosquitto, Paho), HTTP/HTTPS REST APIs.
- Hardware Interfaces: SPI, I2C, UART, GPIO, USB.
- Networking: Ethernet, TCP/IP stack configuration, Wi-Fi, static/dynamic IP management.
IoT & Cloud Connectivity
- Experience developing IoT gateway applications for industrial data acquisit…
Skills
- aws-iot
- cplusplus
- Python
- raspberry-pi
- mqtt
- mosquitto
- google-cloud-iot
- amazon-iot
- amazon-web-services
- aws-iot-core
- microsoft-azure
- microsoft-azure-iot
- azure-iot-hub
- microsoft-azure-iot-hub
- google-cloud-platform
- JSON
- Protobuf
- messagepack
- cmake
- Docker
- yocto-project
- buildroot
- balena
- processing-js
- rms
- Jenkins
- Github
- github-actions
- gitlab
- gitlab-ci
- zephyr
- Grafana
- NodeJS
- nodered
- influxdb
