
Wildfire Robotics
Robotics Consultant
January 2024 - present
Robotics Specialist
January 2020 - October 2023
I was a founding member of Wildfire Robotics, primarily designing and developing the control system behind our robotic sprayline technology, Firewall. I shaped the design from the early concept stage, developing the robot’s locomotion system and creating the control system architecture. I delivered rapid iterations of prototypes for mechanical, electrical, and software systems. Testing those prototypes to their limits guided the design of the latest version of Firewall, now working with Alberta Wildfire to enable new wildfire containment strategies and improve firefighter safety.
Firewall
Firewall is a self-propelled, remotely controlled fluid spray line that meets the demands of modern wildfire containment while keeping firefighters safe. We have built several generations of Firewall, performed extensive field testing, and partnered with Alberta Wildfire for testing and operational deployment.
System Concept Design
I developed, modeled, and simulated locomotion algorithms for potential system designs and created flowcharts and other diagrams for patent applications.
3D Modeling (SolidWorks)
State machine design
Patent drawings and diagrams
Motion Analysis and Simulation
Manufacturing Feasibility analysis
Software
I planned software development timelines to closely follow the progress of hardware systems, focusing on building minimal solutions that I tested early and often. I expanded both back-end and front-end capabilities to meet specific needs as our prototypes progressed in deployment distance and complexity.
Minimum viable prototype control system (1st Generation)
Distributed control via CAN bus (2nd Generation), custom WebSocket back-end (3rd-4th Generation), and ROS2 (5th generation)
Supports hot-swapping control nodes with diverse capabilities and responsibilities
Dynamically coordinated motion between multiple nodes
Lightweight web front-end built using JavaScript and CSS, featuring touchscreen and Xbox controller inputs
Many onboard cameras and sensors for large area monitoring during day and night operations
Control Nodes
I designed a fully waterproof distributed control system for Firewall. Each node connects to a system-wide network, with Ethernet connections between nodes and mesh WiFi capable of bridging any broken wired connections. The WiFi network also supports the mobile operator interface and auxiliary communications.

Off-the-shelf electronics platform with modular components
Easy expansion using I²C
Waterproof electronics enclosures fit for the very small available space inside the robot
Easily hot-swappable with waterproof pluggable wire harnesses
Mesh WiFi for operator mobility and redundancy
Operator Interface
I selected a standard Xbox gamepad for primary functions, with additional touchscreen controls provided via web app on a smartphone or tablet. As an operator, I found it particularly valuable to be able to move freely around the work area for safety and optimal situational awareness.

Web app combining touchscreen and Xbox controlss, built using JavaScript and CSS
Multi-camera and sensor monitoring
Wireless connection to system-wide WiFi network to enable free movement throughout operations
Micro-ROS Spray Valve System
I designed low-cost control nodes for the individually-controlled spray nozzles along the length of Firewall, driving motorized ball valves with RP2040 microcontrollers running Micro-ROS connected via WiFi. I also developed a wireless software update capability to streamline operations using hundreds of these nodes.

Fully waterproof electronics enclosures
Waterproof pluggable wire harnesses
Micro-ROS control system written in C running on RP2040
Custom RP2040 bootloader supporting OTA updates
Power Delivery
I delivered several generations of power supply architectures with integrated safety systems, designed to handle planned and unplanned power loss.
DC 24V and 48V actuator power supply architecture for simplicity during smaller scale testing with shorter length requirements
AC 120V and 240V actuator power system, implemented to support long-distance deployments and onboard devices with high power requirements, such as air compressors
Press any E-stop anywhere on the system to cut actuator power supply via safety relay
Fully separated power system for networking and compute, remains functional during E-stop for sensor monitoring
Onboard UPS for all control nodes, providing networking and back-end continuity during planned power loss events when new control nodes are added
Fully waterproof pluggable wire harnesses
Backstop System (1st/2nd Generation)
Maintaining firm traction is critical to the operation of a Firewall system, requiring Backstop units placed regularly along the length of the robot. Each Backstop unit consists of a single waterproof electric actuator which deploys and retracts a pair of one-way traction spikes, each allowing only forward or reverse motion when deployed.
Waterproof electrical actuators and wire harnesses
Laser cut and brake formed aluminum construction
Modular design to allow flexible placement of Backstop units
Shielded and streamlined design to prevent jams and snags
Component 8
This is a description of Project 1 Component 8 and my involvement in the process.

