Senior Firmware Developer
PulSenics
About Pulsenics
Pulsenics is catalyzing novel breakthroughs for electrochemical technologies that decarbonize our planet. Pulsenics’ innovation is the first to apply advanced spectroscopy techniques to industrial electrochemical applications, at scale, to target the industry’s energy waste problem. Our mission is to change how the industry, making up 15% of the world’s GDP, uses its energy.
“Pulsenics” means “Pulse Generation.”
True to its name, our proprietary hardware injects non-disruptive electrical pulses into an
electrochemical system to extract a unique signature for its State-of-Health. When combined with our Data Management Software, this untapped data unlocks fundamental insights that lead to the most energy efficient operations, at scale.
Pulsenics hardware and software is currently being used by customers around the world to improve electrochemical system design and performance. Pulsenics’ customers run diverse electrochemical systems ranging from fuel cells and batteries to wastewater treatment and metallurgy.
At Pulsenics, you will have the opportunity to have a direct impact on the development of our next generation hardware and software products, alongside our world-class team of innovators and engineers!
Key Responsibilities
• Develop an in-depth understanding of the Pulsenics devices firmware and how various modules work.
• Develop firmware in C for an Arm Cortex microcontroller for monitoring, control and safety functions.
• Develop and integrate device drivers and application program interfaces on Linux to support high resolution signal processing modules.
• Document the design and implementation details of new functions and product features.
• Write test plans, unit tests, and integration tests from requirements.
• Work closely with a cross-functional engineering team (electrical, mechanical, manufacturing, and software teams) to refine and support delivered firmware.
Requirements
• 6+ years experience in the development of firmware on STM32 or similar ARM-based microcontroller.
• Strong knowledge of programming languages (C/C++/C# ) in an embedded software context.
• Hands-on experience developing and debugging firmware on a target hardware.
• Design and develop robust and time-critical firmware architecture for power electronic systems and control systems.
• Experience with RTOS and Linux.
• Solid understanding of underlying electronics to the point where it influences firmware development and debugging.
• Familiar with data structures, algorithms, and design patterns common to embedded (resource-constrained) systems development.
• Excellent knowledge of reading schematics and data sheets for components.
• In-depth knowledge of wired communication protocols (SPI, I2C, UART, etc.).
• Comfortable with performing low-level board debugging with oscilloscopes, DMMs, logic analyzers, generators, etc.
• Experience with TI C2000, STM32, and FPGAs is an asset.
• Experience with PCB schematics and microelectronic device datasheets.
• Excel at code revision software and code development practices (Git, SVN, pull-requests, etc.).
• Familiarity with industrial communications standards such as Modbus, CANbus/J1939, LIN bus, or Ethernet/IP is an asset.
• A BSc, MSc, or PhD in Computer Science, Mathematics, Engineering, or a similar field.
Pulsenics Benefits:
- Medical allowance
- Paid sick days and vacation
- Competitive compensation commensurate with experience
- Diverse and inclusive work environment
Interested in Applying?
Pulsenics is committed to maintaining a diverse work environment and is proud to be an equal opportunity employer. We strongly believe that the diversity of our employees is one of our greatest assets, and, to that end, are committed to fostering an inclusive and welcoming work environment.
All qualified applicants, regardless of race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status are encouraged to apply.
If you have any accessibility requirements or concerns regarding the hiring process or employment with us, please notify us so we can provide suitable accommodation.