Skip to content


These are very rough notes for the air hockey robot we're building. It will eventually be formatted into a proper writeup. Until then, buyer beware.

Smoothieboard setup

The "extruder" axis has to be configured as a fourth motor. It is frustrating that it doesn't match the other names (alpha, beta, gamma for XYZ).

Capstan radius is 45mm. Stepper size is 1.8 deg. One step is 1.4136mm. Smoothieboard is setup for 80 steps/mm (0.0125 mm/step), so all values are multiplied by 113. Max feed rate of 30,000 mm/min is 0.5mm/sec, which translates to moving the mallet at 50m/s. We don't actually move that fast since it doesn't achieve the max feed rate on our short travels.

150 mm move command was about 53 inches, roughly 2.83 ratio; computed ratio is 2.87 based on 113 scale factor.

Home position (lower left corner) is:

  • X 5.75 == 16.50
  • Y 62.0 == 117.94
  • Z 44.6 == 128.00
  • E 42.5 == 121.97


Misumi 28mm slides

5mm tapped holes in table side rails. 3D printed gantry connectors.

Motor Control


5V and ground must be shared between the two encoders.

Pinout on motor side:

Motor Arm Function
White Orange Encoder A
Brown Yellow Encoder B
Yellow Brown Index
Gray Black Gnd
Green Red +5V

To talk to the motor controller: picocom -b 115200 --imap crcrlf /dev/tty.usbmodem1411

Configure the motor encoders for channels 1 and 2, clear the counters and report the count every 100 ms: ^EMOD 1 18 ^EMOD 2 34 !C 1 0 !C 2 0 #C ?C # 100

Robots 2015

Last update: November 8, 2020