To calibrate RB3DP, the idea is to set up a calibration object, manually move effector to 5 points on that
object (at each point, record relative lengths to each winch) and calibration is just some arithmetic to derive the x, y, and z coordinates of each motor winch. So, we need a controller, which (of course) must be very inexpensive, so the choice is W1209 board (see https://hackaday.io/project/16097-eforth-for-cheap-stm8s-value-line-gadgets ) plus an ESP8266 for WiFi.
The key for getting this to work is multilateration and the maths is on wikipedia (see https://en.wikipedia.org/wiki/Multilateration#Solution_with_limited_computational_resources). Many thanks to @Florian Festi for identifying multilateration as being a key solution to our calibration problem.
The problem was that we did not know the lengths of the strings even if we knew the location of each of the motors (by physical measurement and typing them in). We can measure changes in length however, and that is what multilateration uses; differences in lengths. If you use 5 known points then you can calculate the cartesian coordinates of 3 motor winches. The origin is the one on the calibration object, so there is no transformation needed for different reference frames; everything is referenced to the object space. Another advantage is that there is no restriction on having the motor winches on a plane parallel to the baseplate. In fact, even the orientation of the axes is independent of the physical orientation of the motor winches.
So, we need a calibration piece with points with known coordinates (P0 to P4), and we need a controller to make each motor winch move so its string is longer and shorter. Now, putting all the calibration code on the central GCODE interpreter might have been obvious, but actually putting code that is used for special purposes on a special purpose machine has the advantage of making this major function very cleanly interfaced. All we need to do at the end of the calibration is tell the GCODE interpreter the locations of the motor winches.
And there is sure to be some additional functions we can add to the controller, such as moving the effector through a maze, and ...