A couple of years ago I bought myself a pretty cheap CNC router off of Amazon, mainly just to experiment and learn how to use one in my woodworking projects.
The router that I had bought was a very cheap one based on the very common 3018 router platform, which uses an Arduino as its brain and uses the GCODE language as its instruction set. It was a very basic router and I could tell that it was certainly made on the cheap since a lot of the plastic parts, particularly the spindle motor mount was made from a 3D printer - so it wasn't necessarily made to precise tolerances. But for a learning machine, I figured it would be a good one to start with,