Introduction: Table Sized Arduino Joystick Controlled T-Slot XY Table

About: A Maker since childhood with all the classic symptoms, a robot builder, and an Internet software CTO/Tech Product Manager.
I needed to make a smaller version of the TeleToyland Sandbox 2 to take to Maker Faires and other shows, so I reduced the size of the previous one to fit on a plastic folding table.  The outside dimensions are about 30"x32", and the work area is about 16" square.  The T-Slot approach for this low precision XY table is documented in another Instructable, and really works well.  Since I have had numerous requests about making a smaller one, I wanted to post the updated dimensions for others to use.


One advantage is that the new size only requires 5 turn potentiometers, so the accuracy is higher.  These are a little harder to find (esp. at a reasonable price) than the 10-turn potentiometers.

I opted to use the same Pololu JRK 12v3 motor controllers in the interest of time.  Stepper motors would definitely work, and most people who use this design choose that approach.

Using two connected belts for X Axis is less important, but it does keep that completely aligned, so I kept that feature.  The X Axis shaft is 30.5" long.

For this smaller sized table, the belts are 500XL037.  As before, you need three of them - one for the Y axis and 2 for the X axis.

New T-Slot sizes (I used the 80/20 brand):
  • 1"x1" - (2) 32" pieces.  These could be cut from a single 72" piece.
  • 1"x2" - (2) 27" pieces + (2) 7" pieces.  These could be cut from a single 72" piece.  The 7" pieces are for the X Axis carriage, and it may be possible to shave an inch off of those, but the clearance for the rollers would be tight.
  • 1"x3" - (1) 32" piece.  This can be cut from a single 36" piece.
Instead of shaft couplers for the motors, I used reinforced hose from the hardware store like this.  It's has a 1/4" inside diameter, and I cut them to 2-3" lengths, so you don't need much.  I used small hose clamps to hold the hose on the shafts, motors (the 6mm shafts are just under 1/4"), and also the potentiometers, so eight hose clamps were used.

For the control, I used a Joystick Shield by SparkFun, and Arduino Uno - the code is attached.  I made a plastic plate to go under the Arduino/Joystick Shield combo, so the end result was like a geeky game controller.  I was a little worried about it holding up, but except for the cap popping off occasionally, it help up to 7 hours of kid use, drops, and occasional sibling squabbles.  I used a 4 wire tether to connect that to the battery & JRK controllers.  The wires were Vcc, Gnd, an I/O pin for the Z axis servo, and the TX pin for the JRK controllers.

I think that's most of the changes from the other more detailed Instructable - add comments or send messages if you have any questions!