Firmware Engineer

avegant

Firmware Engineer

Belmont, CA
Paid
  • Responsibilities

    About Avegant:

    Avegant is a well-funded, venture-backed technology company developing the next-generation of light field displays.  We are pioneering innovative hardware and software solutions that will forever change how we learn, play, work and interact with each other. We’ve won multiple awards, our team is best in class, and we’re just getting started.

    Avegant is about the journey of innovation, and we want to take you with us. If you think you have what it takes to be part of our incredible team, then come join us and be part of a company that is making mixed reality possible.

    Overview:

    Avegant is seeking a Firmware Engineer to contribute to their cutting-edge near eye display technology. The position requires a highly-motivated individual with 3-5 years’ experience in an R&D engineering or production environment.  The role will be centered around writing, integrating and debugging low-level, self-contained firmware for controlling all aspects of our head-mounted displays with a strong focus on audio/visual and camera elements.  You will work closely with our mechanical and electrical engineering teams, and be part of a highly-collaborative environment.  This position will be located in Belmont, CA and requires that you be onsite and not remote for this role.  This position will report to the Lead Firmware Engineer.

    This is a great opportunity to be a part of a revolutionary consumer product and consumer software from implementation of design through initial prototyping and beyond. You should be self-motivated, flexible, and get a kick out of creatively solving difficult problems -- sometimes on your own, but often as part of a fast-moving team.

    Responsibilities:

    • Develop and maintain production quality firmware for head mounted displays
    • Write Makefiles, and implement secure, failsafe Bootloaders and low-level drivers
    • Collaborate with Hardware and Software teams for making and revising design choices
    • Bring up, debug and validate prototype hardware in a lab environment

    Requirements:

    • BSEE, BSCS or equivalent preferred
    • 3-5 years of production software/firmware development experience
    • Worked on at least one consumer product with 32-bit ARM Cortex MCUs
    • Proficiency in “bare metal”, RTOS and Linux-based C/C++ development
    • Experience in serial protocols and drivers (e.g. I2C, SPI, USB, UART, etc.)
    • Must have used JTAG or SEGGER for in-circuit debugging
    • Be comfortable using git and GNU toolchain
    • Ability to use hardware debug tools: protocol analyzers, oscilloscopes, logic analyzers, DMMs, etc.
    • Ability to analyze Datasheets and read schematics

    Extra Credit For:

    • Previous experience working on low-power audio/video or camera consumer electronics products
    • Writing USB Drivers for Windows
    • Previous experience with analog and digital sensors (accelerometer, gyro, IR, cap touch, microphones, etc.)
    • Mobile device development on iOS and/or Android
    • Familiarity with PC/host programming and scripting (e.g., Python, Java, C#, JavaScript, etc.)
    • Previous experience with audio/video implementations (e.g., codecs, I2S, YCbCr, EDID)
    • Experience with methods of cryptography, secure boot loaders, AES, HDCP, etc.