Embedded Systems & Machine Software Engineer

Summary

This hands-on role involves developing firmware and software for embedded systems, including Raspberry Pi and microcontrollers, while integrating sensors and motors into physical machines. The engineer will work closely with electrical teams to troubleshoot hardware and software issues directly on the factory floor.

We are looking for an Embedded Systems & Machine Software Engineer to join our engineering team.

This is a hands-on engineering role. You will be responsible for the software and embedded computing side of the machines we build, working closely with our PLC/electrical and mechanical engineers.

We are not looking for someone who only writes software. You should be comfortable working directly with physical machines, sensors, motors, controllers and electrical hardware, and be able to troubleshoot problems across both hardware and software.

What You Will Be Doing

  • Develop and maintain software for Raspberry Pi, MCU and other embedded computing platforms
  • Develop firmware for microcontrollers such as STM32, ESP32 or similar platforms
  • Integrate sensors, motors, actuators, cameras and other machine components
  • Handle communication between devices using protocols such as UART, RS232/RS485, Modbus, CAN, TCP/IP and GPIO
  • Develop machine-side applications running on Linux / Raspberry Pi
  • Interface embedded systems and software with our PLC and electrical control systems
  • Work closely with our PLC/electrical engineer to integrate the complete machine
  • Troubleshoot communication, hardware, firmware and software issues on actual machines
  • Develop diagnostic tools and logging systems to make machine troubleshooting easier
  • Support machine testing, commissioning and debugging
  • Improve the reliability and architecture of the embedded/software systems used across our machines
  • Participate in new machine development from prototype to production

What We Are Looking For

  • Diploma or Degree in Computer Engineering, Electrical/Electronic Engineering, Mechatronics, Computer Science or related field
  • Strong experience with embedded systems or hardware-software integration
  • Comfortable programming in C/C++ and Python
  • Experience working with Raspberry Pi or other Linux-based embedded computers
  • Experience with microcontrollers such as STM32, ESP32, Arduino or similar
  • Able to read basic electrical schematics and understand sensors, relays, motors and IO signals
  • Familiar with common industrial or embedded communication protocols
  • Comfortable using tools such as multimeter, serial debugging tools and basic electronics equipment
  • Able to independently debug problems instead of waiting for someone to tell you exactly what to check
  • Comfortable working directly on machines in the workshop

Good to Have

  • Experience with PLC communication
  • Modbus TCP / Modbus RTU
  • CAN Bus
  • MQTT
  • OPC-UA
  • Industrial automation or robotics
  • Computer vision / cameras
  • Jetson or other edge AI hardware
  • PCB design or electronics development
  • Git and software version control
  • Networking and Linux system administration

What This Role Is Not

This is not a pure web/software development role.

A significant part of your job will involve standing beside an actual machine, connecting hardware, testing sensors, checking signals, looking at logs and figuring out why something is not working.

You must enjoy building and debugging real physical systems.

See also

Embedded jobs by country — openings, pay and top skills →

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.

A new version of freehire is available