Logo
Avegant

Firmware Engineer

Avegant, Belmont, California, United States, 94002


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 displaysWrite Makefiles, and implement secure, failsafe Bootloaders and low-level driversCollaborate with Hardware and Software teams for making and revising design choicesBring up, debug and validate prototype hardware in a lab environmentRequirements:BSEE, BSCS or equivalent preferred3-5 years of production software/firmware development experienceWorked on at least one consumer product with 32-bit ARM Cortex MCUsProficiency in “bare metal”, RTOS and Linux-based C/C++ developmentExperience in serial protocols and drivers (e.g. I2C, SPI, USB, UART, etc.)Must have used JTAG or SEGGER for in-circuit debuggingBe comfortable using git and GNU toolchainAbility to use hardware debug tools: protocol analyzers, oscilloscopes, logic analyzers, DMMs, etc.Ability to analyze Datasheets and read schematicsExtra Credit For:Previous experience working on low-power audio/video or camera consumer electronics productsWriting USB Drivers for WindowsPrevious experience with analog and digital sensors (accelerometer, gyro, IR, cap touch, microphones, etc.)Mobile device development on iOS and/or AndroidFamiliarity 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.