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’
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, DBus, 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), AWS Greengrass
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 development 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#
Sensoteq#
2025-Present: Principal Firmware Engineer, Belfast
At Sensoteq, I have led the architecture and development of a new embedded Linux platform for a high-speed data acquisition device, built on Yocto and integrating AWS Greengrass Lite and RAUC for modular OS and software component updates. The platform employs a component-based software architecture developed in Go and Rust, interfacing with proprietary and off-the-shelf peripherals over SPI, I2C, and USB, with connectivity spanning Bluetooth, Wi-Fi, Ethernet, MQTT, and Cap’n Proto.
I also drove the migration of the company’s sensor platform from the nRF5 SDK to the Zephyr-based nRF Connect SDK, and developed prototype firmware for novel features and research initiatives.
Across both hardware and firmware disciplines, I have introduced SCRUM practices to improve delivery cadence and team coordination, while continuing to contribute hands-on across the full embedded stack.
Dyson#
2023-2024:
Principal Embedded Connectivity Engineer, Bristol
2021-2023:
Associate Principal Embedded Connectivity Engineer, Bristol
2017-2021:
Senior Embedded Connectivity Engineer, Bristol
At Dyson, I led the development of IoT products from concept to prototype, leveraging BLE, Wi-Fi, and Mesh/Cellular technologies across C, C++, Python, and Go platforms. I specialised in M2M/IoT protocols such as BLE, MQTT, and CoAP, architecting embedded solutions that interfaced with cloud services and mobile apps, and designed custom PCBs for specialized devices.
I was a key figure in shaping Dyson’s Smart Home Strategy with Matter and I served as both Matter expert and CSA ambassador. I chaired the Air Quality Tiger Team in the Matter Working Group and contributed to the Matter v1.2-1.4 standards, where I introduced the Air Purifier and Air Quality Sensor specifications and contributed significantly to the Robot Vacuum Cleaner specification. These specification additions allowed Dyson devices to be connected into any Smart Home Network that supported Matter and I worked closely with Apple, Google, Amazon and Samsung to ensure these devices were supported.
I also operated as a Tech Lead and Product Owner for multi-disciplinary teams, where I oversaw end-to-end feature development including firmware, mobile, and cloud components. I researched and implemented emerging technologies including Thread, LPWAN, and Matter on embedded Linux, while managing and mentoring a team of five engineers and advancing the company’s connected product strategy.
2016-2017: Advanced Firmware Engineer, Malmesbury
As an Advanced Engineer on Dyson’s robotics platform team, I developed a robust, scalable platform using C on ARM MCUs with μC/RTOS. I designed and implemented a company-wide serial communications protocol for high-level systems and low-level peripherals, which became integral to nearly all Dyson products.
I also created widely-adopted peripheral emulators in Python/PyQT that streamlined testing and accelerated development cycles across Dyson’s embedded teams.
Brewbot#
2015-2016: Firmware Lead, Belfast
As Firmware Team Lead and sole Firmware Architect at Brewbot, I led a team of three engineers to develop an IoT-enabled automated brewing system from concept to completion in 12 months. Using Particle’s Wi-Fi platform (STM32 ARM Cortex M3), I developed firmware in C++ that controlled all brewing processes and enabled machine-to-cloud communication via MQTT and CoAP. I maintained our build system using Python and Docker, managed the team using SCRUM methods, and operated our 200L pilot brewing kit to gather real-world testing data and customer feedback.
Sensata#
2014-2015: Firmware Engineer, Belfast
As part of the Automotive Innovation Team at Sensata, I developed RF-based fluid level sensing technologies for a new Audi platform. Working with 8-bit 8051 MCUs in C, I implemented core product features, created a 1-Wire debug interface, developed an MCU bootloader, and integrated ECU communication via J2716 SENT. I also built testing and calibration tools in C++/Qt for Windows, streamlining our development process. In this small, agile team environment, I regularly presented technical decisions to global customers, effectively communicating complex engineering concepts to diverse stakeholders.
NYSE Euronext#
2013-2014: Platform Software Engineer, Belfast
At NYSE Euronext’s Platform Team, I developed and maintained Data Fabric, a high-performance, low-latency middleware platform for financial data distribution. Working in C on Linux systems, I implemented production-grade code utilizing Infiniband hardware for RDMA and Kernel Bypass in this multi-threaded system. I managed the Data Fabric Lab, providing customer support and issue triage, while creating Python tools to improve diagnostics and streamline processes across development, QA, and support teams.
Schrader Electronics#
2009-2013 Embedded Software Engineer, Belfast
As a Firmware Engineer in Schrader Electronics’ New Products Group, I designed and developed firmware for industrial sensing solutions. Working with SiLabs 8051 MCUs, I created low-power, bare-metal solutions (<64kB) using 433MHz Manchester-Coded RF for reliable communication. I managed projects from initial breadboard concepts to in-situ prototypes, developing compact solutions that met strict power efficiency requirements in challenging industrial environments.
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.