Turning A 12 Year Old Mill Into A Modern Workhorse

Even though the Roland MDX-20 CNC mill fetched a pretty penny when it was first made available 12 years ago, there were a few features that made any builder lucky enough to own one scratch their head. The only way for a computer to communicate with this mill was through an RS-232 connection, and instead of a normal control protocol such as GCode, the Roland mill uses a very proprietary software package.

[Johan] fixed these problems and at the same time turned this wonderful machine into a tool for the 21st century. Now, instead of running a very long serial cable to his mill with a serial to USB converter at the end, he can just plug a USB cable into his mill with the addition of an FTDI USB to serial chip wired directly to the mill’s circuit board.

Stock, the Roland mill used a very strange proprietary communications protocol. [Johan] was able to reverse engineer this protocol by tracing out a few simple shapes and curves and taking a highlighter to the printout of the resulting file. Instead of the outdated software package that shipped with his mill, [Johan] can now export tool paths directly from his CAD program and send them over a USB cable.

It really is a shame such a nice machine like [Johan]’s mill suffered from the glaring shortsightedness of Roland executives 12 years ago, but at least now [Johan] has a machine that should easily last another decade.

20 thoughts on “Turning A 12 Year Old Mill Into A Modern Workhorse

  1. I’m not sure what the protocol was (haven’t read the article yet) but MIT seems to have had it figure out for a few years at least. They have one of these in their media lab, and were somehow able to talk to it from linux with a python script they cooked up. It would make a roland mil file from a black and white png you gave it, and then you could circuit-board away!


    I’d post the script but I can’t seem to find it anymore… (also not sure how public it is)

    1. I would say that was true if he was controlling the machine from a computer, but it seems as though it simply takes the tool paths from the computer and possibly stores them to then execute. Otherwise I would think he would have terrible latency issues.

  2. I have a few issues with this post, lets take them in order…

    First, saying it’s a 12 year old mill is somewhat deceptive since they are still available for sale from Roland. The subject suggests it’s a mill that has been out of support for 12 years, where as it could have been bought last week. Yeah, it’s pedantic, but it’s still annoying.
    See here (don’t mind that is says mdx15 and scanner, it’s complicated.) http://www.rolanddga.com/products/scanners/mdx15/

    Second and third, while the software may have been proprietary, the protocol it uses is not so much and not strange at all. A short session with google will quite happily inform that it is a variant on the HP-GL family, the industry standard for plotter control. Pen up, pen down, move, that sort of thing.
    You can learn all about that here:


    There’s a few extra sequences for stuff specific to this model, but that too is well documented.
    The protocol the MDX-20 talks is called RML-1 (the only tricky bit is isolating that fact, though the filename of pathforblah.rml is a give away ;)
    You can find everything you could possibly want to know about that protocol in this pdf:
    Mirrored here: http://wiki.fablabbcn.org/File:RML1_Command_GuideENVer100.pdf
    You can get the actual rml output from the windows propriaty junk with the epically simple hack of ticking “print to file” and setting everything else up as if you were actually doing a mill job.

    I have been wanting to write a program that parsed the rml file, reconstructed the individual vector paths, and then displayed them allowing for editing of order and actual paths. It’s not exactly difficult, I’ve just not had the time and have limited access to an MDX-20 to actually test it. Someone wanna donate me one? lmao.
    Really, writing a translation system from any vector based file format to RML-1 (and HP-GL) should be no more difficult than working out the languages and a bit of supporting math.

    Finally, if we’re going to complain about the MDX-20, can we at least complain about the things that actually cause headaches? The fixed spindle speed and impressively bad zeroing procedure spring to mind.

    As for how usable it is… well I say not bad, based on my last chance to run a job through it.

    1. > bluetooth….
      i’ll be doing that as soon as i have time. this artical saved me having to do a bit of digging.
      I also have plans to use a pololu motor controller for speed control.

      if you can get to http://www.makeitlabs.com you can try out your code mods.

      i’m presently using the roland software to make mold master for glass, lost wax, PCBs(from eagle). It is slow, but does the job.

  3. I wonder how similar things are between the milling machines and their plotters. I have one of their vinyl plotters, and I hate that you have to use their software to use them. On some of their products, they won’t release 64-bit drivers, so if you’ve got a newer machine, you have to run a VM with an older version of Windows.

    1. If they didn’t modify the hpgl for the plotter, then you don’t need a driver. You just need software that will output hpgl. Sign-go will do it, and I am pretty sure there are many free programs as well. It’s one of the great things about hpgl; but it gets a lot of people confused because they are used to printers and their need for a driver.

  4. Those mills are great I got my “Piduino ” prototype done on one. One thing to not is that you can get the application to drive one free from Roland so you don’t need to go though all this trouble necessarily. Obviously USB to serial or PCI serial cards are cheap enough so you can save your self a hack.

  5. I am a bit jarred off removing all this material at a snails pace. \So the obvious Q is: Has anyone succeeded in putting a filament extruder head on one of these beasties? if so, what head works?.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

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