About Haply
Haply Robotics builds the world's most precise haptic devices. Our Inverse family (Inverse3, Inverse5, Inverse X) and VerseGrip couple custom mechatronics with tightly-controlled firmware to deliver sub-millimetre, sub-millinewton fidelity at hundreds of Hz. They're used across robotics, teleoperation, surgical simulation, and creative tooling.
About the Role
You'll join the firmware team that owns the firmware running on the Inverse family of haptic devices and on VerseGrip. Your job is to make sure firmware changes are correct, safe, and explicit at every hardware boundary, and that the device behaviour stays in lockstep with what the software side expects.
You'll partner closely with two teams:
• The driver team, on the host-side libraries and protocols that talk to the devices. Wire formats, timing, error handling, and version compatibility live at this seam.
• The service team, on the runtime that sits between the devices and applications. Smooth collaboration here is what keeps users from feeling the join between firmware and software.
You'll also work with mechatronics and control engineers on motor control, sensing, and safety paths. The role has a senior engineer alongside you for hazard mapping and architecture, and plenty of room to own features end-to-end.
What You'll Do
- Implement firmware changes for Inverse3, Inverse5, Inverse X, and VerseGrip: features, safetynpaths, communication protocols, calibration routines, force-feedback hot loops.
- Map every change to our 8-hazard taxonomy and contribute to the firmware safety feature functional specifications.
- Work hand-in-hand with the driver and service teams. Co-design protocol changes, debug across the firmware/host boundary, and keep version compatibility intentional rather than accidental.
- Diagnose and fix hardware-software boundary issues. Read protocol logs, decode wire formats, reproduce timing bugs, and close the loop with the people on the other side of the cable.
- Set up and maintain firmware test rigs, simulators, and HIL setups. Firmware deserves the same testing discipline as the rest of the codebase.
- Participate in code reviews, architecture decisions, and the planning of new firmware features for upcoming devices.
- Contribute to the firmware build, OTA update, and version-management story.
What We're Looking For
- Required
- 3+ years of professional firmware / embedded experience.
- Strong C / C++ on real-time embedded targets: interrupts, DMA, timing-critical loops.
- Familiarity with motor control, encoders, force/torque sensing, or comparable real-time signal paths.
- Comfort with low-level communication: SPI, I2C, UART, USB, CAN, WebSocket / TCP, custom binary protocols.
- Ability to read schematics, work with EE colleagues, and probe hardware (oscilloscope, logic analyser).
- Disciplined approach to safety: you reason about failure modes before edge cases bite.
- Self-starter who takes ownership end-to-end, from investigation through to a clean, reviewed solution.
- Comfortable with git and structured PR/review workflows.
- Strong communicator. You work well with adjacent teams (drivers, service, mechatronics) and document what you change.
- Nice to have
- Experience with ARM Cortex-M (STM32, NXP, etc.) and corresponding HALs.
- DSP, digital filters, control loops (PID, impedance/admittance control).
- Functional safety standards (IEC 61508, IEC 62304, ISO 13849). Even partial exposure helps.
- Experience with OTA updates, firmware signing, version compatibility schemes.
- Bash + Linux as well as PowerShell + Windows. Comfort across both.
- Bilingual French/English. Working environment is bilingual.
Ways of Working
- Plans changes before implementing. Writes up intent, considers impact on adjacent systems, especially across the firmware/driver/service boundary.
- Communicates proactively when working near domain boundaries (control logic, hardware behaviour, host-side state).
- Comfortable working without full domain context. Reads code, asks the right questions, contributes meaningfully alongside specialists.
- Spotting correctness issues, concurrency hazards, and abstraction leaks during review is a strength.
Why Join
- Real hardware on every desk. Debug at the bench, not in the abstract.
- Tight team, short feedback loops, no theatre.
- A firmware codebase you can actually shape. Sensible scope, deliberate evolution, no over-engineering.
- Direct collaboration with the driver and service teams. The firmware/software seam is treatedas a single problem, not two silos.
- On-site in Montreal: modern downtown office.
To apply: send a CV and a few links or examples (firmware projects, side hardware projects, anything you've shipped to real users or hardware). Cover letters welcome but optional.
Our Product
What We Offer
Each employee has a chance to see the impact of his work.
You can make a real contribution to the success of the company.
Several activities are often organized all over the year, such as weekly
sports sessions, team building events, monthly drink, and much more
Perks
A full-time position
Attractive salary package.
Trainings
12 days / year, including
6 of your choice.
Sport Activity
Play any sport with colleagues,
the bill is covered.
Eat & Drink
Fruit, coffee and
snacks provided.



