The original design by Makeblock was ok, but the software they provided was awful. What began as a plan to switch out the electronics with GRBL compatible replacements, somehow ended up as somewhat of a redesign.

In particular I wanted the z axis to be controlled by a proper stepper motor rather than a servo, giving me precise control, and to have some method to manually make fine adjustments.

Also, homing never worked with the Makeblock setup which was annoying.

X axis is now a linear rail. Z is a mini linear rail, controlled my a pancake stepper motor mounted underneath the carriage, driving a lead screw.

A belt allows some gearing so I can run the stepper at a lower speed to get the linear movements I need, as I was hitting the limits of the motor. It still has plenty of torque.

The control board is by Bart Dring, who also ported GRBL to the ESP32. Running on ESP32 rather than the original AVR Arduino brings the possibility of many more future features due to the increased power and IO on the chip, not to mention in built wifi. So far though I'm not doing anything you couldn't with a regular GRBL Arduino setup. To the left I have some (badly) hand soldered filtering for the limit switches, since the EM interference from the motors can lead to false positives. Nice trinamic drivers allow very quiet operation.

I need to add a fan though as it overheats.

The design of the z axis allows you to use a rubber band to add variable pressure to the pen. Setting Z0 to the point where the pen contacts the paper, allows you to use negative values on the Z axis too add increasing pressure to the pen.

This can be used for some nice effects, probably. Haven't found any yet though.

It is possible because there are actually two carriages on the Z linear rail. One is connected to the lead screw, while the one with the pen holder actually rests freely on top. Most of the time gravity is enough, but if you want variable pressure, you can use the band.

Alternatively you can loop the band around the higher screw on the main structure, and use it to actually apply less pressure than gravity alone.

In order to fine tune the z height without annoying jogs from GRBL, you can twiddle the white knob.

Unlike Makeblock, my homing sequence works

There are also limit switches at min and max for X and Y, though not for Z.

And when it wants to, it goes pretty fast! Does make quality a bit shit though.