Digital Controls for Router Lift




About: Retired Electronic Design Engineer. Member of The MakerBarn.

At The MakerBarn we designed and built a high performance router table. The construction of the entire table and mechanics would be outside the scope of a single Instructable, so in this Instructable I will describe the Arduino based lift control electronics and software.

Rather than using a modified hand-held router as most router tables, this table uses a 3HP water cooled spindle. The lift mechanism for the spindle is very similar to the Z axis of a CNC Router, except upside down.

The second photo shows the lift control panel, VFD controls for the spindle, and the MACS access control system developed at The MakerBarn.

Step 1: This Is the Mechanics the System Will Be Driving

Here's a photo of the lift. Notice it uses a series 23 stepper motor driving a ball-screw through the use of a 1:1 belt drive. The belt drive was used to "fold" the drive system and save space. The belt is a toothed timing belt, so there is no danger of slippage.

The Stepper motor is driven by a TB6600 type stepper motor controller. These are available on-line for about $10. They are capable of driving up to 4 amps with a input voltages from 9 to 40 volts. We run ours on 24V, the stepper motor current is set for 1 amp.

Step 2: A View Inside

The entire drive system is mounted on a single aluminum plate. There is an Arduino UNO with a prototype shield, the TB6600 stepper controller, and a 24V 2A power supply on the plate. There is also an LM7812 voltage regulator mounted to the plate to bring the 24V down to 12V for the Arduino.

The prototype shield is used to connect dual in line header connectors for the display and control panel ribbon cables. Connections to the stepper controller also come off this board.

Step 3: The View Outside

The control panel for the lift has two buttons to raise and lower the lift. There is also a manual zero button for setting the zero position. An inches/millimeter button allows switching between units. Two memory buttons, A and B allow saving and recalling lift positions. They work much like radio buttons. Pressing and holding a button for a few seconds, stores the current location in memory. A momentary pressing of a button recalls a stored location and moves the lift to that location.

Step 4: Now for the Details

These two files contain the schematic and the code for the Arduino Uno.

The display is a 16 character single line display. They can be a little hard to find, since the 2 line version is so popular. The single line characters are quite a bit larger, that's why it was used. It would be a simple matter to use the 2x16 display if desired. I believe the pinouts are identical. You would need to reformat the text display in the code.

The sensor probe for setting automactic zero is simply a contact plate mounted in a non-conductive straightedge. The plate is wired in parallel with the "Zero" switch. When used, the contact plate is set directly above router bit. The the lift is raised with the UP button being held. When the router bit touches the plate, the UP motion will stop. The user then releases the UP button and the display will reset to zero.

The photos shown in the previous step can be a great help in visulizing how the system goes together. This positioning system can be used for almost any size stepper motor. It would work well, for instance, for building an automated table saw fence.

The code is well documented. While perhaps not a beginners program, it is fairly simple and should be easy to understand and modify for your own use. The program was designed around the stepper controller being set to 4 micro-steps with a 200 step/revolution motor. The ball-screw has a lead of five millimeters.

Feel free to ask questions. Post comments letting me know if you found this design useful for your own projects.



    • Warm and Fuzzy Contest

      Warm and Fuzzy Contest
    • Paper Contest

      Paper Contest
    • Remix Contest

      Remix Contest

    6 Discussions


    Question 11 months ago on Introduction


    I am trying to understand why you added R2-R7, did you have
    issues using the Arduino internal pull-up?One additional question, can I assume that J3 and P4 are just jumper
    headers, otherwise I am not sure what happens between these headers.

    I really appreciate you publishing this, it made designing
    my version much easier.


    2 answers

    Answer 11 months ago

    The resistors and capacitors are to improve noise immunity. The internal resistors values are very high. P4 and J3 are just a way to make a connection between the proto-board and the stepper driver.


    Answer 11 months ago

    Understood and I appreciate the response.



    1 year ago

    While I applaud your effort and ingenuity, I have to stay with my router raiser and simple measurements and rely on those things to build wood projects and things. I am a firm believer, the more parts something has, the more chances for one of those parts to fail, especially with electronics. Simple mathematics and proven many times over the years. But a nice approach to raising a router, or in this case, a water spindle, to the required position as well.

    2 replies

    Reply 1 year ago

    For the hobbist, I think you are correct. But the fact is most router lifts are designed for hobbist use. I have a Bench Dog lift which is very heavy duty, but it still gets jamed with sawdust and requires a special tool to change the height. This router table is being used in a makerspace with about 80 members, of various experience levels, using it. So it has to be tough. Geting out a special wrench to change the heigth, or having to clear dust from a mechanical readout can be a problem. Pressing an UP or DOWN button and looking at an LCD readout is much simpler. Remember how cars used points and condensors for the ignition systems, and changing them out every 5-10K miles? Remember how much people whined about going to electronic ignition? Which do you prefer? Just a thought.


    Reply 1 year ago

    I am sorry you took my previous comment as destructive criticism and not as a common sense idea for the typical home wood shop hobbyist. I love modern improvements for things. But what you posted is NOT a typical setup for general wood hobbyist. If you like it for what ever reason, that should be all that matters. I am sure my staying with traditional approach will not keep you awake at night, and shouldn't either. Just too complex for a home work shop setup when I have had zero issue with a quality router raiser to make many very nice projects over the years. So it is not for me, and if you enjoy it, that is all the should matter to you. I didn't say it was a bad project, only not a project for me!