Embedded Development Engineer

Waterloo, Ontario, Canada | Engineering | Full-time

Apply

About Voyis:

Voyis designs and manufactures high performance underwater optical sensors (lasers, cameras, lights) for autonomous underwater vehicles that expand capability and enhance understanding in underwater surveys and exploration. Our products have enabled our customers to survey more than 10,000km of ocean floor across all 7 continents, helping people better understand those remote, challenging environments. Our mission is to push the limits of what’s possible subsea and enable every underwater vehicle to see the depths like we see the surface.

All our products are proudly designed and built in Waterloo

 

What you’ll do:

As an Embedded Development Engineer at Voyis you will have input and influence across our firmware, software, and embedded hardware development efforts. We are looking to have an expert in microcontroller programming, testing, and debugging. You will take part in product level discussions about precision timing, sensor integration, customer-interfaces and internal I/O, and other core functionality of our optical payload systems.

We are looking for an engineer with thorough experience in test and development of real-time capable embedded systems. You will be responsible for developing these systems and communicating your work out to the Software and Hardware development teams. You will be a subject-matter-expert in combining the complex requirements of the product and implementing solutions that work robustly across our entire range of subsea systems. You will interface with camera sensors, SOMs and carrier boards, networking devices and cabling, Linux Kernels, BSPs, device drivers, and more.

This is an opportunity to leverage your broad experience in firmware development, microcontrollers, embedded communications/networking, timing, and test. You will work with a range of platforms and technologies including: C++, FreeRTOS, Linux, ARM, CUDA, Python, GitHub, Windows, Conan, Github Actions, Conan, Artifactory, Docker.

Core responsibilities include:

  • Own the development and validation of microcontroller firmware (STM32 ARM), implementing new features and controls for operating Voyis systems
  • Be the subject-matter-expert in communications protocols and precision timing for multiple sensors. Manage firmware-hardware configuration settings for Voyis products to achieve desired product functionality goals
  • Develop for software embedded Linux and bare metal microcontrollers using C++. Create internal tools using Python. Integrate and test new devices into our embedded stack up including carrier boards, cameras, and other sensors
  • Manage Board Support Packages and custom kernels for our embedded Linux systems.
  • Plan and execute embedded software and hardware tests to verify new features and functionality for our cameras, LEDs, and lasers, using scopes and scripts to monitor essential data.
  • Interface with both software and hardware engineering teams, and act as a systems integrator
  • Participate in design and reviewing for new PCBAs and embedded IO interfaces

 

Note: this is an in-person role at our headquarters in Waterloo. There may opportunities for some remote work, however this role includes significant work with hardware, and joins a team of developers who are all in office.

 

Your qualifications:

  • Proven capabilities with real-time systems / RTOS and microcontroller firmware development.
  • Excellent working capabilities with: C++, FreeRTOS, Python
  • Experience with development for x86 and ARM (NVIDIA Jetson) embedded architectures. Advanced knowledge of Linux, including kernel development. Experience writing device drivers, BSP’s and DTS’s for embedded systems
  • Excellent communication skills both verbally and written. These are essential skills for a successful engineer at Voyis.
  • Familiar with network and communication protocols: I2C, MIPI CSI-2, TCP/UDP, RS485/UART, PCIe, USB 3x
  • Bachelor degree in Computer Engineering, Electrical Engineering, or similar
  • Comfortable with an oscilloscope: probing trigger lines and I/O pins for comprehensive firmware testing and validation. Experienced with JTAG and ST-debugging tools.

 

Bonus Points for:

  • Experience with NVIDIA Jetson SOMs and carrier boards
  • Experience with multi-threaded development and design
  • Proven skills in developing precise timing systems (microsecond). Experience with timing protocols: NTP, PTP, PPS
  • Capable in reading and interpreting electrical schematics, PCB layouts
  • Familiar with calibration methods for camera and other robotics sensors
  • Experience with ROS2 or DDS

 

The Perks:

  • Flexible work hours, lots of vacation, and a dedication to work-life balance
  • RRSP Matching
  • Health and vision benefits 
  • Profit-sharing within to celebrate our successes together
  • Employee-directed personal education funds to drive continuous learning
  • Regular company-wide social events

 

Why you should join Voyis:

Our team is made up of problem-solvers, passionate about pushing the boundaries of what’s possible underwater. We get excited about building cool products and working on exciting projects like going to the Galapagos, Endurance, Titanic (and lots of other shipwrecks too!). We are a small and closely-knit team. Each member of our team makes a significant impact not just on our business, but on our customers as well.

 

At Voyis we value diversity and we’re proud to be an equal opportunity workplace. We are committed to creating an inclusive environment for all. We thank everyone who applies and for their interest in working for Voyis, however, only candidates selected for an interview will be contacted. No telephone or walk-in inquiries please. To learn more about life at Voyis, check out voyis.com and follow us on LinkedIn.