Embedded Firmware Engineer
Q-Block Computing
- Ottawa, ON
- Permanent
- Temps-plein
- Design, write, test, and maintain embedded firmware modules in C/C++ for ARM Cortex-M microcontroller platforms.
- Implement and validate peripheral device drivers for precision analog and digital ICs over SPI, I2C, UART, and related interfaces.
- Develop DMA transfer configurations, GPIO management routines, and interrupt service routines to achieve deterministic and low-latency I/O timing.
- Implement digital control loop modules and other real-time signal handling functions based on system-level requirements.
- Integrate and test firmware across multiple interconnected control units operating as a synchronized system.
- Write documentation for new and updated firmware modules, including test procedures and integration guides.
- Perform bench-level hardware bring-up, debugging, and characterization using oscilloscopes, logic analyzers, and signal generators.
- Collaborate with cross-functional hardware, software, and systems teams.
- Contribute to a culture of continuous learning and knowledge sharing within the team.
- Bachelor's degree in Electrical Engineering, Computer Engineering, Computer Science, Physics, or a related field.
- 3+ years of professional experience in embedded firmware development with ARM Cortex-M or comparable architectures.
- Must be eligible to obtain and maintain Government of Canada security clearance, if required for assigned projects.
- Must be eligible to comply with requirements of the Controlled Goods Program, if required for assigned projects.
- Must be willing to participate in background screening, documentation, and compliance processes associated with security-sensitive work.
- Experience working in regulated, security-sensitive, or defense-oriented engineering environments is an asset.
- Strong proficiency in C/C++ for bare-metal and RTOS-based embedded systems.
- Solid understanding of SPI, I2C, UART, and DMA controllers on ARM microcontrollers.
- Ability to read schematics and component datasheets; comfortable at the hardware-firmware boundary.
- Hands-on proficiency with standard laboratory instruments such as oscilloscopes, logic analyzers, and signal generators.
- Experience with Arduino, Teensy, PlatformIO, or comparable development environments is an asset.
- Exposure to digital signal processing, real-time scheduling, or precision timing systems is an asset.
- Experience in scientific or deep-tech hardware environments is an asset.
- Strong attention to detail, authenticity, and a sense of responsibility in all tasks.
- Critical thinking and problem-solving mindset.
- Strong interpersonal skills and the ability to work collaboratively in a dynamic team environment.
- Extended health care benefits (inc. dental and vision)
- Life insurance