Embedded Control Engineer/Embedded Software Engineer - Yaskawa America
Lawrence, MA 01840
About the Job
We are seeking an Embedded Control Engineer/Embedded Software Engineer in our Lawrence, MA facility to develop algorithms for closed loop control of grid connected inverters and develop drivers and API's used to communicate with peripherals and external subsystems. In this role, you will implement algorithms to detect abnormal conditions, develop computer simulations and work with the sales teams to understand and implement customer requirements. Additionally, you will integrate code from fellow developers and work with the entire engineering team to ensure successful overall integration with of each product.
The engineer will be part of a small team of engineers developing software used to control a grid-connected inverter. Tasks may range from software architecture, communication, peripheral interface and control system design and will involve coding, debugging, testing, documentation and working with interdisciplinary teams.
The ideal candidate will have a Bachelors or Masters in Electrical, Computer or Software engineering with 3 or more years of experience in developing applications and device drivers for embedded systems and designing closed loop systems. You should have a solid foundation of developing and understanding code written in C or C++ as well as experience working with peripherals and communications protocols such as UBB, SPI I2C, Modbus, etc.
We offer the opportunity to experience the excitement, challenge and rewards of working in an entrepreneurial, fast growing, and industry-leading company where you will be challenged to lead the hardware design process. This position is very hands on and will allow you the opportunity to stand out and be recognized for your success. When you join the Yaskawa Solectria Solar team, you'll be surrounded by exceptionally talented individuals widely regarded as leaders in their areas of expertise.
Yaskawa Solectria Solar is an equal opportunity employer.
Full position description below:
POSITION DESCRIPTION
The engineer will be part of a small team of engineers developing software used to control a grid-connected inverter. Tasks may range from software architecture, communication, peripheral interface and control system design and will involve coding, debugging, testing, documentation and working with interdisciplinary teams.
DUTIES:
- Develop algorithms used for closed-loop control of grid-connected inverters.
- Develop drivers and APIs used to communicate with peripherals and external subsystems. Examples are USB, SPI, I2C, UART, Modbus, CAN, Ethernet, TCP/IP, A/D converters and digital I/O.
- Implement customer interface features as required.
- Implement algorithms used to detect abnormal conditions, such as arc faults, ground faults, abnormal voltage and frequency, an open phase, an unintentional island, or internal hardware failures, and respond in a deterministic manner to each condition as required by compliance standards.
- Develop and execute computer simulations to verify algorithm functionality.
- Structure code in order to optimize processor and memory utilization.
- Support customer service team in troubleshooting issues identified on inverters in the field.
- Support manufacturing teams in order to ensure that production testing is sufficiently comprehensive but also efficient.
- Work with the applications engineering, product management and sales teams to understand customer needs and implement features that will support these needs.
- Work other engineering disciplines to ensure successful overall integration of each product.
- Prepare and execute a validation plan for assigned tasks utilizing the testing team for support.
- Integrate code from different developers by following a release process and utilizing SVN tools.
- Prepare software design documentation and test reports.
- Ensure software quality by following coding standards and conventions, participating in and conducting code reviews, performing static code reviews and utilizing automated software analysis tools.
- Other duties and responsibilities will be assigned as needed.
REQUIREMENTS:
Skills/Knowledge/Abilities:
- Must be proficient in developing and understanding code written in C or C++
- Must be proficient in one or more of the following areas with a preferred 3 or more years of experience:
- Must be capable of reading and interpreting electrical schematics and have a basic understanding of analog and digital electronics
- Must have a specific interest in developing and testing algorithms and software
- Must be self-driven, organized and capable of working independently to solve engineering problems logically and efficiently
- Must be willing and able to work in a high voltage test environment and follow established safety procedures
- Must be willing and able to perform testing outdoors occasionally
- Must be fluent in English and have good writing and team-working skills
- Must be willing to travel on occasion (less than 20 percent)
- Strongly desired to have experience with modeling and scripting in Matlab® and Simulink®
- Strongly desired to have knowledge of and experience with power electronics, inverters and three-phase power systems
- Desired to have experience working with common lab test equipment, such as oscilloscopes, power analyzers and sensors
- Desired to have a strong background in good programming practices, building robust and adaptable software programs, version control and software quality
- Desired to have experience setting up and working with a development environment, such as firmware loading, JTAG and debugging tools
- Desired to have experience developing code for real time operating systems (RTOS)
- Desired experience working with peripherals and communications protocols such as USB, SPI, I2C, UART, Modbus, CAN, Ethernet, TCP/IP, A/D converters and discrete I/O
- Desired experience or interest in working with solar power systems
Education/Certification:
- Must have B.S. or B.Eng. in Electrical, Computer or Software Engineering
- Desired to have M.S. or M.Eng. in Electrical, Computer or Software Engineering
-------------------------------------------------------------------------------------------------------------------------------