New

Firmware Engineer - Vision & Touchscreen Interface

San Bruno, California

Mill is all about answering a simple question: how can we prevent waste? Less waste can save time, money, energy, maybe even our planet. And there’s no better place to start than food. Food waste is one of the most solvable climate problems facing us today. Plus, our trash really stinks. It’s gross, heavy, and our least favorite chore. At Mill we are striving to build a better environment for all, as we take on climate and kitchen change.

We are seeking an experienced Firmware Engineer to lead vision system development and touchscreen interface implementation for our next-generation product. You will evaluate SoC and MCU platforms, develop camera-based AI applications for object detection (either on-device or cloud-based), and create intuitive touchscreen user interfaces. Collaborating closely with hardware designers, connectivity experts, and system engineers, your work will be crucial in turning innovative concepts into functional prototypes and products.

Key Responsibilities

  • Evaluate, benchmark, and select SoC/MCU platforms suitable for vision workloads and potential cloud integration.
  • Prototype and deploy vision pipelines: capture raw image frames, perform preprocessing (ISP, color conversions), and manage AI inference models either locally or via cloud services.
  • Collaborate with hardware teams to select optimal image sensors, lenses, and camera modules for object detection and classification tasks.
  • Integrate touchscreen panels (LVDS/DSI/HDMI) and touch controllers (I²C/SPI), and develop responsive user interfaces.
  • Develop and optimize embedded UI frameworks (e.g., Qt Embedded, LVGL).
  • Implement low-level drivers (I²C/SPI, GPIO, PWM) and incorporate them into device trees and board-support packages.
  • Work with other team members to define and implement inter-processor communication protocols (SPI/UART/I²C) for sensor data exchange and system telemetry.
  • Ensure coexistence of camera and touchscreen subsystems with other embedded peripherals (motors, sensors, connectivity modules) without performance degradation.

Required Qualifications

  • Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, or related discipline, or equivalent experience.
  • 5+ years experience in embedded firmware engineering, including at least 2 years focused on camera or vision applications.
  • Strong proficiency in C/C++ (Linux kernel drivers or RTOS firmware), with knowledge of memory management, DMA, interrupts, and real-time system constraints.
  • Hands-on experience with camera interfaces: MIPI-CSI-2, USB Video Class (UVC), or parallel RGB; comfortable working with image sensor datasheets, register programming, and sensor configuration.
  • Familiarity with vision frameworks (OpenCV, TensorRT, TensorFlow Lite, Edge TPU) or cloud-based AI processing platforms (AWS, Azure, Google Cloud); capable of prototyping object detection or segmentation pipelines, profiling performance, and suggesting optimizations.
  • Experience integrating and developing touchscreen interfaces, including display controller initialization and touch input handling (I²C/SPI).
  • Solid understanding of I²C, SPI, UART, and GPIO interfaces.
  • Proven prototyping ability—quickly translating high-level performance targets into functional prototypes and effectively evaluating hardware-software tradeoffs.
  • Skilled in using logic analyzers, oscilloscopes, and debugging tools (JTAG, GDB) to troubleshoot camera or UI issues.
  • Excellent communication skills, capable of producing clear documentation, architecture diagrams, and engaging in effective cross-team collaboration.

Preferred Skills

  • Experience with camera calibration techniques, including lens distortion correction and color-space conversions.
  • Familiarity with Linux system architectures, cross-compilation, build systems, and kernel module integration.
  • Experience with OTA firmware updates for MCUs (bootloaders) and SoCs (partition management).
  • Previous experience in startups or rapid prototyping environments.
  • Familiarity with Agile methodologies, version control (GitHub), CI/CD pipelines, and project management tools (JIRA).

The estimated base salary range for this position is $170k to $225k, which does not include the any benefits or equity. Various factors are considered in making compensation decisions, including but not limited to experience, training, licensure and certifications, and business and organizational needs.

Create a Job Alert

Interested in building your career at Mill? Get future opportunities sent straight to your email.

Apply for this job

*

indicates a required field

Resume/CV*

Accepted file types: pdf, doc, docx, txt, rtf

Cover Letter

Accepted file types: pdf, doc, docx, txt, rtf


Onsite in San Bruno required *

Voluntary Self-Identification

