
Software Engineer - Embedded Firmware
About the Team
AVRIDE is an autonomous driving company with the mission to make transportation safer and more efficient through cutting-edge technology. We hold a unique position in the market, developing self-driving taxis and delivery robots. Our delivery robot division already has production in the US and Japan. Our team consists of highly talented engineers with extensive expertise. Joining us means diving into a startup atmosphere and making a significant impact on the company's results and the autonomous industry as a whole.
About the Role
As a Software Engineer at Avride, you will design and develop advanced firmware and drivers for LiDAR, motor control, and robotics systems. You’ll work with FPGAs, MCUs, and embedded platforms to build reliable, high-performance solutions that power our autonomous technologies. This role combines deep expertise in low-level programming, DSP optimization, and embedded systems integration, with hands-on testing and collaboration across cross-functional teams to deliver cutting-edge solutions.
What You'll Do
- Design and develop firmware for LiDAR systems using SystemVerilog, optimize (digital signal processing) DSP algorithms to ensure high performance and reliability.
- Design and develop firmware for motor control on field programmable gate arrays (FPGAs) and microcontroller units (MCUs), provide calibration for optimal power consumption and stability.
- Develop drivers and software for CAN-bus gateway on MCU ensuring seamless communication between devices and systems.
- Develop drivers and software for uart, lin, ethernet peripheral devices and sensors for robotics systems.
- Design, implement, and maintain software for testing stands, utilizing Python and C++ to automate testing processes and improve efficiency.
- Collaborate with cross-functional teams to integrate firmware and software components into embedded systems.
- Perform testing, debugging, and optimization to ensure the quality and reliability of embedded solutions. Mostly using various measuring equipment.
- Provide technical support and assistance to internal teams and external partners as needed.
What You'll Need
- Bachelor's degree in Applied Mathematics, Electrical Engineering, Radio-technology or a related field. Foreign equivalent is accepted.
- At least 12 years of experience in software engineering or similar. Alternatively, Master’s Degree in Applied Mathematics, Electrical Engineering, Radio-technology or equivalent plus at least 5 years of progressive work experience in software engineering.
- Strong programming skills in Python, C++, and SystemVerilog, experience with MCU (STM, NXP) and FPGA (Xilinx, Intel, Lattice) programming.
- Proven experience in firmware development for data processing and hardware control systems.
- Knowledge of DSP concepts like FIR/IIR filters, FFT, convolution, signal reconstruction.
- Strong programming skills in Python, C++, and experience with MCU programming.
- Familiarity with CAN-bus communication protocols, Ethernet, spi, i2c and experience developing drivers for this peripheral.
- Solid understanding of embedded systems design principles, real-time operating systems, experience with hardware-software co-design and integration.
- Excellent problem-solving skills and attention to detail.
- Effective communication skills and the ability to work both independently and collaboratively in a team environment.
Candidates are required to be authorized to work in the U.S. The employer is not offering relocation sponsorship, and remote work options are not available.
Apply for this job
*
indicates a required field