What are the responsibilities and job description for the Yocto Firmware Engineer position at Grove Safety?
About the job
This is a full-time, on-site role based in San Jose, CA. Some travel to customer sites and events is expected.
About Grove Safety
Grove Safety is building the nervous system for buildings. Our device, a smart 5-minute drop-in replacement for any light switch, senses, processes on-device, and triggers real-time safety actions including gunshot detection and weapons identification. We're an early-stage, venture-backed startup with a working product and a team moving at startup speed. Our mission: protect the places where people live, learn, and work.
The Opportunity
We're looking for an Embedded Firmware Engineer to own our device firmware end to end. This is a deep technical role with real ownership. You'll be responsible for the full software stack running on our custom IoT hardware: low-level drivers, Linux BSP, on-device AI inference pipelines, camera and audio subsystems, OTA infrastructure, and a companion microcontroller.
As an Embedded Firmware Engineer, You Will
- Own and ship production firmware on a custom Linux-based IoT device running Debian and Yocto
- Write and maintain low-level drivers for camera (V4L2/ISP), audio (ALSA/codec), touch, and peripheral interfaces
- Build, configure, and maintain Linux kernels and BSPs for NXP ARM processors
- Maintain and extend Python services: MQTT client (AWS IoT Core), on-device AI inference, fleet provisioning
- Develop and optimize on-device AI models for audio classification and computer vision running at the edge
- Integrate and optimize ONNX and other ML runtime frameworks for low-latency embedded inference
- Build and maintain GStreamer pipelines for hardware-accelerated video and audio streaming
- Develop and maintain our OTA update system: content-addressed storage, versioned manifests, staged rollouts
- Write and maintain ESP32 firmware in C using ESP-IDF for LED control and UART interfaces
- Manage system-level configuration: systemd services, NetworkManager, iptables, ALSA
- Use AI coding tools actively as part of your daily workflow to ship faster
- Travel to customer sites and events as needed
- Collaborate directly with the founder and small engineering team
Qualifications
- 3 years of embedded Linux firmware engineering experience
- Low-level driver development: V4L2 camera/ISP, ALSA audio codecs, SPI/I2C/UART peripherals
- Linux kernel compilation, BSP customization, and board bring-up on ARM SoCs (NXP i.MX or similar)
- Yocto Project: building and customizing embedded Linux distributions
- Debian packaging, system configuration, and service management (systemd)
- Strong Python for embedded systems: hardware interfaces, MQTT services, ML pipelines
- On-device AI model integration: ONNX Runtime, TensorFlow Lite, or similar edge inference frameworks
- Experience building or fine-tuning ML models for audio classification or computer vision
- Solid Shell scripting for OTA, provisioning, and deployment automation
- AWS IoT Core or similar MQTT-based IoT fleet communication
- GStreamer or equivalent media pipeline experience
- Works independently, moves fast, and takes full ownership
- Has worked in a team of 5 or fewer engineers
- Actively uses AI coding tools (Claude Code, Codex, Gemini, or similar) as a core part of your development workflow
- Thrives in an early-stage startup environment: high output, high accountability
- Valid driver's license required
- Must be authorized to work in the United States. We do not offer visa sponsorship.
Nice to Have
- Experience with Sony image sensor tuning or ISP pipeline optimization
- Thermal camera integration
- ESP32 / ESP-IDF development in C
- C inference streaming pipelines
- Audio classification model development (YAMNet, custom models)
- Computer vision on the edge
- Mender or custom OTA systems for embedded Linux
- GitHub Actions CI/CD for embedded targets