For government reporting purposes, we ask candidates to respond to the below self-identification survey. Completion of the form is entirely voluntary. Whatever your decision, it will not be considered in the hiring process or thereafter. Any information that you do provide will be recorded and maintained in a confidential file.

As set forth in Mill’s Equal Employment Opportunity policy, we do not discriminate on the basis of any protected group status under any applicable law.

Select...
Select...
Race & Ethnicity Definitions

If you believe you belong to any of the categories of protected veterans listed below, please indicate by making the appropriate selection. As a government contractor subject to the Vietnam Era Veterans Readjustment Assistance Act (VEVRAA), we request this information in order to measure the effectiveness of the outreach and positive recruitment efforts we undertake pursuant to VEVRAA. Classification of protected categories is as follows:

A "disabled veteran" is one of the following: a veteran of the U.S. military, ground, naval or air service who is entitled to compensation (or who but for the receipt of military retired pay would be entitled to compensation) under laws administered by the Secretary of Veterans Affairs; or a person who was discharged or released from active duty because of a service-connected disability.

A "recently separated veteran" means any veteran during the three-year period beginning on the date of such veteran's discharge or release from active duty in the U.S. military, ground, naval, or air service.

An "active duty wartime or campaign badge veteran" means a veteran who served on active duty in the U.S. military, ground, naval or air service during a war, or in a campaign or expedition for which a campaign badge has been authorized under the laws administered by the Department of Defense.

An "Armed forces service medal veteran" means a veteran who, while serving on active duty in the U.S. military, ground, naval or air service, participated in a United States military operation for which an Armed Forces service medal was awarded pursuant to Executive Order 12985.

Select...

Voluntary Self-Identification of Disability

Form CC-305
Page 1 of 1
OMB Control Number 1250-0005
Expires 04/30/2026

Why are you being asked to complete this form?

We are a federal contractor or subcontractor. The law requires us to provide equal employment opportunity to qualified people with disabilities. We have a goal of having at least 7% of our workers as people with disabilities. The law says we must measure our progress towards this goal. To do this, we must ask applicants and employees if they have a disability or have ever had one. People can become disabled, so we need to ask this question at least every five years.

Completing this form is voluntary, and we hope that you will choose to do so. Your answer is confidential. No one who makes hiring decisions will see it. Your decision to complete the form and your answer will not harm you in any way. If you want to learn more about the law or this form, visit the U.S. Department of Labor’s Office of Federal Contract Compliance Programs (OFCCP) website at www.dol.gov/ofccp.

How do you know if you have a disability?

A disability is a condition that substantially limits one or more of your “major life activities.” If you have or have ever had such a condition, you are a person with a disability. Disabilities include, but are not limited to:

  • Alcohol or other substance use disorder (not currently using drugs illegally)
  • Autoimmune disorder, for example, lupus, fibromyalgia, rheumatoid arthritis, HIV/AIDS
  • Blind or low vision
  • Cancer (past or present)
  • Cardiovascular or heart disease
  • Celiac disease
  • Cerebral palsy
  • Deaf or serious difficulty hearing
  • Diabetes
  • Disfigurement, for example, disfigurement caused by burns, wounds, accidents, or congenital disorders
  • Epilepsy or other seizure disorder
  • Gastrointestinal disorders, for example, Crohn's Disease, irritable bowel syndrome
  • Intellectual or developmental disability
  • Mental health conditions, for example, depression, bipolar disorder, anxiety disorder, schizophrenia, PTSD
  • Missing limbs or partially missing limbs
  • Mobility impairment, benefiting from the use of a wheelchair, scooter, walker, leg brace(s) and/or other supports
  • Nervous system condition, for example, migraine headaches, Parkinson’s disease, multiple sclerosis (MS)
  • Neurodivergence, for example, attention-deficit/hyperactivity disorder (ADHD), autism spectrum disorder, dyslexia, dyspraxia, other learning disabilities
  • Partial or complete paralysis (any cause)
  • Pulmonary or respiratory conditions, for example, tuberculosis, asthma, emphysema
  • Short stature (dwarfism)
  • Traumatic brain injury
Select...

PUBLIC BURDEN STATEMENT: According to the Paperwork Reduction Act of 1995 no persons are required to respond to a collection of information unless such collection displays a valid OMB control number. This survey should take about 5 minutes to complete.