Firmware Engineer

Structo is looking for a Firmware Engineer to design, develop and maintain Structo’s embedded firmware for 3D printers.  And help to integrate the printer with Structo’s Cloud application



  • Design, develop, debug and support embedded firmware for current and future 3D printers.
  • Evaluate and test firmware features to validate against requirements.
  • Hands on hardware troubleshooting and test setup development.
  • Collaborate with the rest of the design team to ensure development timelines are met.
  • Actively participate in sprint planning, daily standups and retrospectives.
  • Create firmware documentation and update existing documentation.
  • Takes instruction from Lead and Senior Firmware Engineer for modular developments.


  • Bachelors’s degree in Electrical Engineering, Computer Science or any other related engineering.
  • At least 2 to 3 years of programming experience as a firmware engineer in a development environment.
  • Experience with the C/C++/Rust including the tools used to edit, compile/assemble and debug code in an embedded environment.
  • Experience working in Unix/Linux.
  • Experience working with microcontrollers such as STM32.
  • Experience with real-time signal processing and hardware.
  • Experience working with various communication and networking protocols.
  • Experience with multithreading.
  • Experience with scripting languages such as Python.
  • Experience writing device drivers for serial interfaces such as UART, SPI, I2C.
  • Experience writing device drivers for servo/stepper motors and RFID readers.
  • Proficient with version control tools such as GitHub.
  • Eager and willing to learn new things, stay up to date with the latest technologies, and expand your base skill set to propose new approaches to your work.
  • Able to work independently as well as in a team.

Don't see the position you're looking for?