Rich Content Feature 1 - here is a long-winded description to see how this thing handles length.
Rich Content Feature 2
Rich Content Feature 3
Rich Content Feature 4
Rich Content Feature 5
Project 2 Title
This is a project description. This section highlights my involvement in the project, my responsibilities, an overview of the challenges and how I overcame them.

Component 1
This is a description of Project 2 Component 1 and my involvement in the process.

Rich Content Feature 1 - here is a long-winded description to see how this thing handles length.
Rich Content Feature 2
Rich Content Feature 3
Rich Content Feature 4
Rich Content Feature 5
Component 2
This is a description of Project 2 Component 2 and my involvement in the process.

Rich Content Feature 1 - here is a long-winded description to see how this thing handles length.
Rich Content Feature 2
Rich Content Feature 3
Rich Content Feature 4
Rich Content Feature 5
Component 3
This is a description of Project 2 Component 3 and my involvement in the process.

Rich Content Feature 1 - here is a long-winded description to see how this thing handles length.
Rich Content Feature 2
Rich Content Feature 3
Rich Content Feature 4
Rich Content Feature 5
Component 4
This is a description of Project 2 Component 4 and my involvement in the process.

Rich Content Feature 1 - here is a long-winded description to see how this thing handles length.
Rich Content Feature 2
Rich Content Feature 3
Rich Content Feature 4
Rich Content Feature 5
Component 5
This is a description of Project 2 Component 5 and my involvement in the process.

Rich Content Feature 1 - here is a long-winded description to see how this thing handles length.
Rich Content Feature 2
Rich Content Feature 3
Rich Content Feature 4
Rich Content Feature 5
Component 6
This is a description of Project 2 Component 6 and my involvement in the process.

Rich Content Feature 1 - here is a long-winded description to see how this thing handles length.
Rich Content Feature 2
Rich Content Feature 3
Rich Content Feature 4
Rich Content Feature 5
Component 7
This is a description of Project 2 Component 7 and my involvement in the process.

Rich Content Feature 1 - here is a long-winded description to see how this thing handles length.
Rich Content Feature 2
Rich Content Feature 3
Rich Content Feature 4
Rich Content Feature 5
Component 8
This is a description of Project 2 Component 8 and my involvement in the process.

Rich Content Feature 1 - here is a long-winded description to see how this thing handles length.
Rich Content Feature 2
Rich Content Feature 3
Rich Content Feature 4
Rich Content Feature 5
Project 3 Title
This is a project description. This section highlights my involvement in the project, my responsibilities, an overview of the challenges and how I overcame them.

Component 1
This is a description of Project 3 Component 1 and my involvement in the process.

Rich Content Feature 1 - here is a long-winded description to see how this thing handles length.
Rich Content Feature 2
Rich Content Feature 3
Rich Content Feature 4
Rich Content Feature 5
Component 2
This is a description of Project 3 Component 2 and my involvement in the process.

Rich Content Feature 1 - here is a long-winded description to see how this thing handles length.
Rich Content Feature 2
Rich Content Feature 3
Rich Content Feature 4
Rich Content Feature 5
Component 3
This is a description of Project 3 Component 3 and my involvement in the process.

Rich Content Feature 1 - here is a long-winded description to see how this thing handles length.
Rich Content Feature 2
Rich Content Feature 3
Rich Content Feature 4
Rich Content Feature 5
Component 4
This is a description of Project 3 Component 4 and my involvement in the process.

Rich Content Feature 1 - here is a long-winded description to see how this thing handles length.
Rich Content Feature 2
Rich Content Feature 3
Rich Content Feature 4
Rich Content Feature 5
Component 5
This is a description of Project 3 Component 5 and my involvement in the process.

Rich Content Feature 1 - here is a long-winded description to see how this thing handles length.
Rich Content Feature 2
Rich Content Feature 3
Rich Content Feature 4
Rich Content Feature 5
Component 6
This is a description of Project 3 Component 6 and my involvement in the process.

Rich Content Feature 1 - here is a long-winded description to see how this thing handles length.
Rich Content Feature 2
Rich Content Feature 3
Rich Content Feature 4
Rich Content Feature 5
Component 7
This is a description of Project 3 Component 7 and my involvement in the process.

Rich Content Feature 1 - here is a long-winded description to see how this thing handles length.
Rich Content Feature 2
Rich Content Feature 3
Rich Content Feature 4
Rich Content Feature 5
Component 8
This is a description of Project 3 Component 8 and my involvement in the process.

Rich Content Feature 1 - here is a long-winded description to see how this thing handles length.
Rich Content Feature 2
Rich Content Feature 3
Rich Content Feature 4
Rich Content Feature 5