Firmware Intern
- Montreal, QC, Canada
Internship
Applications open in a new tab.
Job details
- Job type
- Internship
- Apply by
- Posting language
- English
- Posted
Original job description
About the role
SonoHL is developing a wearable acoustic monitoring system for respiratory assessment. The firmware intern will work on the embedded software that runs the device, including sensor data acquisition, audio processing, and wireless communication. You’ll work alongside the hardware and software teams and see your code go onto real prototypes used in clinical testing.
Responsibilities
- Develop and maintain firmware for custom microcontroller-based PCBs
- Implement and debug wireless communication, including the 2.4 GHz radio stack and timing
- Work with digital audio interfaces and sensor peripherals
- Bring up and test new hardware revisions using lab equipment
- Document firmware design decisions and maintain version-controlled code
- Review peers’ code and contribute to team coding standards
Required qualifications
- Proficiency in C/C++ and Python
- Comfortable working in VS Code
- Experience programming microcontrollers on custom PCBs
- Experience with 2.4 GHz radio and its timing, such as Bluetooth LE, EnhancedBurst, or a proprietary protocol
- Familiarity with time division multiple access (TDMA) or custom radio protocol design, including clock synchronization
- Experience with I2C, SPI, I2S, and UART communication
- Comfortable debugging hardware with a debugger, oscilloscope, and multimeter
- Familiarity with Git for version control and documentation
- Comfortable performing and receiving code reviews
Nice to have
- Audio experience
- Familiarity with audio codecs, the USB Audio Class, and sample rate conversion
- Familiarity with low-power battery design
SonoHL is an equal oppurtunity employer. The work is in person in Montreal. The work is for a period of 4 months, starting in January 2026
More about this job
Responsibilities
Develop and maintain firmware for custom microcontroller-based devices, including sensor data acquisition, digital audio interfaces, and wireless communication. Bring up and test hardware revisions, document and version-control firmware, and participate in code reviews and team coding standards.
Requirements
Requires proficiency in C/C++ and Python, experience programming microcontrollers on custom PCBs, and familiarity with 2.4 GHz radio communication, timing, and TDMA or custom protocols. Candidates should also be comfortable with I2C, SPI, I2S, UART, lab debugging tools, Git, and code reviews.
Skills
- C/C++
- Python
- Microcontroller Firmware
- Custom PCB Experience
- 2.4 GHz Radio Communication
- Bluetooth LE
- TDMA
- Clock Synchronization
- I2C
- SPI
- I2S
- UART
- Hardware Debugging
- Oscilloscope
- Git
- Code Review
Visa sponsorship
Not detected in the job text
Categories
- Engineering
- Technology
- Software
- Healthcare
- Manufacturing
Keywords
- Firmware
- Embedded Software
- C/C++
- Python
- Microcontrollers
- Custom PCBs
- Sensor Data Acquisition
- Audio Processing
- Wireless Communication
- 2.4 GHz Radio
- Bluetooth LE
- EnhancedBurst
- TDMA
- Clock Synchronization
- I2C
- SPI
- I2S
- UART
- VS Code
- Debugger
- Oscilloscope
- Multimeter
- Git
- Code Review
- Audio Codecs
- USB Audio Class
- Sample Rate Conversion
- Low-Power Battery Design
- Medical Equipment Manufacturing