Embedded Firmware Engineer
- Kitchener, ON, Canada
Full-time
Applications open in a new tab.
Job details
- Job type
- Full-time
- Apply by
- Working hours
- 40 hours per week
- Posting language
- English
- Posted
Original job description
- Engineering
- Full-Time
- 3+ years
- Kitchener, Ontario
Job Type: Full-Time, 40 hours per week
Location: Kitchener, ON (Trillium / Homer Watson Industrial Park)
Department: Software & Firmware
Reports To: Software & Firmware Lead
About Mycionics
We are a strong, multidisciplinary mechatronics team where every member directly contributes to the product. We design, prototype, fabricate, and industrialize full robotic systems - spanning mechanical, electrical, firmware, software, AI/ML, and data analytics - and deploy them globally to customers across three continents.
The Role
We are seeking a methodical and highly capable Embedded Firmware Engineer to serve as the bridge between our physical electrical designs and our high-level software architecture. We are looking for an engineer who excels in driver development, is highly proficient with RTOS environments, and effectively navigates component reference manuals to properly integrate hardware features. We are seeking a dedicated professional whose primary technical focus and long-term career interest are firmly rooted in firmware development.
Key Responsibilities
- Driver & Firmware Development: Develop and maintain highly reliable, low-level C/C++ firmware and hardware drivers for our custom STM32 control boards.
- Hardware Interfacing: Implement communication protocols (e.g., I2C, SPI, CAN, Ethernet) to interface with various encoders, proximity sensors, actuators, and peripheral devices.
- RTOS Implementation: Leverage Real-Time Operating Systems (specifically FreeRTOS) to manage device resources, mutual exclusion, semaphores, thread management, stack space, and interrupt service routine (ISR) priorities.
- Diagnostics & Debugging: Methodically diagnose hardware and software faults (e.g., race conditions, hard faults) utilizing tools like GDB, J-Link debuggers, oscilloscopes, and logic analyzers.
- Library Migration: Assist in upgrading legacy code from the STM Standard Peripheral Library to modern HAL (Hardware Abstraction Layer) based libraries.
- Experience: 3+ years of relevant industrial experience in embedded firmware development (5+ years is highly preferred).
- Education: Degree in Computer Engineering, Electrical Engineering, Computer Science, or equivalent rigorous technical experience.
- Core Languages: Deep proficiency in C is required.
- RTOS: Extensive experience developing within RTOS environments and a thorough understanding of concurrency, resource management, and timing.
- Hardware Aptitude: Strong ability to read component reference manuals/datasheets and translate hardware specifications into reliable code.
- Ecosystems: Direct experience with the STM32 microcontroller family, FreeRTOS, and transitioning between Standard Peripheral and HAL libraries.
- Additional Languages: Experience with C++ is a strong asset.
- Development Environment: Comfort working outside of standard IDEs (like STM Cube IDE) and utilizing environments like Visual Studio Code.
- Motion Control: Specific experience writing drivers for CANopen industrial motors.
- A Firmware Specialist: You are dedicated to embedded systems and excel at working close to the hardware to bridge the electrical and software domains.
- Methodical & Dependable: You understand best practices, avoid race conditions, and engineer highly robust systems.
- A Collaborative Communicator: You can take high-level project scopes, discuss architectural ideas gracefully, and execute independently without needing micromanagement.
- Global Impact: We deploy systems to customers on three continents, offering opportunities for international travel.
- Cross-Functional Collaboration: Work in a facility where you see the physical machine being built next to you. You will collaborate closely with electrical, software, and AI teams to see your firmware drive massive physical movements.
- Growth & Advancement: We offer professional growth through hands-on experience and increasing ownership. If you show initiative and deliver results, there are real opportunities to advance as the team expands.
- Benefits & Wellness: We offer a comprehensive benefits package including extended health care, dental, vision care, and a Health Spending Account (HSA).
- Environment: Based in the industrial hub of Kitchener with free on-site parking.
- Culture: A collaborative team environment with casual dress, company events, and social hours.
Apply for this position
First Name *
Last Name *
Email *
Phone Number *
LinkedIn Profile URL *
Upload File
Upload your CV *
Max file size 10MB.
Maximum file size is 5MB
Supported formats: PDF, DOC, JPG
Uploading...
fileuploaded.jpg
Upload failed. Max size for files is 10 MB.
Comments & Questions
I agree that you can keep my data for an extended time period so that it will be easier for you to contact me about job opportunities.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
- Engineering
- Full-Time
- 3+ years
- Kitchener, Ontario
Job Type: Full-Time, 40 hours per week
Location: Kitchener, ON (Trillium / Homer Watson Industrial Park)
Department: Software & Firmware
Reports To: Software & Firmware Lead
Key Responsibilities
- Driver & Firmware Development: Develop and maintain highly reliable, low-level C/C++ firmware and hardware drivers for our custom STM32 control boards.
- Hardware Interfacing: Implement communication protocols (e.g., I2C, SPI, CAN, Ethernet) to interface with various encoders, proximity sensors, actuators, and peripheral devices.
- RTOS Implementation: Leverage Real-Time Operating Systems (specifically FreeRTOS) to manage device resources, mutual exclusion, semaphores, thread management, stack space, and interrupt service routine (ISR) priorities.
- Diagnostics & Debugging: Methodically diagnose hardware and software faults (e.g., race conditions, hard faults) utilizing tools like GDB, J-Link debuggers, oscilloscopes, and logic analyzers.
- Library Migration: Assist in upgrading legacy code from the STM Standard Peripheral Library to modern HAL (Hardware Abstraction Layer) based libraries.
- Experience: 3+ years of relevant industrial experience in embedded firmware development (5+ years is highly preferred).
- Education: Degree in Computer Engineering, Electrical Engineering, Computer Science, or equivalent rigorous technical experience.
- Core Languages: Deep proficiency in C is required.
- RTOS: Extensive experience developing within RTOS environments and a thorough understanding of concurrency, resource management, and timing.
- Hardware Aptitude: Strong ability to read component reference manuals/datasheets and translate hardware specifications into reliable code.
- Ecosystems: Direct experience with the STM32 microcontroller family, FreeRTOS, and transitioning between Standard Peripheral and HAL libraries.
- Additional Languages: Experience with C++ is a strong asset.
- Development Environment: Comfort working outside of standard IDEs (like STM Cube IDE) and utilizing environments like Visual Studio Code.
- Motion Control: Specific experience writing drivers for CANopen industrial motors.
- A Firmware Specialist: You are dedicated to embedded systems and excel at working close to the hardware to bridge the electrical and software domains.
- Methodical & Dependable: You understand best practices, avoid race conditions, and engineer highly robust systems.
- A Collaborative Communicator: You can take high-level project scopes, discuss architectural ideas gracefully, and execute independently without needing micromanagement.
- Global Impact: We deploy systems to customers on three continents, offering opportunities for international travel.
- Cross-Functional Collaboration: Work in a facility where you see the physical machine being built next to you. You will collaborate closely with electrical, software, and AI teams to see your firmware drive massive physical movements.
- Growth & Advancement: We offer professional growth through hands-on experience and increasing ownership. If you show initiative and deliver results, there are real opportunities to advance as the team expands.
- Benefits & Wellness: We offer a comprehensive benefits package including extended health care, dental, vision care, and a Health Spending Account (HSA).
- Environment: Based in the industrial hub of Kitchener with free on-site parking.
- Culture: A collaborative team environment with casual dress, company events, and social hours.
More about this job
Responsibilities
Develop and maintain low-level firmware and hardware drivers for custom STM32 control boards, integrating sensors, actuators, and peripherals through communication protocols such as I2C, SPI, CAN, and Ethernet. Implement FreeRTOS-based resource and thread management, diagnose hardware and software faults using debugging tools, and help migrate legacy code to HAL-based libraries.
Requirements
Requires at least 3 years of industrial embedded firmware experience, deep proficiency in C, and extensive RTOS experience with a strong understanding of concurrency, resource management, and timing. A degree in Computer Engineering, Electrical Engineering, Computer Science, or equivalent technical experience is required; STM32, FreeRTOS, C++, HAL migration, Visual Studio Code, and CANopen motor-driver experience are assets.
Skills
- Embedded Firmware Development
- C
- C++
- STM32
- FreeRTOS
- RTOS
- Hardware Driver Development
- I2C
- SPI
- CAN
- Ethernet
- Concurrency
- GDB
- J-Link
- Oscilloscopes
- Logic Analyzers
Benefits
- Extended Health Care
- Dental
- Vision Care
- Health Spending Account
- Free On-Site Parking
Visa sponsorship
Not detected in the job text
Categories
- Engineering
- Software
- Technology
- Manufacturing
Keywords
- Embedded Firmware
- C
- C++
- STM32
- FreeRTOS
- RTOS
- Hardware Drivers
- I2C
- SPI
- CAN
- Ethernet
- Encoders
- Proximity Sensors
- Actuators
- Concurrency
- Mutual Exclusion
- Semaphores
- Interrupt Service Routines
- GDB
- J-Link
- Oscilloscopes
- Logic Analyzers
- STM Standard Peripheral Library
- HAL
- Visual Studio Code
- CANopen
- Motion Control
- Robotics
- Mechatronics
- Hardware Debugging