Week 5: Control


We will take a look at the hardware to control actuators.


Bot of the Week

F3T (Ford Freeform Fabrication Technology)

Ford is developing a highly flexible technology to rapidly form sheet metal parts for low-volume production applications. Once fully developed, the technology (Ford Freeform Fabrication Technology, or F3T) will allow for lower costs and ultrafast delivery times for prototypes — within three business days versus conventional methods that take anywhere from two to six months.


Incremental Sheet Metal Forming

N-Bowls by KALO


Bot of the Week In Action


Download Software: axidraw.com/sw
Download User Guide: axidraw.com/guide
Additional Documentation: axidraw.com/docs


Jeff Leonard has some interesting painting machines.  Some of my favorites in action below.

A post shared by Jeff Leonard (@jeffleonardarts) on

cnc painting machine pinstripe tool & airbrush tool

A post shared by Jeff Leonard (@jeffleonardarts) on



There will almost always be some hardware driving the motors of your XYZ bots.  These boards are used to interface between your computer and the various motor controls, relays, and other devices you want to control on an XYZ machine. –via

Me Orion

This is what we’ve worked with already with our Makeblock XY Plotters.  Makeblock Orion is a main control board upgraded and improved for teaching and entertainment on the basis of Arduino Uno. With powerful driving ability and maximum output power of 36W (3A), it can drive four DC motors simultaneously. Well-designed color system is used with sensor modules perfectly, and eight user-friendly independent RJ25 ports implements circuit connection easily.


X-Controller Kit

The controller for the X-Carve CNCs.

While the X-Controller has separate drivers for 4 stepper motors, the X-Controller is not 4-Axis because it runs Grbl only. Grbl is only a 3 axis controller.



The gShield for Arduino (formerly known as grblShield) is a complete hardware solution for Dank’s CNC motion control system called grbl. The gShield is compatible with the Uno and other 328p versions of the Arduino development platform. Version 5 is now compatible with running TinyG on the Arduino Due. The v5 power jumper simply allows the gShield to be run as a native 3.3v device from the Due, instead of a 5v device.

This is what you are all running your machines on.


TinyG CNC Controller Board

The TinyG project is a high performance, USB based CNC 6-axis controller that supports XYZ linear and ABC rotary axes with 4 motor outputs. It is designed for small CNC applications and other applications that require highly controllable motion control. TinyG is meant to be a complete embedded solution for small or medium motor control.

TinyG Wiki

6 Axes (X,Y,Z,A,B,C)


EiBotBoard (EBB)

Standard features include two Allegro A4983 16X microstepping motor drivers for bipolar steppers. It also has a separate onboard regulator to power up to two servo motors. It is 2.2 x 2.2 inches square (5.6 x 5.6 cm). Works well with a 9 V 1.5 A power supply.

This is the board running the AxiDraw.


Motor/Stepper/Servo Shield

  • 2 connections for 5V ‘hobby’ servos connected to the Arduino’s high-resolution dedicated timer – no jitter!
  • 4 H-Bridges: TB6612 chipset provides 1.2A per bridge (3A for brief 20ms peaks) with thermal shutdown protection, internal kickback protection diodes. Can run motors on 4.5VDC to 13.5VDC.
  • Up to 4 bi-directional DC motors with individual 8-bit speed selection (so, about 0.5% resolution)
  • Up to 2 stepper motors (unipolar or bipolar) with single coil, double coil, interleaved or micro-stepping.
  • Motors automatically disabled on power-up
  • Arduino reset button brought up top
  • Tested compatible with Arduino UNO, Leonardo, ADK/Mega R3, Due, Diecimila & Duemilanove. Works with Mega/ADK R2 and earlier with 2 wire jumpers.


Easy Drivers

The EasyDriver is a simple to use stepper motor driver, compatible with anything that can output a digital 0 to 5V pulse (or 0 to 3.3V pulse if you solder SJ2 closed on the EasyDriver). The EasyDriver requires a 6V to 30V supply to power the motor and can power any voltage of stepper motor. The EasyDriver has an on board voltage regulator for the digital interface that can be set to 5V or 3.3V. Connect a 4-wire stepper motor and a microcontroller and you’ve got precision motor control! EasyDriver drives bi-polar motors, and motors wired as bi-polar. I.e. 4,6, or 8 wire stepper motors.



DIY Stepper controller

Controlling a stepper motor with an H Bridge

Stepper motors are typically either unipolar or bipolar, meaning that they have either one main power connection or two. Whether a stepper is unipolar or bipolar, however, you can control it with an H-bridge. This lab shows you how to set up a unipolar stepper motor using an H-Bridge. You can use the same control circuit with a bipolar motor too, however. The H-bridge used in this circuit is a basic one, the Texas Instruments L293NE or a Texas Instruments SN754410. via PComp lab Controlling a stepper motor with an H Bridge


Limits – Your bots can only go so far.

Don’t forget about the switches.  Limit Switches – Can be used as kill switches, a way to locate origin, or to find the limit of a gantry’s size.  Some control boards allow you to connect your limit switches directly.




In Class Build

We’ll be building and soldering up a stepper controller circuit.  These boards will give us control over the steppers in our cardboard gantries from last week.



Get familiar with the AxiDraw.  Download the software and start creating some drawings.  You’ll have to share robots but I want everybody to do an individual drawing and post to your blog.

If you’re feeling inspired, you can program the robot directly.

Download Software: axidraw.com/sw
Download User Guide: axidraw.com/guide
Additional Documentation: axidraw.com/docs



Related Reading/Viewing