"In a world of apps and services, we have a sweet spot for the interplay of hardware and software. While we shipped over 50,000 devices around the world already, we are still learning about how to make hardware products every day. We are looking forward to having a firmware engineer who is interested in learning with us."
Giovanni Donelli, Co-founder & Head of Product
We are looking for a Firmware Engineer located in the continental US who is passionate about coding for embedded devices. Our software stack is a combination of C and Rust. You will be responsible for developing firmware and software for our existing hardware products and experimenting with new products in the future.
Your first mission will be to help our team ship
Luna for Windows, in this role you will:
- Develop firmware in C for our Luna Display hardware with HDMI and USB-C connectors
- Develop userspace libraries in Rust (for Windows) that talk to our Luna hardware
- Troubleshoot and investigate ongoing issues
- Collaborate on a daily basis with our engineering team via Slack & Zoom
"We are a small team (less than 15), you will wear multiple hats and see what it takes to develop consumer electronics."
Qualifications:
- Bachelor's degree in computer science, electrical engineering, or equivalent professional experience.
- 2+ years of experience writing embedded firmware in C, C++ or a similar systems-level language (kernels, device drivers, hypervisors, etc.)
- 2+ years developing for microcontrollers (preferably in the ARM Cortex family or a similar microarchitecture)
- Comfortable with Microsoft Windows and embedded development tools.
- We don't expect you to know Rust, however, we expect you will be willing to learn it. Our software stack currently uses Rust.
The hardware hacker mindset:
- Don't mind getting your hands dirty
- Tenacious problem-solving
- Fast-moving, always learning
- Okay with wearing different hats!
Nice to have:
- Prior remote work experience
- Experience with display technologies like DisplayPort, HDMI, EDID
- Experience through an entire PCBA design cycle, including: component selection, schematic capture, simulation, layout, verification (bring-up, debug, testing, troubleshooting), and design/PCBA documentation
- Experience with standard electrical engineering CAD tools for schematic capture, simulation, and layout (Altium, or equivalent design tools)
- Experience with Apple systems.
- Experience with quick hardware prototyping (Arduino, Raspberry PI, etc...)