CV
Education#
2004 - 2009
Queen’s University, Belfast
- MEng Electronic and Software Engineering [First Class Honours]
- Thesis: ‘Investigation into Trust and Reputation Metrics for Open 802.11 Networks’
Awards#
2023
Matter Working Group Outstanding Contributor Award2009
OpenFX Award for Engineering Software Excellence, EEECS Faculty, Queen’s University, Belfast
Tool Box#
Programming
C, C++, Python, Go
Technologies & Frameworks
Wi-Fi, Bluetooth Low Energy, M2M (MQTT/CoAP/REST), CBOR, Protobuf, Protocol Design & Implementation, UART/SPI/I2C,
TCP/IP, LTE-M, Mesh Technologies (Thread, Bluetooth Mesh), Smart-Home (HomeKit, Matter), Multi-Threaded Design, LVGL,
Yocto, Zephyr, FreeRTOS
Tools & Platforms
Linux, Git, GCC/GDB, CMake, Valgrind, Docker, Balena, AWS IoT Core, AWS Lambda, Serverless, Wireshark, Raspberry Pi (3/4/CM4),
Nordic MCUs, ESP32 MCUs (IDF), Agile/SCRUM, BDD (Gherkin)
Hardware & Prototyping
PCB Design (Altium), Soldering Iron, Oscilloscope, Logic Analyser
Skills & Competencies
Customer Interaction & Field Support: Proven ability to engage with global customers, distilling technical details into actionable,
clear presentations, and providing field support to resolve critical issues. Adept at understanding customer requirements and aligning
product development to meet market needs.
Product Management: Skilled in overseeing the product lifecycle, from concept to launch, with hands-on experience managing product features, requirements, and roadmaps. Strong ability to collaborate with engineering, design, and business teams to prioritise features, manage releases, and ensure successful product outcomes.
Open Source Engagement: Experience working with, and contributing to, open source software projects. Adept at navigating community-driven development processes, collaborating with global contributors, and aligning open-source innovations with organizational objectives.
Occupation History#
Dyson#
2023-2024
Principal Embedded Connectivity Engineer, Bristol2021-2023
Associate Principal Embedded Connectivity Engineer, Bristol2017-2021
Senior Embedded Connectivity Engineer, Bristol
In my role as Principal Engineer at Dyson, I spearheaded the development of next-generation IoT products, guiding concepts from initial research through to working prototypes while driving Dyson’s connected vision and strategy. This role placed me at the intersection of technology and product innovation, allowing me to shape products that leverage Bluetooth Low Energy, Wi-Fi, and advanced Mesh/Cellular technologies across diverse platforms (C, C++, Python, and Go).
I specialized in architecting and developing embedded solutions that seamlessly interfaced with cloud services, mobile applications, and even peer devices, becoming a go-to expert in M2M/IoT protocols such as BLE, MQTT, and CoAP. For cutting-edge prototypes, particularly as devices grew smaller and more specialised, I often designed custom PCBs to enhance performance and integration.
A key figure in Dyson’s Smart Home Strategy, I represented the company as a Matter expert and ambassador to the Connectivity Standards Alliance. As a contributor to Matter v1.2, v1.3, and v1.4, I chaired the Air Quality Tiger Team, leading the introduction of the Air Purifier and Air Quality Sensor into the standard. I also contributed significantly to the Robot Vacuum Cleaner strategy and development.
In addition to hands-on technical work, I led a team of engineers as a Tech Lead, collaborating with both technical and non-technical stakeholders to shape product requirements within real-world technological constraints. Acting as a Systems Engineer and Product Owner, I guided multi-disciplinary teams to bring product concepts to life, often overseeing complex end-to-end feature development including firmware, mobile app and cloud software.
My role also involved researching emerging technologies, where I explored innovations like mesh networking (Thread, Bluetooth Mesh, DECT NR+), LPWAN (LTE-M, NB-IoT), BlueZ for Linux Bluetooth, and deploying Matter and Docker on embedded Linux platforms.
Alongside my technical responsibilities, I mentored and managed a team of five engineers, fostering skill development and growth while advancing Dyson’s innovation roadmap.
2016-2017
Advanced Firmware Engineer, Malmesbury
As an Advanced Engineer on Dyson’s robotics platform team, I was instrumental in developing a robust, scalable platform for current and future Dyson products, leveraging C on ARM MCUs with μC/RTOS. My primary responsibility was to design and maintain the serial communication links between high-level systems and low-level peripherals, encompassing both middleware and protocol design. This work laid the groundwork for a company-wide serial communications protocol, which I worked on from inception to adoption — a solution now integral to nearly all Dyson products.
Beyond protocol development, I built a suite of peripheral emulators in Python using PyQT. These emulators became widely adopted across Dyson’s embedded teams, streamlining testing and enabling cross-functional collaboration. This work provided engineers with reliable, flexible testing tools and accelerated development cycles on complex embedded systems.
Brewbot#
2015-2016
Firmware Lead, Belfast
As Firmware Team Lead and sole Firmware Architect for Brewbot, an IoT-enabled, automated brewing system startup based in San Francisco and Belfast, I led a team of three engineers to develop a fully shippable product from concept to completion in just 12 months. Built on Particle’s Wi-Fi platform (STM32 ARM Cortex M3 with Broadcom Wi-Fi), our system controlled every aspect of the brewing process, interfacing seamlessly with temperature sensors, flow meters, and load cells, and handling precise automation across all brewing stages.
I developed the firmware in C++, enabling robust machine-to-cloud communication (MQTT) and seamless integration with mobile devices via CoAP. In addition to core development, I maintained our build system using Python and Docker and managed the team’s workload, releases, and milestones, using a streamlined SCRUM-inspired approach that kept us agile and efficient in a dynamic startup environment.
Beyond my engineering responsibilities, I also managed our 200L pilot brewing kit, shipping around 10 kegs a week, which provided crucial real-world testing and a direct line to customer feedback. Despite the rapid pace and ultimate closure of the startup, this role was a unique opportunity to lead the creation of a pioneering IoT product from the ground up.
Sensata#
2014 - 2015
Firmware Engineer, Belfast
At Sensata, I was part of the Automotive Innovation Team, where we developed novel fluid level sensing technologies for a new Audi platform. Working on 8-bit 8051 MCUs with C, I collaborated closely with a small team of engineers to bring our RF-based liquid level sensing product from prototype to production. My work encompassed implementing all product features, creating a robust debug interface (1-Wire), developing an MCU bootloader, and integrating ECU communication via J2716 SENT.
In addition to firmware development, I created testing and calibration tools in C++ using Qt for Windows, which streamlined the testing process and significantly supported our calibration work.
Given the small, agile team structure, I frequently engaged in global customer interactions, translating complex technical decisions into clear, strategic presentations for both engineering and non-engineering stakeholders. This experience enhanced my ability to bridge technical depth with customer-focused communication, ensuring our solutions aligned with client requirements and industry standards.
NYSE Euronext#
2013 - 2014
Platform Software Engineer, Belfast
At NYSE Euronext, I was part of the Platform Team, where I worked on the development and maintenance of the Data Fabric product, a high-performance, low-latency, message-oriented middleware platform designed for distributing large volumes of application-level data across financial systems. This multi-threaded middleware, written in C for Linux systems, operated on IP network hardware and utilised advanced technologies like Infiniband to enable RDMA and Kernel Bypass for unmatched speed and reliability.
My responsibilities included implementing robust, production-grade C code for patches and new feature releases, maintaining system stability in a performance-critical environment. Additionally, I managed the Data Fabric Lab, providing timely triage for customer issues and collaborating closely with cross-functional teams. To further support development, QA, and support, I created Python tools that improved diagnostic efficiency and streamlined processes, ensuring rapid response in a demanding financial services environment.
Schrader Electronics#
2009 - 2013
Embedded Software Engineer, Belfast
As a Firmware Engineer in the New Products Group at Schrader Electronics, I was responsible for designing, prototyping, and developing firmware for a range of industrial sensing solutions. Working with SiLabs 8051 8-bit MCUs, I developed low-power, bare-metal solutions with compact footprints (<64kB) that met strict power efficiency and space constraints.
In this role, I took projects from concept on breadboards to in-situ prototypes, enabling real-world testing and refinement. The sensors I developed used 433MHz Manchester-Coded RF to communicate with base stations, ensuring reliable data transmission across challenging industrial environments. This hands-on experience allowed me to refine my skills in low-power design and RF communication, contributing to Schrader’s portfolio of cutting-edge sensing technology.
Hobbies & Interests#
I am an enthusiastic Home Brewer who regularly competes in competition. I have set up various Homebrew clubs and I like to partake in the community, where I encourage Home Brewers to come together to share knowledge, techniques and advice (and beer!).
I love hiking and I am also a diverse music fan and like to attend as many gigs as I can afford.