Barr Group TwitterBarr Group LinkedInBarr Group Vimeo

Robert Van Rooyen is a senior software and hardware engineer/architect with mechanical design experience that spans more than three decades of development in multimedia systems, medical devices, operating systems, networking products, and embedded systems. Robert holds an M.S. and B.S. degree in Computer Science/Engineering, and is currently a Ph.D. Candidate at the University of Victoria.

Notable Projects

  • Designer of FPGA-based digital signal processing and system control for an atomic clock.
  • Developer of embedded firmware, FPGA system control, and host software for a quantum random number generator.
  • Embedded software and hardware engineer for the design of an invasive surgical device.
  • Embedded software team lead and hardware engineer for the design of a non-invasive cardio-pulmonary medical monitoring/diagnostic device.
  • Embedded system architect for the design of a European telecom optical networking concentrator.
  • Mechanical design for a variety of embedded devices including medical devices, multimedia systems, and robotics.
  • Embedded software design and development for 10/100/1000T Ethernet switches and network interface cards.
  • Trained musician with a passion for the design of devices at the intersection of electronics and music, with experience in the design of MIDI devices, digital signal processing, and robotics.

Skills Summary

  • Languages: C, C++, Java, assembly, Verilog, and others
  • Processors: ARM, MIPS, PowerPC, Intel x86, DSPs, and microcontrollers
  • Operating Systems: Linux, Windows, Integrity, VxWorks, and RTOSes generally
  • Hardware Design: FPGAs, microprocessors, peripherals, and analog circuits

Recent Publications

Patents Awarded

  • U.S. Patent No. 7,725,150: System and Method for Extracting Physiological Data Using Ultra-Wideband Radar and Improved Signal Processing Techniques
  • U.S. Patent No. 7,676,671: System for Multi-Profile Boot Selection of an Embedded Device
  • U.S. Patent No. 6,591,376: Method and System for Failsafe Recovery and Upgrade of an Embedded Operating System