Anyway. It was all physically built. It moved and kinda drew images. Queue celebratory wines!
The software I was using to control the machine was terribly buggy and changing the variables of pen and pixel draw size etc was a nightmare. They would only sometimes change in the UI, I'd end up editing some values in notepad, then re-starting the app. Which took forever. In the end I gave up and found something better. This turned out to be a massive improvement - temporarily.
The image handling of the new program is amazing, it turns an image into a single line which is interpreted as a bunch of Gcode. (essentially X Y coordinates). I hit the draw button and it sprung into life, sounding like R2D2 on acid, as it was pointed out to me. The stepper motors were going way too fast causing a jittery line. No problem, I'll just go into the firmware code and set the speed a bit lower. And it hasn't worked since.
I've re-downloaded a fresh version of the firmware, uploaded it to the arduino and still it won't draw. I can hit various buttons in the software that tell it to move the pen left/right up/down and it complies. But as soon as I send it the Gcode to draw, it won't move. I'm at a total loss.
So I've relocated the moving parts home where I will continue to figure this all out while sitting around in my PJs, drinking cups of tea whilst listening to k.d. Lang and various show tunes in order to keep myself calm.
I will figure this out, it's just taking longer than expected.