For others who come across this, when you run the calibration it saves the captured images to "<workingdir>/dataset" and you can rerun the process using the following but with the values for your board/setup:
python calibrate.py -s 2.5 -ms 1.8 -brd FFC-3P -db -m process
Today's Troubleshooting
To provide all the context, in the left and right cameras I'm using the lens from a Waveshare G pi camera. These have a diagonal field of view of 160 degrees, using an online calculator and specs of the AR0234 sensor and details of the sensor and lens I used it to calculate a hfov of 157.77
This is my setup for prototyping, each camera is spaced 4cm apart:


One thing that is worth noting, the writing for "Arducam" is upside down on all three cameras, the preview is shown the right way up on screen though so I assume the sensor is upside down with respect to the text? It's either an odd design choice or I've messed up my config...
Speaking of which, this is the config I put together using the example in a reply above and looking at the other examples in the repo:
{
    "board_config":
    {
        "name": "FFC-3P",
        "revision": "R1M0E1",
        "cameras":{
            "CAM_A": {
                "name": "rgb",
                "hfov": 90,
                "type": "color"
            },
            "CAM_B": {
                "name": "left",
                "hfov": 157.77,
                "type": "color",
                "extrinsics": {
                    "to_cam": "CAM_C",
                    "specTranslation": {
                        "x":  -8,
                        "y":  0,
                        "z":  0
                    },
                    "rotation":{
                        "r": 0,
                        "p": 0,
                        "y": 0
                    }
                }
            },
            "CAM_C": {
                "name": "right",
                "hfov": 157.77,
                "type": "color",
                "extrinsics": {
                    "to_cam": "CAM_A",
                    "specTranslation": {
                        "x": 4,
                        "y": 0,
                        "z": 0
                    },
                    "rotation":{
                        "r": 0,
                        "p": 0,
                        "y": 0
                    }
                }
            }
        },
        "stereo_config":{
            "left_cam": "CAM_B",
            "right_cam": "CAM_C"
        }
    }
}
To capture the images I'm using the ar0234_x3 branch of DepthAI and the following command:
python calibrate.py -s 2.5 -ms 1.8 -brd FFC-3P -db
It runs through the calibration and saves all the images it needs, shows one set of images (the originals I think?) and then a second (rectified maybe?) and then on the third set a red window with errors relating to "high epipolar error" between the various cameras. Console output as follows:
Displaying Stereo Pair for visual inspection. Press the [ESC] key to exit.
1200
Reprojection error threshold -> 3
rgb Reprojection Error: 0.587818
1200
Reprojection error threshold -> 1.6666666666666667
left Reprojection Error: 12.285764
1200
Reprojection error threshold -> 1.6666666666666667
right Reprojection Error: 0.390285
['high Reprojection Error', 'high epipolar error between left and right', 'high epipolar error between right and rgb']
py: DONE.
DONE appears if I press any key in the red window, it closes and the script exits.
As I understand it I've done everything right but I also know that my understanding is very much lacking! I've uploaded the captured images, along with the conf file, to the following location: 
We Transfer
They will be auto deleted after one week as per WeTransfer's policies.
If anyone from Luxonis could assist I would greatly appreciate it please. π