The Embedded Software Developer (Ottawa)
The Embedded Software Developer is part of the Research & Development team of a rapidly growing organization. Our clients dynamic team operates in a collaborative, inclusive and multicultural environment, with the opportunity to contribute at all levels.
- Design, implement, and maintain embedded firmware for PIC microcontrollers (8-bit, 16-bit, or 32-bit)
- Develop low-level drivers for peripherals such as UART, SPI, I²C, GPIO, timers, ADC/DAC, and PWM
- Work with hardware designers during board bring-up and debugging
- Diagnose and resolve firmware, timing, and hardware-software integration issues
- Implement bootloaders, configuration management, and firmware update mechanisms
- Participate in code reviews and contribute to embedded coding standards
- Support manufacturing, testing, and field issues as needed
- Produce clear technical documentation for firmware design and interfaces
Required Qualifications
- Strong experience developing embedded firmware in C (and/or C++)
- Hands-on experience with Microchip PIC microcontrollers
- Familiarity with MPLAB X, XC compilers, and Microchip toolchains
- Solid understanding of microcontroller architecture, memory maps, and interrupts
- Experience with bare-metal or lightweight RTOS-based systems
- Ability to read schematics and work directly with hardware
- Comfortable debugging with oscilloscopes, logic analyzers, and JTAG/ICSP tools
- Looking for intermediate (5+ years)
Nice to Have
- Bootloader and firmware update experience
- Exposure to safety-critical or long-lifecycle products
- Experience with version control systems (Git or SVN)
- Knowledge of power management, low-power design, or EMI considerations
- Must have Canadian Citizenship.
To apply for this job email your details to inf@marlersearchgroup.com
