Mark Matheson

Robotics & Automation Specialist

I've spent 15+ years keeping robots running and production moving. I started out on the paint line floor and worked my way up from there.

Mark Matheson
15+years in robotics & automation
95%equipment availability sustained
60sstation cycle times held
16robot cell I programmed, launched on time

Experience

Tap a job to see the details.

Robot Specialist

BMW Manufacturing · Greer, SC

Feb 2023 – Present

Lead programmer in the paint shop on ABB, Dürr, and Fanuc robots.

Show detailsHide details
  • Lead programmer in the paint shop on ABB, Dürr, and Fanuc robots. I handle new model programming, design changes, and day-to-day improvements.
  • When a robot goes down, I'm usually one of the people getting it back up. We hold 95% equipment availability.
  • Helped hold 60-second station cycle times by tightening up paths and changing the order of steps (see how).
  • Offline programming in RobotStudio, Process Simulate, and Dürr 3D Onsite. I also design and 3D print custom robot tooling.
Conveyor station with photoelectric sensors and vision hardware
Sensor and vision station work
TRUMPF TruPrint 3000 metal 3D printer
TruPrint 3000 metal 3D printer
Pressure-testing PVC with an Omni flat tip

Field Service Engineer

Medtronic

Jan 2021 – Feb 2023

Ventilator field service across a 32-account, three-state territory.

Show detailsHide details
  • Covered a 32-account territory across South Carolina, western North Carolina, and east Tennessee, mostly on my own.
  • Installed, repaired, and upgraded Puritan Bennett 980 and 840 ventilators in hospitals, including through COVID. There was no room for mistakes.
  • Did engineering field changes and trained hospital biomed staff on site.
Puritan Bennett 980 ventilators in a service shop
PB980 ventilators in for service
Mark in scrubs in a hospital operating room
On site in the OR

Field Service Engineer

ABB

Nov 2017 – Dec 2020

Commissioned paint and sealer robot cells, including BMW's masking plug cell and IPP4 line.

Show detailsHide details
  • Traveled to customer plants to commission new sealer and paint robot cells, from install until production took them over. That included BMW's new IPP4 paint line and the masking plug cell, and a bumper paint line at Honda.
  • Programmed Flex Vision and pick-and-place applications. IRC5/IRC5P controllers and IPS paint systems.
  • Programmed a 16-robot masking plug cell for BMW on robots and vision I'd never used before. It launched on time at a 60-second cycle and 95% plug success (see the project). I was named Employee of the Month for it.
  • Cycle time improvements, troubleshooting, and repairs on site.
Paint booth with covered robots during a spray trial
Paint booth trial run
ABB robot with a feather duster tool in the IPP4 paint line at BMW
The IPP4 feather duster cell at BMW, which I commissioned
3D model of an ABB robot holding a feather duster tool
3D model of the feather duster robot and tool

Robot Programmer

BMW Manufacturing · Greer, SC

Aug 2011 – Nov 2017

Paint programs for new models, and commissioning the IPP and Wax lines.

Show detailsHide details
  • Created paint programs for new models and ran paint trial bodies.
  • Troubleshot and corrected paint defects. Set up color tables for Bell RB1000 applicators.
  • Member of the commissioning team for the IPP and Wax lines.
  • Before programming I worked the paint line floor: repair, E-coat sanding, inspection and polish, and robot operator.
Orange paint robots on both sides of an empty paint booth
Paint robots in an empty booth

Diesel Technician

Morgan Corporation

Sep 2010 – Jul 2011

Where I got my start.

Show detailsHide details

Where I got my start, doing overhauls and off-site repairs and keeping downtime low.

A green tractor with its hood open and two heavy axles on stands in a shop bay
My bay at Morgan, with a tractor and its axles torn down

Projects

A few problems I've solved. Tap one to read the whole story.

BMW masking plug cell

16 robots installing plugs in BMW car bodies, on robots and vision I'd never used. It launched on time.

Show detailsHide details

In 2018 ABB put me on a 16-robot cell at BMW that puts masking plugs into the car bodies. I was a paint guy, and I'd never programmed these robots or this vision system. We launched on time anyway.

16robots in the cell
60scycle time
95%plug success rate
On timehit the launch date

The problem

The plugs only seat if you're right on the hole, and the body could shift a little while the robots pushed on it. Just driving the plug straight in would miss or seat it badly.

What I did

I learned it on site from ABB's manuals, a lot of trial and error, and BMW's people. I set up robots on opposite sides of the body to push at the same time, so they held the body still. Then I watched how the line workers put plugs in by hand and copied their motion into the robot paths with RelTool offsets.

The result

It launched on the date at a 60-second cycle and 95% plug success. Most of the misses came from plugs jamming on the feed conveyor, not the robots putting them in. ABB named me Field Service Employee of the Month.

“Mark has performed above expectations and has excelled throughout. Mark has been instrumental in the success of the Masking Plug project.”

Director of Field Services & Technical Support, ABB. Employee of the Month award, June 2018

If I did it again, I'd go stand with the line workers on day one. The way they did it by hand ended up being the key to the whole thing.

BMW posted about the cell on LinkedIn in November 2018. The robots put in about 61,000 plugs a day, work that used to be hard on people's shoulders, necks, and hands. Here's BMW's post, and it's still on their Spartanburg plant page.

A month of comms drops

A sealer robot kept losing comms. Everyone blamed the board, but it was a cheap network switch.

Show detailsHide details

We had a sealer robot that kept losing comms between the IRC5 and the process board. It had been going on for about a month and getting worse.

The problem

Maintenance had been on it for weeks and was about ready to call ABB in. Their plan was to replace the board, but nobody knew how to move the config over to a new one, so they called me in on my day off.

What I did

