Robotics and mechatronics engineer spanning the full stack: from electronics and mechanical design, low-level embedded firmware, up to high-level ROS with vision processing pipelines. Currently completing a PhD in Engineering Mathematics at the University of Bristol, focused on distributed multi-robot decision-making and inference. Backed by 8 years leading hardware and software development for commercial and research robotics products, from PCB spin-up and firmware through to production, design-review leadership, and mentoring junior engineers. Proven track record taking systems from concept to simulation, build, and field deployment both independently and within inter-disciplinary teams.

Download my CV PDF here:

Education

Engineering Mathematics PhD — University of Bristol, 2023–present (Submitting August 2026)
Distributed Decision-Making and Information Fusion in Sparse Robot Swarms
  • Designed and deployed real-world online Bayesian factor graph inference for environmental electromagnetic surveillance aboard a multi-robot platform of six autonomous robots within a ROS framework
  • Formulated per-robot EM field inference as a GBP factor graph problem, designing custom measurement factors with Gaussian noise models and Huber robust loss functions to down-weight outlier observations. Bounded incremental pose uncertainty via landmark anchor factors, preventing bias in predicted signal values at estimated sampling locations
  • Built a high-fidelity 2D Python simulator integrating PyTorch modules to implement a local Gaussian Belief Propagation method and compared against global information approach of GTSAM
  • Examined how collective fusion estimators across multi-robot teams perform at estimating environmental properties, analysing how the topology of the resultant inter-robot communication network governs consensus accuracy and outlier rejection under real-world noisy sensing conditions
Show more detail
  • Established Git-based collaborative workflows within the research group, enabling reproducible research and adoption of the simulator across multiple student's projects
  • Wrote technical documentation for the simulator API, improving accessibility and onboarding speed for collaborators
  • Diagnosed and resolved hardware faults on physical robot platforms, and integrated new IMU and LiDAR sensors to existing ROS stack
  • Designed ROS-based data collection and telemetry pipelines to support post-hoc analysis and real-time system health monitoring. Automated simulation workloads using scheduled, containerised Docker jobs on self-managed Linux HPC clusters, including automated results figures generation pipeline and management of machine resources
  • Collaborated with a cross-disciplinary robotics team to extend existing platforms and integrate 3D point cloud sensing capabilities, delivered as part of an IAA-funded grant project
  • Presented research at international academic conferences, communicating complex technical results to both specialist and non-specialist audiences
  • Set up and georeferenced a fixed RTK-GNSS base station for repeated outdoor field trials, anchoring it to an Ordnance Survey reference coordinate to improve GNSS localisation and correct IMU drift, handling the radio correction link, reference-coordinate registration, and GNSS/IMU integration in support of the lab's projects.
  • Independently scoped and executed a multi-year research programme, managing competing priorities across hardware, software, and experimental deliverables under academic supervision
PythonC++ROS2 & tf2GTSAMPyTorchNumPy/SciPyMatplotlibLattePandaRaspberry PiNVIDIA JetsonNVIDIA OrinAWS LambdaDockerGit
Electrical & Electronic Engineering PhD — University of Manchester, 2018–2020 (Withdrew)
Distributed Containment of Autonomous Underwater Vehicles (AUVs)
  • Applied set theoretical methods (SIVIA) and numerical contractor approaches to perform a guaranteed-localisation approach on autonomous underwater vehicles with multiple inertial sensors and a camera.
  • Characterised noise models of sensors to feed into kinematic model of AUV to determine constrained state positions and implemented a real-time algorithm in C++ with hardware acceleration onto NVIDIA Xavier inside a BlueROV2 robotic platform.
  • Final submission was prevented by COVID-related cancellation of laboratory work and industrial secondments, compounded by the departure of key academic and industrial collaborators.
PythonC++ROSGazeboAUV platformsBlueROV2NVIDIA Xavier
Electrical & Electronic Engineering, MEng — University of Manchester, 2014–2018
  • 1st Class Honours
  • Specialised in electronics and control engineering, alongside modules on mathematical methods, software and signal processing.
  • Final Project: Fault localisation in the Digital Human Phantom — used an HPC cluster to run programs written in C++ that analysed large MRI tomography datasets for anomalous tissues and shapes within a digital human model.
