Co-op, Embedded Software

Enedym IncHamilton, ON

About The Position

Enedym is a startup from McMaster University focused on developing electric motor and propulsion technologies. We specialize in innovative switched reluctance motor solutions, aiming to revolutionize energy systems for a cleaner, more efficient future. Join our dynamic team to be part of driving meaningful change towards sustainability in transportation and energy. We are looking for a knowledgeable Embedded Software Developer to join our team. We are developing cutting-edge control systems for our electric motors, interfacing directly with our custom-designed PCBs and hardware. We are looking for individuals who are passionate about low-level programming, real-time systems, and seeing their code bring physical hardware to life. If you have experience writing firmware for microcontrollers in C and C++ and you are interested in working closely with a multidisciplinary team (including electrical and motor design engineers), then this job is for you. We expect you to be a tech-savvy professional who is curious about debugging hardware/software interactions and applying new ideas to solve complex control problems. Everyone on our team is highly autonomous and we value individuals that bring insight to the development of our systems and software.

Requirements

  • Strong proficiency in C and C++ for embedded systems.
  • Experience with Python for scripting, test automation, or data analysis.
  • Experience with 32-bit microcontrollers (e.g., ARM Cortex-M, STM32, TI C2000) or embedded processors.
  • Familiarity with embedded development tools (compilers, debuggers, IDEs).
  • Experience with communication protocols (e.g., SPI, I2C, UART, CAN).
  • Basic understanding of code versioning tools, such as Git.
  • Experience reading and interpreting electronic schematics and component datasheets.
  • Hands-on experience with lab equipment for debugging (e.g., oscilloscope, logic analyzer, multimeter).
  • Experience with board bring-up and hardware/software integration.
  • Understanding of basic electronics principles.

Nice To Haves

  • Familiarity with Real-Time Operating Systems (RTOS) is a plus.
  • Basic understanding of build systems (e.g., CMake, Make) is a plus.

Responsibilities

  • Develop new firmware features (e.g., control loops, communication protocols, diagnostics) considering all aspects of the system.
  • Learn and develop skills with new microcontrollers, sensors, and development tools.
  • Build reusable code and libraries (e.g., Hardware Abstraction Layers, drivers) for future use.
  • Take ownership of a feature from idea to deployment on target hardware.
  • Develop and explore new ideas quickly through rapid prototyping on development kits and custom hardware.
  • Collaborate with other team members (electrical, mechanical, systems) and stakeholders.
  • Maintaining documentation on implementation, interfaces, and testing procedures.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service