I wanted to know where the problem was before I swapped anything. The HMI never lost its data, so I knew it was on the controller's network side. I watched the drops in RobotStudio and checked the board's link status and boot log, and the board looked fine. The next time it dropped, I power-cycled just the internal LAN switch and comms came right back.

The proof

Maintenance wanted proof before they closed it out, which was fair. I put the bad switch in the controls cabinet on our offline cell, where three robots talk to a PLC. Within a day it dropped all the comms there too. So we swapped a cheap switch instead of the board, and never had to call ABB.

Intermittent problems will fool you. I try to prove where it is before I start throwing parts at it.

Automating robot backups

Automating weekly backups for about 40 ABB robots. Over 100 hours a year back.

Show detailsHide details

Every Sunday, two of our programmers spent about an hour each backing up around 40 ABB robots by hand. So I automated it.

~40robots covered
0people needed on Sundays
100+labor hours saved a year
3restore points kept on each robot

How it worked before

Someone had to go robot to robot every Sunday and pull the backups by hand. Two people, about an hour each, every week.

What I built

Each controller now takes its own backup at a set time on Sunday. Then a WinSCP script on the HMI pulls every backup over FTP into that robot's folder on the network and checks that it got there. Only after that does it delete the oldest backup on the robot, so each one keeps its three newest. The passwords are in a separate file, not in the script.

The result

Nobody has to do it by hand anymore. That's over 100 hours a year back, and every robot gets a good backup every week.

How I cut cycle time

Overlapping steps that don't depend on each other, with an example from a sealer robot.

Show detailsHide details

A lot of cycle time gets wasted waiting. The robot finishes one thing, and only then does the next thing start. If a step doesn't really need the one before it to finish, it can start early.

Here's one I did on a sealer robot. The program did a tool change, moved to ready, fired the vision system, then calculated the corrections. But vision doesn't need the robot at ready to measure the car. So I moved it up, and now vision fires and the corrections get calculated while the robot is still doing its tool change. By the time it gets to ready, the offsets are already there.

Skills

Troubleshooting & root cause

Robots, electrical, mechanical, and fluid and pneumatic systems, usually with the line down and people waiting.

Launch & commissioning

New robot cells (sealer, paint, pick & place), BMW IPP and Wax lines, customer-site installs.

Continuous improvement

Cutting cycle time, fixing repeat downtime and quality defects, and following issues until they're actually closed.

Controls & networks

Remote I/O, PROFINET couplers, the robot side of the PLC handshake, and plant network troubleshooting. I'm learning Siemens TIA Portal now.

Safety

ABB SafeMove 2 trained, lockout/tagout every day (trained at BMW and ABB), e-stops and safety circuits.

Documentation & training

Writing procedures, doing engineering field changes, and training customers on site.

ABB RobotStudio simulation showing a robot and tool geometry
Offline programming in ABB RobotStudio
PLC training stand with Siemens PLCs, network switches, and remote I/O on a pegboard
The PLC training stand at work, where I'm learning TIA Portal
Siemens ET 200S remote I/O with PROFIsafe safety modules
Siemens ET 200S with PROFIsafe safety I/O on the stand

Software I use

ABB RobotStudio / RAPID

Offline programming, plus path and cycle time work before I touch the real robot.

Siemens Process Simulate

Simulating and programming robot cells offline.

Dürr 3D Onsite

Offline paint programming for Dürr robots.

ABB RobView

Building operator screens and dashboards for the paint robots.

ABB Flex Vision, ISRA Vision, VMT

Setting up and troubleshooting the vision systems that guide the robots.

Siemens TIA Portal

Learning it now on the training stand.

Autodesk Fusion, Bambu Studio

Designing custom robot tooling and fixtures, then 3D printing them.

Claude and Claude Code

I use AI every day to help write and debug scripts, like the robot backup script, and to run my homelab. I decide how it should work, and I test everything before it goes anywhere near production.

WinSCP, FileZilla

Moving programs and backups on and off the robots, including the automated weekly backups.

Certifications & training

  • ABB RobotStudio
  • ABB IRC5P Electrical
  • ABB IPS
  • ABB SafeMove 2
  • ABB Flex Vision
  • Fanuc Dispense Tool & Programming
  • Puritan Bennett 980 / 840 Service
  • CCNA (in progress)
  • Associate Degree, Management & Diesel Technology (WyoTech)
Mark at Fanuc training holding a stack of course manuals
At Fanuc training with the course manuals

Off the clock: the homelab

More and more of automation runs over the network, so I built one at home to learn on. Everything outside of robots I taught myself, mostly here. My configs and notes are on GitHub.

Virtualization

Three-node Proxmox cluster with high availability and replication. The nodes are named after my kids.

Networking

UniFi network split into VLANs, with WireGuard VPN and Cloudflare Tunnel so I can get in remotely without opening any ports.

Storage & backup

Synology NAS with snapshots that can't be changed and an offline backup drive, in case of ransomware.

Automation

Home Assistant runs the house, including lights, presence, energy, and dashboards.

Self-hosted AI

A local AI assistant on a Mac mini that watches the lab, answers questions, and flags problems.

Monitoring

Every service is monitored and alerts me when something goes down, same as I'd want on a production line.

Off the clock: printing mobility trainers

I volunteer as a maker with MakeGood. They connect families of kids with mobility challenges with people who can 3D print a Toddler Mobility Trainer for them, free to the family.

I've built two so far on my printers at home. It's a lot of print hours, but seeing a kid sit in one for the first time makes it worth it.

Mark kneeling beside a toddler seated in the purple and pink 3D printed mobility trainer he built
Delivery day. Shared with her mom's permission.

Let's talk

I'm open to automation, controls, and field service roles. Reach out anytime.