Embedded Firmware Engineer

San Francisco, CA /
Engineering – Embedded Software /
Full-Time
Based in San Francisco with offices in Stuttgart, Germany, Shaper was founded in 2012 with a mission of developing a revolutionary line of computer-augmented power tools, beginning first with a handheld CNC router called Origin. Today, Shaper supports thousands of woodworkers and craftspeople around the globe with the simple approach of developing tools to meet users' needs, rather than expecting users to conform to the tools.

We're looking for a creative and capable Firmware engineer to join Shaper's Embedded Systems team.

In this role, your work will focus primarily on the implementation of the real-time elements of our software stack. You'll also work closely with our electrical engineering team in the areas where there is tight coupling to embedded firmware. The products and projects that you will influence and build will include current and future consumer products, our factory automation systems, and more. You should have experience developing highly-maintainable firmware for various microarchitectures, bringing products from prototypes to production, and generating excellent documentation. You should also have experience reading integrated circuit reference manuals/datasheets, and performing design reviews on electrical schematics.

The Job

    • Write algorithms, unit tests, communication stacks, peripheral drivers and more in C and C++.
    • Implement motion control and real-time sensor acquisition systems.
    • Design and implement APIs between real-time Cortex M cores and higher level control systems running on a Cortex A core.
    • Get your hands dirty in the physical world - test and characterize our hardware in the woodshop to understand how your software and hardware design decisions will manifest in our finished products.
    • Work with Shaper hardware and software engineers to implement complex systems that span from bare metal assembly code and custom hardware up to cloud infrastructure.
    • Contribute to circuit board and system architecture planning.
    • Write excellent documentation, including annotated fabrication/assembly drawings, manufacturing instructions, test directions, architecture block diagrams, etc.
    • Use Git-Based version control for hardware and software version control and collaboration.

You

    • You can comfortably use a Linux-based operating system and you don't shy away from complex toolchains.
    • You can operate as comfortably building new software from scratch, as you can when working in an existing, complex embedded codebase.
    • You have excellent communication skills (verbal and written in English).
    • You are able to work well with others, but can also plan and execute high-level projects independently when needed.
    • You’re excited to explore an entirely new field and develop products that real users will depend on!
    • You have a strong basis of understanding in the first-principles of electromagnetism, and its implications in circuit design and motor characterization.
    • You are comfortable communicating directly with component vendors, and contract manufacturers.
    • You are able to travel, alone or with Shaper co-workers, to international manufacturing sites and domestic testing locations.
    • You have experience building hardware and software based around 32-bit MCUs and Arm Cortex-A SoCs.
    • You have worked extensively with a wide range of sensors and electromechanical circuit elements.
    • You are proficient in implementing, debugging, and spec'ing all modern communication buses including but not limited to: MIPI CSI/DSI, I2C, SPI, USART, Superspeed USB, CAN, RS-485, etc.
    • You are proficient at using all basic electrical lab equipment including high speed oscilloscopes, programmable loads, AC/DC supplies, multimeters, spectrum analyzers, data loggers, JTAG debuggers etc.
    • You can develop linux or baremetal hardware drivers with the aid of a datasheet and reference documentation from the component manufacturer.

Bonus Points

    • You have experience designing circuit boards in Altium Designer (or a similarly capable ECAD package).
    • You have familiarity with FCC/IC/CISPR EMC and RF regulations.
    • You have worked on the certifications for a hardware product.
    • You have experience interfacing computer vision hardware into your designs, and have some experience implementing computer vision algorithms.
    • You have spent time working with engineers on-site at a contract manufacturing site.
    • You understand basic control theory and have some experiencing implementing it for open and closed loop systems.
    • You like building things with your hands.