Embedded Firmware Developer
Location: Calgary, AB (Hybrid)
Employment Type: Full-Time
Company: OPIsystems Inc.
About OPIsystems
For over 40 years, OPIsystems has helped farmers and agribusinesses around the world protect and optimize the value of stored grain through innovative monitoring, control, and data-driven solutions. Our hardware, firmware, cloud platform, and analytics technologies are deployed globally to support safer and more efficient grain storage operations.
Position Overview
We are looking for an experienced Embedded Firmware Developer to join our engineering team immediately. This role will focus initially on supporting and enhancing our BLUE® platform, including bug fixing, system stabilization, code refactoring, and feature development. Over time, the successful candidate will transition into the development of next-generation products within our EPIQ® platform, helping shape the future of connected agricultural IoT systems.
This position is hands-on and ideal for someone who enjoys troubleshooting complex field issues, improving legacy codebases, and developing reliable firmware for distributed embedded systems operating in challenging real-world environments.
Immediate Responsibilities
You will work primarily on embedded Linux-based systems and be responsible for:
- Investigating and resolving firmware defects and field-reported issues.
- Refactoring and modernizing existing C and Python codebases.
- Designing and implementing new product features.
- Improving system reliability, maintainability, and performance.
- Collaborating with QA to identify root causes and validate fixes.
- Supporting wireless communications based on Synapse radio networks.
- Developing and maintaining data exchange protocols using:
- MQTT
- JSON
- Protocol Buffers (protobuf)
- Working closely with cloud and application development teams to ensure seamless system integration.
Participating in system architecture and design discussions.
Long-Term Responsibilities
As part of our strategic product roadmap, you will contribute to the development of next-generation IoT devices and control systems:
- Design and develop firmware for ESP32-based devices.
- Develop applications running on FreeRTOS.
- Implement communications using:
- AWS IoT Core
- MQTT
- ESP-NOW
- RS485 / Modbus
- UART
- I²C
- Develop and enhance over-the-air (OTA) update mechanisms.
- Integrate sensors, actuators, and wireless field devices.
- Contribute to new hardware designs and system architecture.
- Develop automated tests, diagnostics, and deployment tools.
- Support production releases and long-term product maintenance.
What You'll Be Doing
- Develop and maintain reliable embedded firmware for monitoring and control systems.
- Troubleshoot and debug embedded hardware and firmware issues.
- Participate in code reviews and maintain coding standards.
- Create and maintain technical documentation.
- Work cross-functionally with hardware, cloud, QA, and product teams.
- Support firmware releases and investigate escalated field issues.
- Contribute to build systems, testing frameworks, and development processes.
Required Qualifications
- Bachelor's degree in Computer Engineering, Software Engineering, Electrical Engineering, Computer Science, or equivalent experience.
- 5+ years of embedded firmware development experience.
- Strong proficiency in:
- C programming
- Python
- Linux
- Experience with embedded networking and communications protocols.
- Experience with MQTT-based IoT systems.
- Experience using JSON and Protocol Buffers.
- Solid debugging and troubleshooting skills.
- Experience using Git/GitHub and Agile development tools such as Jira.
- Ability to read electrical schematics and collaborate with hardware designers.
- Strong written and verbal communication skills.
Preferred Qualifications
- Experience with FreeRTOS.
- Experience with ESP32 development using ESP-IDF.
- Experience with AWS IoT Core.
- Experience with RS485, Modbus, UART, and I²C.
- Experience with wireless mesh or low-power radio networks, including Synapse radios.
- Familiarity with OTA firmware update architectures.
- Experience designing communication protocols for distributed systems.
- Knowledge of automated testing, CI/CD, and firmware release processes.
- Experience with agricultural, industrial, or IoT products.
Why Join OPIsystems?
- Work on products deployed globally.
- Influence both legacy and next-generation product platforms.
- Collaborate with a highly experienced engineering team.
- Solve real-world IoT, wireless networking, and embedded systems challenges.
- Help shape the future of connected agriculture.