Atomic Machines
Embedded Software Engineer
Atomic Machines, Berkeley, CA
Berkeley, CaliforniaPlatform /Full-time /On-siteAtomic Machines is ushering in a new era in micromanufacturing with its Matter Compiler (MC) technology. The MC enables new classes of micromachines to be designed and built by offering manufacturing processes and a materials library that is inaccessible to semiconductor manufacturing methods. The MC promises to unlock MEMS manufacturing both for the many device classes that never could be made by semiconductor methods but also to open up entirely new classes. Furthermore, the MC is fully digital in the way 3D printing is digital, but where 3D printing produces parts of a single material using a single process, the MC is a multi-process, multi-material technology: bits and raw materials go in and complete, functional micromachines come out. The Atomic Machines team has also created an exciting first device – one that was only made possible by the existence of the Matter Compiler – that we will be unveiling to the world soon. Our offices are in Berkeley and Santa Clara, California. About The Role:We are seeking a seasoned embedded software engineer to own the firmware that will control every aspect of the multiple robotic machines, or “nodes” within our fully automated fabrication platform. Our complex systems require real-time performance, particularly for our precision motion trajectories. This role will simulate, develop, test, and debug embedded software for our systems and will need a firm grasp of the physics behind our mechanical engineering work to do so. You will be working on micrometer resolution laser cutters, precision optical alignment systems, fast robotic material handlers and many other manufacturing processes to make them all play together in a 24/7 lights out factory.What You’ll Do:Architect and program Atomic Machines' Microcontroller suite.Gather requirements to develop embedded firmware for industrial control and real-time applications.Read and interpret data sheets and schematics to support electrical engineering. Advise both Mechanical and Electrical engineers on system optimization.Develop rigorous test plans, including regression tests, across multiple robotic machining nodes.Design closed-loop feedback around all processes to allow unattended safe and reliable operation. Define the testing requirements and specifications for the hardware your drivers will support.Communicate cross-functionally with other engineering disciplines to gather requirements and deliver feedback.Rigorously document our embedded development efforts.What You’ll Need:5-10 years of industry experience, with at least 5 years of architectural experience.Proficiency in C / C++.Familiarity with FPGAs, including soft processors. Bringing up heterogeneous multiprocessing systems under Linux, RTOS and bare metal.A proven track record of defining firmware architecture optimally against complex precision system requirements.Be willing and able to dig deep into microcontrollers and the hardware of the boards you are working on.Strong written and verbal communication skills and the ability to work independently and or cross-functionally.Experience with RTOS development.At least a Bachelor’s degree in Computer Engineering, Computer Science, Electrical Engineering, Mechanical Engineering, or Physics.Bonus Points For:Experience with CNC or robotic embedded control systems.An ability to read and understand Verilog or VHDL code.A thorough understanding of and experience with motion control (FOC of BLDC motors).$160,000 - $240,000 a yearThe compensation for this position includes equity and benefits.