Skip to main content

Robotics & IoT Software

I can help you build custom software for smart robots and IoT systems.

About Me

I am an educator, leader of the Cloud Robotics Working Group, and a specialist in writing software for connecting robots to the cloud. I help my clients to bring their robot ideas to life or improve their existing designs. My experience is primarily in research & development and prototyping, helping clients build and refine their robotic systems. However, while my focus is on early-stage development, I also have the skills to support production workloads.

Over my 12 year career, I have worked as a consultant and as a senior SDE at AWS, all with a focus on robotics. This required me to work on various projects (including non-robotics projects), meaning that I am able to work with many different technologies - those required to build robot software and those required to support them. Hence, I am able to work with electronic and embedded systems, all the way through to leveraging the cloud.

To find out more, you can read more below, take a look at my blog and YouTube channel, or contact me using one of the following methods:


IoT & Embedded Devices

I can design embedded systems with optional cloud connectivity, using chips such as ESP32 and STM32, among others. My experience includes PCB design, sensor integration, and working with UART, SPI, and I2C protocols. I always ensure reliable, scalable solutions, whether built from scratch or reviewing an existing design.

Robotics & Automation

Robots are my speciality and my passion. I can work with you to design or improve an existing robot, all the way from embedded systems to cloud integration. As I have been using ROS and ROS 2 for my entire career, I can help you build controllers, write localization and navigation systems, and make your robots behave more intelligently with Artificial Intelligence (AI) solutions.

Cloud Infrastructure

Robots cannot solve problems by themselves; they require reliable infrastructure to do their jobs. I can work with you to build the tools your robots need to solve the problems they were built for. I am able to use cloud or edge systems, deployed manually or via Infrastructure-as-Code (IaC), to ensure seamless communication, remote deployment, and efficient fleet management.


Customer Testimonials

Mike has been a huge help getting our project moving forward and stabilized. He's fit right into our team and got right to work with helping us with our IoT project. We are happy with his work and thought process. Plan to continue working with Mike for the foreseeable future!

Nicholas Aron, CEO, Aron Corp - CentralFlo


Previous Projects

IoT Measurement and Control Platform

Client: Aron Corp - CentralFlo

Objective: Develop software for custom ESP32 board to enable sensor reading, remote command and control, and Over-The-Air (OTA) updates.

Project Details

  • Proposed and implemented move from Arduino to FreeRTOS system for a multi-threaded, more reliable, and more secure firmware.
  • Built OTA update mechanism to allow software updates to be deployed from AWS to groups of devices, according to a rollout plan.
  • Proposed and created schema for bi-directional communication between edge devices and cloud-based control platform.

Outcome: Devices went from an early development stage through to beta testing with customers. The team verified that device operation was much faster and more reliable than the initial design.

Abstract icon representing IoT devices talking to cloud-based IoT platform
Amazon Scout Delivery Rover Performance Improvements

Client: Amazon.com Inc (As Employee)

Objective: Optimise existing autonomous ROS-based mobile robot for delivering packages to customers.

Project Details

  • Proposed and led team of 5 engineers to build a performance profiling and simulation framework for replaying recorded ROS data.
  • Tools generated detailed mission reports, allowing deep dives and performance improvements.
  • Identified and optimised specific pieces of code, such as rewriting a slow node from Python to C++.

Outcome: The tools built served as a basis for hardware-in-the-loop (HIL) testing, and led to performance improvements across the board. Unfortunately, these were hard to measure as the software on the robot was becoming increasingly complex in other areas.

Image showing Amazon Scout from the side.
Machine Learning (ML) for Warehouse Robot Perception

Client: AWS (As Employee)

Objective: Develop new AWS service for providing ML perception at the edge to warehouse robots. The model improved over time as more data was collected.

Project Details

  • Led the team to build the prototype version of the service.
  • Built deployment mechanisms for performing perception at the edge, including identifying suitable edge hardware.
  • Agreed to test proof-of-concept with large robot arm manufacturer.

Outcome: Despite shipping the first prototype capable of performing ML-based perception at the edge to a partner, the service was not deemed profitable enough to continue, and the project was cancelled.

Image showing robot arm from Amazon Warehouse.
Room-Tidying Robot Arm Concept

Client: Cambridge Consultants (As Employee)

Objective: Build robot arm capable of picking up objects from a messy room and placing in a box. (Picture is not the same robot.)

Project Details

  • Created custom software for messaging between the robot arm and the customer interface using gRPC.
  • Captured data from VR environment to train ML model on how to pick up difficult objects, such as mugs or cuddly toys.
  • Built highly accurate calibration system for the robot arm and stereo cameras used to detect objects in the scene.

Outcome: The robot was successfully demonstrated at live events hosted by the company, and was used in online marketing material.

Image showing robot arm with objects to be tidied away.