MAHO MH600T LinuxCNC Retrofit

Ever have one of those days where you wake up and think, “I need (another) CNC machine”? That was us back in December a few years ago. In the middle of home renovations, we decided it was completely reasonable to fill the unused space in our two-car garage with an industrial-sized milling machine—one of the perks of living on an old farm!

Inspired by This Old Tony’s Mach4 conversion of his MAHO and RotarySMP’s fantastic documentation of his MAHO MH400E conversion to LinuxCNC, we decided to follow suit and get our own MAHO to convert.

Our search began on “kleinanzeigen” (the German version of Craigslist), and after some time, we scored a great deal, buying the machine for a low price per kilogram. It was delivered on the first snowy day of the season, and we parked it in the barn while we planned the retrofit.

Luckily, we had the full electrical documentation and user manual, which detailed how to transport, oil, and maintain the machine—very helpful!

The first step was cleaning the machine, and let me tell you, it was filthy. Removing years of dirt, dried oil, and metal chips took a lot of industrial cleaner, endless towels, and steel wool in various grades. We had to disassemble parts of the machine to access hidden areas, using brake cleaner for the hard-to-reach spots.

Some parts of the machine’s paint had seen better days, particularly around the housing, where years of use had left their marks. So, we dove down the rabbit hole of paint restoration. First, we had to choose a paint remover—many recommended in the maker community are banned in Europe. Then, we had to find gloves that would actually hold up (nitrile gloves won’t cut it). Finally, we needed to pick out the right primer and paint. Here’s what we went with:

  1. We used Mipa’s “Abbeizmittel” paint remover, which worked great.
  2. For gloves, we followed the data sheet’s recommendation and got “Butylkautschuk” gloves.
  3. We chose an epoxy primer (MIPA EP100-20) and an acrylic top coat (MIPA PU 240-90), both in the only acceptable color for a vintage German machine: RAL 6011 (Machine Green).

We didn’t repaint the entire machine, focusing just on the lower housing for now. We also checked the transformers to ensure they were set to the correct voltage.

This entire process—cleaning, disassembly, ordering the right supplies—took way longer than expected, but eventually, we moved the machine into our newly remodeled workshop. Thankfully, it still powered up, though the original monitor took nearly 30 minutes to display an image.

While we considered keeping the original control system for a bit longer, we ultimately decided to modernize it and started moving forward with the retrofit.

A big shoutout to Mark from RotarySMP on the LinuxCNC forum—his thread is a goldmine of information about the MAHO and its retrofit process. Following his lead, we opted for the same MESA cards (which took a while to source, as they were out of stock):

  • MESA 7i77 to drive the analog servo drives
  • MESA 6i25
  • MESA 7i78 to drive the relay board

In Mark’s build, he uses an additional relay to split the motor ready signal and the release brake signal for the Z-axis. We chose not to do this, and so far, it’s been working just fine. With the electrical documentation in hand, it was relatively straightforward to figure out which cables from the original control performed which functions. This gave us confidence that we could complete the retrofit without making the machine unusable.

For the new control system, we used the original hatch where the Heidenhain controller was mounted, as we liked the idea of having the computer and MESA cards fold out. The 5V power supply fit neatly at the end of one of the DIN rails.

Our first task was to bring in the encoder signals. The machine uses Heidenhain LS 403 linear glass scales for the three axes and a ROD 271 rotary encoder for the C-axis. Unfortunately, the EXE module (which converts the output from the linear scales to TTL signals) was part of the original computer’s mainboard, and reverse-engineering the correct signals would have been complicated. So, we bought three used EXE 602 modules, mounted them on a metal sheet, and they fit right in. The rotary encoder outputs TTL signals directly, so no translation was needed.

One of the perks of industrial equipment is the availability of supporting parts. For example, we needed cables for the EXE modules, but with the correct part number (MAT93907001), we were able to order them from IGUS Readycable, avoiding the headache of crimping M23 connectors ourselves.

The fourth box at the top of our setup was a Heidenhain APE112 module for the touch-off system, but we don’t have the corresponding probe, so we’ve removed it for now.

Getting the encoders to communicate with LinuxCNC worked almost right out of the box. We just had to set the scale values, and we were good to go. Getting the MESA 7i86 to talk to the relay board and, by extension, the rest of the machine involved a few challenges:

  • The numbers in the electrical documentation referred to the pin numbers of the original connector, not the lanes in the flat cable.
  • We forgot to connect the ground of the MESA card to the relay board’s ground, mistakenly assuming they shared the same power supply—they didn’t.

Once those issues were resolved, everything went smoothly. We added the functions provided by the relay board to LinuxCNC, giving us control over most of the machine. However, the gearbox still eludes us.

We also discovered that one oiling port was broken (luckily before we filled it with oil). The replacement would’ve cost around €70, so we improvised with a 1¼” pipe fitting, which worked just as well. We then changed the oil, topped off the hydraulic fluid (Addinol CL46), and refilled the central lubrication unit with Bettbahnöl CGLP 220, the closest we could find to the original specs.

At this point, we decided to move forward with some permanent modifications, starting with a new touchscreen and monitor housing. We cut off the original monitor housing to make room for an angled aluminum frame we had lying around, which we used to mount the new monitor. The housing was made from spare aluminum sheeting, which we connected with pop rivets for a clean look. A family friend sandblasted it, and we added a USB hub for easy file transfers.

The handheld unit with the cycle start and emergency stop buttons needed some work, as the emergency stop wasn’t functioning. We quickly rewired it, and repurposed the cycle start button to engage the drawbar for tool changes. Sebastian simply modified the code from the lubrication unit for this, and now it works perfectly. Writing Python HAL components for LinuxCNC turned out to be surprisingly easy.

We repurposed wires from the control board and pulled a new DVI cable to the mainboard. Initially, we planned to go with a matrix-style keyboard, but after realizing we didn’t have enough diodes, we wired the buttons individually. This worked fine, as we still had plenty of inputs left. The result: a nearly perfect machine with a modern, user-friendly interface.

The only thing left was the gearbox. We initially hoped we could use Mark’s HAL component, as we also have an 18-speed gearbox. However, after reviewing the electrical documentation, we discovered our gearbox returned fewer inputs to the computer. While we could have adapted Mark’s component, we decided to rewrite it in Python, as it seemed like less work (Sebastian, being a Python guy, preferred this route). We made good progress, getting the current speed from the gearbox, but then the machine went into emergency mode due to a failure with the hydraulic pump. We’re still troubleshooting that issue.

Sebastian is currently out of the country, and Stefan is busy with his master’s thesis, so progress is slow. While buying a new pump is an option, we’d prefer to identify the problem before spending €400. For now, we can still manually switch gears, and Sebastian is optimistic that the final part of the Python component won’t take much longer. So stay tuned for a Part 2 or an update soon!

Here is our LinuxCNC thread: https://forum.linuxcnc.org/12-milling/53592-retrofitting-a-maho-mh600t

Consent Management Platform by Real Cookie Banner