Name: Staff Firmware Engineer
Employment Type: Full Time
Generac Power Systems - Work with the leader in the power industry! Our office in Waukesha, WI is seeking an Electronics Staff Firmware Engineer.
This person will be involved in all aspects of new product designs. This will include not just an understanding of firmware, but also of the physics behind the designs themselves. The firmware engineer will be specifically involved in the design and development of new control algorithm's, and system testing both in lab and on real products. This is an opportunity to use or extend your firmware knowledge into tangible systems.
Essential Duties and Responsibilities:
- Applies engineering knowledge and experience to improve products, services and processes;
- Creating software specifications;
- Must be proficient in embedded programming for various microcontrollers platforms i.e., ARM, PIC.
- Proficiency in using software tools for embedded applications (compilers, linkers, bootloaders), as well as implementing communication protocols
- Conducting FMEA/DFMEA and design reviews;
- Designing new control algorithm and Applications Engineering;
- Designing new software modules and developing supporting documentation;
- Creating test specifications for new systems;
- Maintaining existing software and documentation;
- Participating in formal design reviews;
- Testing new hardware designs via custom software;
- Creating PC based testing tools (in software).
Qualifications, Knowledge, Skills, Abilities and Physical demands:
- Bachelor of Science Degree in Mechanical or Electrical Engineering or related discipline;
- 7 years of relevant work experience;
Knowledge, Skills and Abilities
- Strong C / C++ programming skills
- Understanding of electronics hardware;
- Real time firmware experience using microcontrollers and RTOS;
- Knowledge of microprocessor hardware interfacing techniques, such as IIC, SPIbus, EEprom, I2C, UART, RS232/485
- Low-level knowledge of USB protocols and device drivers a plus.
- Knowledge of control systems using PID loops;
- Use and understanding of interrupt structures;
- Experience using debugging tools such as ICE.
- Automotive and engine functionality experience
- Understanding of power electronics and 3-phase systems
Physical Demands: While performing the duties of this job, the employee is regularly required to talk and hear; and use hands to manipulate objects or controls. The employee is regularly required to stand and walk. On occasion the incumbent may be required to stoop, bend or reach above the shoulders. The employee must occasionally lift up to 25 pounds. Specific conditions of this job include are typical of frequent and continuous computer-based work requiring periods of sitting, close vision and ability to adjust focus. Occasional travel.