Senior Firmware Engineer

Structo is looking for an experienced Firmware Engineer to help drive the development of our next-generation 3D printing products and technologies. You will be involved in the full product development of our printers. Close collaboration with our cross-functional R&D team will allow you to work effectively with rapid feedback from mechanical engineers, product designers, test engineers, chemical formulation experts, and manufacturing technicians.  Within our engineering team you will help architect, design, test and debug the firmware for embedded control systems, motion control power electronics and safety systems.



  • Design, develop, debug and support embedded firmware for current and future 3D printers.
  • Define and implement high performance software by leveraging a strong understanding of embedded hardware design.
  • Hands on hardware troubleshooting and test setup development.
  • Develop automated production test software for mass production.
  • Develop remote firmware upgrading system for ARM microcontroller.
  • Support various sensors integration and diagnostic system.
  • Work closely with hardware engineering on product design and development.
  • Work closely with System Test engineering on system integration testing and resolve defects.


  • Bachelor’s degree in Electrical Engineering, Computer Science, Mechatronics or demonstrated skill/experience in the relevant field.
  • At least 5 to 7 years of experience as a firmware engineer in a development environment. Higher experienced candidate will be considered for senior position.
  • Eager and willing to learn new things and stay up to date with the latest technologies.
  • Have strong interpersonal and communication skills, able to interact with non-technical members of the business when necessary.
  • A Self-motivated individual – he/she must be able to independently carry out development work according to specification provided.
  • Strong C/C++ Programming experience. 
  • Experience working with ARM microcontrollers is highly desirable. 
  • Experience working with Sensors and ADC is highly desirable. 
  • Experience writing device drivers for serial interfaces such as UART, SPI, I2C.
  • Experience writing device drivers for servo/stepper motors and RFID readers.
  • Experience with scripting languages such as Python. 
  • Familiar with Git, JIRA, confluence.

Bonus points (but not required):

  • Experience working in RTOS is a huge plus.
  • Experience working in Embedded Linux is a plus.
  • Experience working with TCP/IP, CAN, CANOPEN is a plus.
  • Agile/Scrum background is a plus.

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