How to Upgrade a Chinese CNC Machine

Looking to add a small CNC machine to your garage or hackerspace’s arsenal of tools? Like any tools — China has you covered for the cheap options — but the question is, is it worth it? Typically it depends on the tool, but when you can upgrade your 3040 CNC router to use USB instead of a parallel port with the TinyG motion controller… most definitely!

The 3040 or 3020 CNC router is a popular Chinese machine used by many hobbyists — and for good reason. A rigid all-aluminum frame, decent stepper motors and pretty good resolution? It’s not a bad deal for around $1000USD. We’ve covered it many times before. Problem is, the electronics are a bit out-dated. Particularly in the fact that it uses Mach3 with a parallel port… Come on, who has a parallel port these days?

[John Lauer] set out to fix this. The TinyG is a motor controller we’ve covered a few times before as well — it was just waiting to be fitted into a 3040 CNC in order to run a better control system, like ChiliPeppr!

In fact, [John] ordered the CNC machine just to do this upgrade — and he’s sharing how he did it with everyone:

And while you’re at it, why not add spindle direction and coolant control to your 3040 CNC as well? Or how about learning how to machine foam, and then cast it into solid aluminum?

37 thoughts on “How to Upgrade a Chinese CNC Machine

  1. You can add parallel ports, at least to desktop machines. But I think it’s better to have a dedicated microcontroller handle the motion control anyway, TinyG is very good for 3-4 axis CNC.

    1. There’s always GRBL on a GRBLShield (which happens to be out of stock at the moment too). TinyG v2 can be run on a Arduino Due. The Smoothieboard is very interesting too. But honestly, I’d wait for the TinyG to come back into stock, only because I’ve got experience with it (replaced the control electronics on an old Routermaster 2) and it gets first-class support through Chilipeppr.

  2. You can also add something called a smoothstepper to a parallel port cnc machine that will allow it to send gcode over the usb. A cheap board and smoothstepper costs about the same as this, and Mach 3 is not priced out of an individuals budget. The tiny g also seems to not have most the of the features that come on standard motion control boards, like charge pumps and relays and e-stops.

      1. Thanks all.
        Well, don’t dissect too much, this is a giant unsafe mess. But I want to get it indexed by google, so that people having the same problems I had can get a peek under the hood.

        1. I have a upcoming work project involving similar goals – but with 5-axis and a laser that must be kept normal to the curve of an alumina lens.

          Your code will be fun to read after having just dug through pycam.

          Thank you for sharing it!

          1. Yeah, that will be interesting. I have no reverse kinematics code but I’m interested in the topic because I’m thinking about adding a 4th axis for 3D milling. All the toolpath code is in webapp/cnc/cam there is no embedded smart code.

  3. Does tinyg support backlash compensation. Last I checked, it still doesn’t. These CNC routers do have nice anti-backlash ballscrews but that doesn’t mean it has NO backlash. I still use Mach3 and linuxCNC which does have backlash comp. it’s nice to be able to dial out the last .001″ or so of backlash. There are plenty of USB motion controllers for mach3 that work really good if you don’t want to use a parallel port. All 4 of my CNC’s use the parallel port since it is cheap and very reliable. Add on parallel cards are under $20. Computers that run mach3/linuxcnc are cheap. The last one was a Dell I bought off eBay for $25.

    Plus there are a few features I would hate to give up if using a machine controller like mach3/linuxcnc. They do support a few more gcode functions, easy to write custom macros and canned cycles such as peck drilling etc. Good 4th axis rotary and lathe support. The new linuxcnc 2.7 suppose to have a much better trajectory planner and can’t wait to test it out. I just think those who use tinyg and grbl for their CNC’s are missing out.

  4. I bought a 3040 mechanical kit with spindle and hooked it up with a Smoothieboard (using three NEMA17) and built an Arduino based button controller for it to run jobs from Smoothie’s SD card without needing a computer connection.

  5. I set my 6040 cnc up the same way. works great, once you replace the crap cabling that comes with the machine. The electrical noise from the VFD was inducing spikes on the USB line.

    For those who don’t its sensible to connect an industrial (sort of) machine to the internuts, there are other options for driving the tinyg beside chillipeppr.

  6. Hello guys, I’ve bought a Chinese model cnc, perfect!
    But I’m having problems with the dsp pendant control, it should say go home, but just show xyz. Can anyone tell me how to reset it,
    Regards Jimy

  7. John:

    Which eBay seller did you purchase the 3040 from, and were you satisfied with their handling of the transaction, delivery timing, product packaging, price, etc? What didn’t measure-up?


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.