CC++Signal processingNumerical methodsControl theoryLinuxHPC clusters

Professional History

  • Bristol University Accelerator Grant — Robotics & Software Engineer, 2025 (6 months), Bristol
    • Funded under an IAA grant to work part-time on a research project raising the technology readiness level (TRL), selecting suitable point-cloud sensors for application, writing software architecture and understanding stakeholder requirements.
    • Integrated Ouster LiDAR and OAK-D cameras to Jetson Orin robotic platform, developing pipeline and architecture for sensor capture and synchronisation for post-processing.
    • Initial work for MVP of semantic segmentation of surfaces using LiDAR and cameras using SAM2.
  • Manchester Robotics — Robotics & Embedded Engineer, 2018–2022, Manchester
    • Designed and commissioned multi-microcontroller PCBs and sensor boards for robotics products, including liaising with manufacturers for assembly and turnkey of product
    • Wrote software for robot control and a wide range of sensors including cameras and IMUs, as well as integration to compute platforms such as NVIDIA Jetson and Raspberry Pi
    • Calibrated and verified intrinsic parameters and distortion models in OpenCV across Raspberry Pi and USB cameras, validating that hardware matched expected models to filter out non-genuine parts for robotic products.
    • Developed automated PCB validation rig using Python to verify manufactured boards at scale; liaised with contract manufacturers on DFM
    • R&D for initial products and upcoming models for AUVs, UAVs and BLDC motors
    • Oversaw production of 1000+ units sold to universities & academic institutions
  • MBDA — Electronics Test Engineer, 2017 (4 months), Stevenage
    • Designed test electronics for simulating physical supply
    • Interpreted project requirements and reviewed design choices with customers
    • Collaboratively developed test hardware
    • Developed test schema for project to match project requirements

Volunteer Work

  • Sparks Repair Café — Electronics Repair Volunteer, 2023–Present, Bristol
    • Organisational management and volunteer work at a local repair cafe fixing consumer electronics and hardware items brought in by local community to prevent waste ending up in landfill.
    • Diagnose and fix a wide range of items, from consumer electronics to unusual one-offs
    • Reverse engineer schematics, source documentation and find replacement parts online
    • Teach members of the public how things work and how to repair them
    • Run workshops for community members to understand the repair ecosystem, managing repaired assets for resale and running the inventory tracking system
    • Manage finances, organisation, and compliance (PAT testing, chemical safety)
    • Coordinate and run repair sessions on open Sundays

Projects

  • UoBSAT Team — Electronics Engineer, 2023-Now
    • Upgraded existing design to comply with flight requirements and signal integrity requirements
    • Designed multiple PCB revisions to get working prototype
    • Suggested IC selection improvements and more suitable design choices
    • Designed, manufactured, populated, tested PCB for required application
    • Moved to SoM design away from Single board computer design
    • Gave design reviews for students work
    • Guided interdisciplinary undergraduates through design decisions and choices that were made
  • MANSEDS European Rover Challenge Team — Robotics Lead, 2019–2021
    • Developed ROS C++ motor controller firmware for high-power BLDC motors, wrote C++ CANbus management ROS nodes for controlling movement of rover
    • Led design reviews and mentored a team of 8 undergraduates across ROS navigation stack, sensor PCBs, and firmware tasks
    • Designed power & CANbus management system for high power BLDC motors
  • MANSEDS Balloonian Team — Lead Electronics Engineer, 2017–2019
    • Designed electronics for high altitude weather balloon payload
    • Worked with multi-disciplinary team to decide on requirements
    • Conducted atmospheric testing of electronics for high altitude operation
    • Ran workshops with undergraduates for teaching electronics

