What are the responsibilities and job description for the Embedded Firmware / FPGA Engineer position at Micronova?
Embedded Firmware / FPGA Engineer
About MicroNova
MicroNova is a Metro Detroit-based embedded systems solutions company founded in 2012 by a group of friends with academic backgrounds. We specialize in high-performance embedded systems, FPGA development, and hardware design across multiple industries including R&D, Test & Measurement, Audio, Defense, Oil & Gas, and Space. We also created an open-source whole-house audio system that serves a growing community of DIY audio enthusiasts.
The Role
We're seeking an experienced Embedded Systems Engineer with strong FPGA design expertise to join our collaborative team in Waterford, MI. You'll work in an environment with minimal bureaucracy and few meetings, focusing on what you do best: creating innovative solutions for complex technical challenges.
Key Responsibilities
- Develop FPGA (VHDL/Verilog) code for high-performance embedded systems.
- Develop embedded firmware in C /Python for bare-metal, RTOS, and Linux-based systems.
- Work on multiple concurrent projects, balancing quick-turn assignments with long-term development.
- Collaborate directly with our team of engineers in a flat organizational structure.
Technical Skills & Experience
Experience in all areas is desirable but not required:
- Xilinx/AMD SoCs, specifically Zynq 7000 and Zynq Ultrascale MPSoCs.
- Interface protocols: SPI, I2C, UART, PCI Express, USB, SD, , Ethernet, JESD204 and other high-speed serial links with SerDes.
- Test bench development in VHDL and a verification framework such as VUnit or cocotb.
- AXI bus implementation.
- Microcontrollers (ARM, STM32, ESP32).
- FPGAs (Xilinx/AMD, Altera/Intel, others).
- Version control with Git.
- Development on a Linux-based OS.
Our Technology Stack
A typical embedded system we develop runs C applications on FreeRTOS or Linux, interfacing with hardware modules designed in VHDL on Xilinx SoCs such as Zynq, Ultrascale , and Versal ICs. The hardware modules primarily handle high-speed data ingestion and initial processing, while the CPU manages high-level control and configuration.
A typical project at MicroNova will have a microcontroller or FPGA-based SoC which runs either a bare-metal C application, an RTOS, or Linux with C /Python applications. We commonly use AMD Zynq SoCs and design hardware modules in VHDL to handle high-speed data ingestion and processing while the processor manages configuration and control. In addition to normal CI validation, our projects are typically developed with a suite of high-level firmware tests and FPGA simulation testbenches to validate the current state of development and ensure we develop high quality systems.
Why MicroNova?
- Work with cutting-edge technology across diverse industries.
- Contribute to both client projects and our own innovative audio products.
- Enjoy a collaborative environment with direct input on projects.
- Minimal bureaucracy means more time for engineering and innovation.
- Join a team of friends who are passionate about embedded systems.
- Flexible working hours and hybrid work options to support work-life balance.