Firmware Engineer

Avegant Corp.
Belmont, CA, United States
4 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Experienced
Experience required
3 years minimum
Working hours
Regular working hours
Job source

Tech stack

Java (Programming Language) JavaScript (Programming Language) Microsoft Windows Apple IOS ARM Architecture Booting (BIOS) C Sharp (Programming Language) Codecs Datasheets Software Debugging Linux Firmware
+8 more
Make (Software) Joint Test Action (IEEE Standards) Python (Programming Language) Real-Time Operating Systems Universal Asynchronous Receiver/Transmitter Git Bare Metal U-Boot

Job description

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.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.wayup.com

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

52 sec

Running persistent Linux environments directly on Windows

Ben Breard Ben Breard · World Congress 2025

6:21 min

Investigating push inefficiencies with upstream Git experts

Jonathan Creamer · Coffee With Developers

3:17 min

Evolving hardware requirements and managing cross-platform feature branching

Mario Petricevic · World Congress 2024

3:55 min

Demonstrating .NET installation on Debian and Azure Linux

Silvano Coriani Silvano Coriani · Europe 2026 Virtual

56 sec

Favorite git commands and the importance of patch commits

Eileen Uchitelle Eileen Uchitelle +1 · Coffee With Developers

8:07 min

Transitioning from web development to constrained hardware engineering

Philipp-Alexander Blum · LIVE

Videos

See all

Related articles

See all