Another option would be to use GRBL on an Arduino or better an ESP32 then you can send Gcode down a USB cable. GRBL ingests G code and spews out pulse and direction pulses to a motor driver. It lives happily on modern computers.