Enable job alerts via email!

Senior Firmware Developer

PulSenics

Toronto

On-site

CAD 80,000 - 100,000

Full time

Today
Be an early applicant

Job summary

A technology company in Toronto is seeking a Senior Firmware Developer to enhance firmware used in advanced electrochemical technologies. You will collaborate with a diverse engineering team, focusing on developing robust firmware for ARM-based microcontrollers and improving product performance. Ideal candidates have over 3 years of experience in firmware development, strong skills in C programming, and familiarity with embedded systems. This role offers the chance to significantly impact environmental technologies.

Qualifications

  • 3+ years of experience in firmware development for STM32 or similar ARM-based microcontrollers.
  • Proficient in C++ or Bare Metal C programming in embedded systems contexts.
  • Hands-on experience in developing and debugging firmware on target hardware.

Responsibilities

  • Develop an understanding of the Pulsenics device firmware and how various modules work.
  • Develop firmware in C for an Arm Cortex microcontroller for monitoring and safety functions.
  • Document the design and implementation details of new functions and product features.

Skills

C programming
Firmware development
Embedded systems
Debugging
Communication protocols (SPI, I2C, UART)
Version control (Git, SVN)

Education

BSc, MSc, or PhD in Computer Science, Mathematics, Engineering

Tools

Oscilloscopes
DMMs
Logic analyzers
Signal generators
Job description
Senior Firmware Developer

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!

Responsibilities
  • Develop an in‑depth understanding of the Pulsenics device 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
  • 3+ years of experience in firmware development for STM32 or similar ARM‑based microcontrollers.
  • Proficient in C++ or Bare Metal C programming in embedded systems contexts or experience in VHDL/Verilog programming languages.
  • Hands‑on experience in developing and debugging firmware on target hardware.
  • Proven ability to design and develop robust, time‑critical firmware architectures for power electronics and control systems.
  • Experienced with RTOS and Linux environments in embedded systems development.
  • Strong understanding of underlying electronics, enabling effective firmware development and debugging.
  • Familiar with data structures, algorithms, and design patterns commonly used in resource‑constrained embedded systems.
  • Advanced skills in reading schematics and interpreting component datasheets.
  • In‑depth knowledge of wired communication protocols such as SPI, I2C, UART, and others.
  • Proficient in low‑level hardware debugging with tools like oscilloscopes, DMMs, logic analyzers, and signal generators.
  • Experience working with TI C2000, STM32, and FPGA‑based systems is an asset.
  • Familiar with PCB design and microelectronic device datasheets.
  • Skilled in version control and code development practices, including Git, SVN, pull requests, and code reviews.
  • Knowledgeable in industrial communication standards such as Modbus, CANbus/J1939, LIN bus, and Ethernet/IP is a plus.
  • BSc, MSc, or PhD in Computer Science, Mathematics, Engineering, or a related 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.

Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.