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 acquisition and remote monitoring.
- Familiarity with cloud IoT platforms such as AWS IoT Core, Azure IoT Hub, or Google Cloud IoT.
- Knowledge of data serialization formats: JSON, Protobuf, or MessagePack.
Development Tools & Practices
- Proficient with Git version control: branching strategies, pull requests, merge conflict resolution.
- Experience with cross‑compilation toolchains and embedded build systems (Make, CMake).
- Familiarity with the full Software Development Life Cycle (SDLC) in embedded product development.
- Ability to interpret schematics, datasheets, and hardware reference manuals.
Preferred Skills
- Containerization: Experience with Docker for embedded Linux application packaging and deployment.
- Build Systems: Hands‑on experience with Yocto Project or Buildroot for custom Linux image generation.
- OTA Updates: Familiarity with over‑the‑air firmware/software update mechanisms (SWUpdate, Mender, Balena).
- Industrial Applications: Understanding of industrial automation systems, vibration monitoring, condition monitoring, or predictive maintenance (CBM/PdM) use cases.
- Signal Processing: Basic knowledge of sensor signal processing, FFT, RMS, vibration spectrum analysis.
- Security: Awareness of embedded security best practices: secure boot, TLS/mTLS, certificate management.
- CI/CD: Experience with CI/CD pipelines (Jenkins, GitHub Actions, GitLab CI) for embedded builds and testing.
- RTOS: Exposure to FreeRTOS or Zephyr RTOS for bare‑metal or hybrid development.
- Visualization: Familiarity with Grafana, Node-RED, or InfluxDB for IoT data dashboards.
ISO Knowledge Requirements
- Basic knowledge of ISO 9001 (Quality Management System) and adherence to quality processes and documentation practices.
- Awareness of ISO 14001 (Environmental Management System) and environmentally responsible engineering practices.
- Basic understanding of ISO 27001 (Information Security Management System) and data security best practices.
- Ability to follow organizational policies, procedures, and compliance requirements related to quality, environmental, and information security standards.
Educational Qualification
B.E. / B.Tech in Electronics & Communication Engineering, Electrical Engineering, Computer Science, or a related discipline
Experience Requirements
- 1-3 years of professional experience in embedded systems development or a directly related field.