Running 3 Stepper motors on CNC Shield v3 (2 rotary and 1 translational motion)

Hi!
I wanted to build a machine using an Arduino Uno and a CNC Shield v3. This machine should consist of 2 rotary axes and 1 translational axis (ít's used for winding) . I bought 3 stepper motors (NEMA 11, 17 and 23) and fitting drivers for them to use in combination with the CNC Shield. The plan was to generate a GCODE file and read and execute it with something like the UGS (Universal G-Code Sender).
But here is where my little knowledge leaves me hanging:
As I learned the CNC Shield doesn't support a rotary axis in GRBL and UGS.

So here are my questions:

  1. Is there a way to use x and y axes as rotary axes using GCode in this setup so I can use commands in degrees instead of mm? Or is there a rule of thumb on how to translate the mm moved in GCode to a rotation?
    For example when using a timing belt with 2 pulleys.
    Motor: 1,8° ;200 Stepper with 1600Steps/rev
    Small one: 14 teeth (active) d=22,28 mm
    Big one: 34 teeth (passive) d=54,11 mm

  2. Is there another cheap way to make this work or is there some software or plugin I am missing? Or am I forced to write my own library for this project?

After searching the internet a bit for projects like this I am kind of disheartened since there are an infinite amount of 3D printer tutorials out there but they are only using translational movement. Whenever there is a rotational axis mentioned it's either that it is not supported by GRBL or that there is a board used that supports 5 axes.
But since I actually just need 3 I don't see why it would be necessary to buy a new board.

Thanks in advance.

What I would do is leave out the GRBL and GCODE and drive the steppers directly. The interface to the stepper drivers is very simple: An 'enable' pin to turn the driver on, a 'direction' pin to tell it which way to step, and a 'step' pin to tell it to take one step.

I use gcode generated by an Inkscape app to do engraving on a cylinder with a machine with a linear (X) axis and a rotary (Y) axis. I use the grbl firmware on the machine. The Y (rotary) axis stepper is set to x16 microstepping on a 200 step per rev motor. If I want to wrap a 100mm long drawing around the cylinder (360° = 3200 steps) I set the steps per mm to 32 in grbl (3200 steps / 100mm). Then just send it like it was a flat 100mm tall (Y) by however wide (X).