Avatar for Haply Robotics
Haply Robotics
Actively Hiring
Bringing Touch to Technology

Firmware Developer

  • $85k – $120k
  • |
  • |3 years of exp
  • |Full Time
Posted: 3 months ago
Job Location
Remote Work Policy

In office

Visa Sponsorship

Not Available

RelocationAllowed
Skills
C++
Git
C
Oscilloscope
Spi
Usb
Uart
I2C
Motor Control
Code Review
Can
Logic Analyzer
TCP
Interrupts
DMA
Websocket
encoders
Pull Requests
Force/torque Sensing
Timing-Critical Loops
Real-Time Signal Chains
Custom Binary Protocols

About the job

Français ci-dessous | English below

Lieu : Montréal, QC (sur site)

Type : Temps plein

Relève de : Logiciel / R&D

Fourchette salariale (CAD, indicative, à préciser) : 85 000 $ à 120 000 $ + avantages

À propos de Haply

Haply Robotics conçoit les dispositifs haptiques les plus précis au monde. Notre gamme Inverse (Inverse3, Inverse5, Inverse X) ainsi que le VerseGrip associent une mécatronique sur mesure à un firmware finement contrôlé afin d’offrir une précision submillimétrique et submillinewton, à des fréquences de plusieurs centaines de hertz. Ces dispositifs sont utilisés dans les domaines de la robotique, de la téléopération, de la simulation chirurgicale et des outils créatifs.

À propos du poste

Vous rejoindrez l’équipe firmware responsable du micrologiciel fonctionnant sur la gamme de dispositifs haptiques Inverse ainsi que sur le VerseGrip. Votre mission sera de garantir que les modifications du firmware sont correctes, sûres et explicitement définies à chaque interface matérielle, et que le comportement du dispositif reste parfaitement aligné avec les attentes du logiciel.

Vous travaillerez en étroite collaboration avec deux équipes :

• L’équipe des pilotes (drivers), sur les bibliothèques côté hôte et les protocoles qui communiquent avec les dispositifs. Les formats de données, le timing, la gestion des erreurs et la compatibilité des versions se situent à cette interface.

• L’équipe des services, sur l’environnement d’exécution qui se situe entre les dispositifs et les applications. Une collaboration fluide à ce niveau permet d’éviter toute rupture perceptible entre le firmware et le logiciel pour les utilisateurs.

Vous travaillerez également avec les ingénieurs en mécatronique et en contrôle sur le pilotage des moteurs, les systèmes de détection et les mécanismes de sécurité. Le poste inclut la collaboration avec un ingénieur senior pour la cartographie des risques et l’architecture, ainsi qu’une grande autonomie pour prendre en charge des fonctionnalités de bout en bout.

Ce que vous ferez

• Implémenter des modifications firmware pour l’Inverse3, l’Inverse5, l’Inverse X et le VerseGrip : fonctionnalités, mécanismes de sécurité, protocoles de communication, routines de calibration et boucles rapides de retour de force.

• Associer chaque modification à notre taxonomie des 8 risques et contribuer aux spécifications fonctionnelles des fonctionnalités de sécurité du firmware.

• Travailler en étroite collaboration avec les équipes des pilotes (drivers) et des services. Co-concevoir les évolutions des protocoles, déboguer à l’interface firmware/hôte et garantir une compatibilité des versions maîtrisée plutôt que fortuite.

• Diagnostiquer et corriger les problèmes à l’interface matériel-logiciel. Analyser les journaux de protocole, décoder les formats de données, reproduire les bugs de timing et boucler avec les personnes de l’autre côté du câble.

• Mettre en place et maintenir des bancs de test firmware, des simulateurs et des configurations HIL (hardware-in-the-loop). Le firmware mérite le même niveau de rigueur en matière de tests que le reste du codebase.

• Participer aux revues de code, aux décisions d’architecture et à la planification des nouvelles fonctionnalités firmware pour les dispositifs à venir.

• Contribuer à l’écosystème de build du firmware, aux mises à jour OTA (over-the-air) et à la gestion des versions.

Ce que nous recherchons

Exigences

• 3+ ans d’expérience professionnelle en firmware / systèmes embarqués.

• Solide maîtrise du C / C++ sur des cibles embarquées temps réel : interruptions, DMA, boucles critiques en termes de timing.

• Familiarité avec le contrôle des moteurs, les codeurs, la détection de force/couple ou des chaînes de signal temps réel comparables.

• À l’aise avec les communications bas niveau : SPI, I2C, UART, USB, CAN, WebSocket / TCP, protocoles binaires personnalisés.

• Capacité à lire des schémas électroniques, à collaborer avec des ingénieurs en électronique (EE) et à analyser le matériel à l’aide d’outils comme un oscilloscope et un analyseur logique.

• Approche rigoureuse de la sécurité : vous anticipez les modes de défaillance avant que les cas limites ne deviennent problématiques.

• Autonome et proactif, vous prenez en charge les sujets de bout en bout, de l’investigation jusqu’à une solution propre et validée.

