Are you on a mission? Apply within.

Explore jobs at Activate and our cohort companies.

Embedded Software Developer



Software Engineering
Toronto, ON, Canada
Posted on Wednesday, January 17, 2024

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

• Contribute to the firmware development of Pulsenics’ next generation in-line characterization hardware.

• Translate open-ended user requirements into clear and specific product functional components.

• Modify existing code as necessary for bug-fixes and changes in the operational scope.

• Document the design and implementation details of firmware features.

• Write test plans, unit tests, and integration tests from requirements.

• Work closely with a cross-functional engineering team (electrical, mechanical, manufacturing, system test, and other software teams) to refine and support delivered firmware.


• Minimum 2 years of experience in embedded programming languages such as C/C++/C#.

• In-depth knowledge of wired communication protocols (SPI, I2C, UART, etc.).

• Knowledge of standard embedded debugging tools (terminal programs, gdb, JTAG debuggers, etc.).

• Comfortable with performing low-level board debugging with oscilloscopes, DMMs, logic analyzers, generators, etc.

• Experience with TI C2000, STM32 processor families.

• Experience with PCB schematics and microelectronic device datasheets.

• Integrating and configuring open-sourced and closed-source packages.

• Experience designing and embedding Bluetooth connectivity.

• Excel at code revision software and code development practices (Git, SVN, pull-requests, etc.).

• Experience with Git-based revision control.

• Familiarity with industrial communications standards such as Modbus, CANbus/J1939, LIN bus, or Ethernet/IP.

• A BSc, MSc, or PhD in Computer Science, Mathematics, Engineering, or a similar field.

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.