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.
Requirements
• 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.
Department Engineering Locations Toronto Employment type Full-time