Technical Skills

  • Robotics: ROS1&2, tf2, rosbags, ros2_control, Gazebo, kinematics & dynamics, RTABMap
  • Sensors: Ouster LiDAR, Luxonis OAK-D, Intel RealSense, Xsens IMU + RTK, DVLs
  • Software & Packages: GTSAM, NumPy/SciPy, Eigen, PyTorch, OpenCV, Ouster & PCL, KiCad/Altium, Autodesk Inventor
  • Programming Languages: C++ (17 & 20), Python, Rust, Shell scripts
  • Tools & Infrastructure: Git, Docker, CMake, colcon, Linux administration
  • Electrical & Electronic: Schematic & layout design, analogue sensor & high-speed digital design, multi-board & SBC designs: signal integrity (impedance-controlled routing, high-speed differential pairs, return path management), precision PCB assembly, SMD rework & refurb, PCB population & validation
  • Practical: Precision PCB assembly, SMD rework & refurbishment, 3D printing & prototyping, laser cutting

Publications

Talks

Teaching

  • Digital Circuit Fundamentals — University of Bristol (2024-2025)
    module detail

    First-year unit progressing from Boolean algebra and Karnaugh maps through combinational/sequential logic, state machines, and CPU fundamentals. GTA role supervised practical labs and provided feedback on logic design problem sheets.

  • Analysis and Design of Electrical & Electronic Systems — University of Bristol (2023-2026)
    module detail

    First-year core unit spanning thermodynamics, energy conversion, and linear/non-linear circuit analysis from physical principles through to system-level performance. GTA role covered bench top equipment training and circuit measurement fundamentals across multiple lab sessions.

  • Applied Control — University of Manchester (2019-2021)
    module detail

    MSc unit establishing classical control foundations — feedback modelling, PID design in MATLAB, and industrial process structures including cascade and feedforward control, with LabVIEW practicals. GTA role supervising sessions, assisting with controller tuning, and marking coursework.

  • High Speed Digital & Mixed Signal Design — University of Manchester (2020-2021)
    module detail

    Third-year elective covering signal integrity (reflections, crosstalk, transmission line effects), controlled impedance routing, and mixed-signal PCB partitioning strategies at high frequencies. Demonstrator role guiding PCB layout exercises in Altium and reviewing designs for signal integrity issues.

  • Digital Control — University of Manchester (2019-2021)
    module detail

    MSc unit covering z-transform analysis, digital PID design, and Model Predictive Control, with MATLAB/Simulink lab work throughout. GTA role running lab sessions, supporting MPC coursework, and holding office hours for exam prep.

  • Embedded Systems Project — University of Manchester (2020-2021)
    module detail

    Year-long team project in which students design and build an autonomous line-following buggy from scratch, covering microcontroller programming, sensor interfacing, analogue/digital circuit design, and a competitive race at year end. Demonstrator role supporting lab sessions, debugging hardware and firmware issues, and assessing progress milestones.

  • Control Systems I & II — University of Manchester (2019-2022)
    module detail

    Two-unit BEng modules covering classical control (Laplace transforms, root locus, Bode plots, PID etc) in Year 2 and extending to state-space methods, observers, and discrete-time control in Year 3. Demonstrator and tutor role across lab sessions, drop-in tutorials, and coursework marking.

  • Nonlinear and Adaptive Control Systems — University of Manchester (2018-2021)
    module detail

    MSc unit covering nonlinear analysis (phase-plane, Lyapunov stability, describing functions) and adaptive control (MRAC, self-tuning regulators) for systems with uncertain or time-varying parameters. GTA role running tutorial sessions on Lyapunov analysis and backstepping, and marking exercise sheets.

Extracurricular Interests

  • Olympic Weightlifting I’ve been doing weightlifting for a long time now and semi-regularly compete when I get the chance.

  • Sparks Repair Café : Regular volunteer and electronics repairer at Sparks Repair Café or our Instagram in Bristol. I diagnose and fix consumer electronics brought in by members of the public, from amplifiers and turntables to e-bikes and game consoles; keeping devices out of landfill and sharpening practical fault-finding skills in the process.

  • Espresso Machines: Because there’s no such thing as originality, I’m an engineer who’s into his espresso. I fix up and tinker with Gaggia machines, trying to get the best pull out of my beans.