• À l’aise avec Git et les workflows structurés de pull requests et de revue de code.

• Excellentes compétences en communication. Vous collaborez efficacement avec les équipes adjacentes (drivers, services, mécatronique) et documentez les modifications que vous apportez.

Atouts

• Expérience avec les microcontrôleurs ARM Cortex-M (STM32, NXP, etc.) et les HAL correspondants.

• DSP, filtres numériques, boucles de contrôle (PID, contrôle d’impédance/admittance).

• Connaissance des normes de sécurité fonctionnelle (IEC 61508, IEC 62304, ISO 13849). Une expérience partielle est également appréciée.

• Expérience des mises à jour OTA, de la signature du firmware et des stratégies de compatibilité des versions.

• Maîtrise de Bash et Linux ainsi que de PowerShell et Windows. À l’aise dans les deux environnements.

• Bilingue français/anglais. L’environnement de travail est bilingue.

Modes de fonctionnement

• Planifie les modifications avant de les implémenter. Formalise les intentions, évalue l’impact sur les systèmes adjacents, en particulier à l’interface firmware/driver/service.

• Communique de manière proactive lorsqu’il travaille à proximité des interfaces entre domaines (logique de contrôle, comportement matériel, état côté hôte).

• À l’aise pour travailler sans disposer de tout le contexte métier. Sait lire le code, poser les bonnes questions et contribuer efficacement aux côtés de spécialistes.

• Capacité à identifier les problèmes de justesse, les risques liés à la concurrence et les fuites d’abstraction lors des revues de code.

Location: Montreal, QC (on-site)

Type: Full-time

Reports to: Software / R&D

Salary range (CAD, indicative, to be refined): $85,000 to $120,000 + benefits

About Haply

Haply Robotics builds high-precision haptic devices. The Inverse family (Inverse3, Inverse5, Inverse X) and VerseGrip combine custom mechatronics with tightly controlled firmware to deliver sub-millimetre, sub-millinewton precision at high frequencies. Used in robotics, teleoperation, surgical simulation, and creative tools.

About the Role

You’ll join the firmware team responsible for the Inverse family and VerseGrip. Your role is to ensure firmware changes are correct, safe, and well-defined at every hardware boundary, keeping device behaviour aligned with the software.

You’ll work closely with:

Driver team – host libraries and communication protocols (formats, timing, errors, versioning)

Service team – runtime layer between devices and applications

You’ll also collaborate with mechatronics and control engineers on motor control, sensing, and safety. The role includes support from a senior engineer (architecture, hazard mapping) and ownership of features end-to-end.

What You’ll Do

• Implement firmware changes: features, safety paths, communication protocols, calibration, force-feedback loops

• Map changes to the 8-hazard taxonomy and contribute to safety specifications

• Collaborate with driver and service teams on protocols, debugging, and version compatibility

• Diagnose hardware-software issues: logs, wire formats, timing bugs

• Build and maintain test rigs, simulators, and HIL setups

• Participate in code reviews, architecture decisions, and feature planning

• Contribute to build systems, OTA updates, and version management

What We’re Looking For

Required

• 3+ years firmware / embedded experience

• Strong C/C++ on real-time systems (interrupts, DMA, timing-critical loops)

• Familiarity with motor control, encoders, force/torque sensing, or similar

• Low-level communication (SPI, I2C, UART, USB, CAN, WebSocket/TCP, custom protocols)

• Ability to read schematics and debug hardware (oscilloscope, logic analyser)

• Strong safety mindset (failure modes, edge cases)

• Ownership from investigation to reviewed solution

• Comfortable with git and PR/review workflows

• Strong communication across teams

Nice to Have

• ARM Cortex-M (STM32, NXP)

• DSP, filters, control loops (PID, impedance/admittance)

• Functional safety standards (IEC 61508, IEC 62304, ISO 13849)

• OTA updates, firmware signing, versioning

• Linux (bash) and Windows (PowerShell)

• French/English bilingual

Ways of Working

• Plans changes, documents intent, evaluates system impact

• Communicates across domain boundaries (firmware/driver/service)

• Works effectively without full context; asks the right questions

• Identifies correctness issues, concurrency risks, and abstraction leaks in reviews

About the company

Haply Robotics company logo

Haply Robotics

Actively Hiring
Bringing Touch to Technology11-50 Employees
Learn more about Haply Robotics image

Funding

AMOUNT RAISED
$3.5M
FUNDED OVER
2 rounds
Rounds
S
$3500000
Seed - Mar 2023+1

Founders

Colin Gallacher
Founder
Montreal
image
Yi (Steven) Ding
Founder
image
View the team image

Similar Jobs

LCA company logo
LCA
From AI to addictive apps, we design products for the future
Altinity company logo
Altinity
The leading service and software provider for ClickHouse
Projekt Network company logo
Projekt Network
Building a platform that will transform the recruiting experience in the skilled trades
KixCare company logo
KixCare
Canada’s only national, bilingual virtual healthcare platform dedicated to kids & teens