Delta robot

Jump to: navigation, search

The aim of this project is to make delta-robot that is precise enough to place 0805-size SMD components on PCB. Also this is a good project to improve skills in computer vision (parts are supposed to be aligned on board by processing images with OpenCV).

Delta kinematics has some benefits comparing to cartesian and other systems:

  • High speed. All motors are located on a still frame, so all moving parts can be very lightweight.
  • Easy to build and cheap. No linear guides, leadscrews, massive frame etc.

Disadvantages: Due to non linear dependency between stepper angles and effector position, the accuracy gets worse when you operate near the edges of working field. Standard 16-microstep drivers are not accurate enough if you want to connect shoulders to steppers directly. Gears or advanced stepper drivers must be used.

Mechanics (2nd revision):

  • 3 x 17HS8401 stepper motors
  • 12 x ball joints
  • Aluminium extrusion frame
  • Acrylic base, effector, arms and shoulders
  • Home switches
  • shoulders are directly connected to stepper motors


Based on STMicroelectronics L6470 drivers. These drivers have up to 1/128 microstepping, no current-sense resistors, SPI interface, advanced control logic (acceleration/deceleration, homing, goto etc.) bunch of protections. In 1/128 microsteps mode, movement is really smooth and precise, so if motor torque is enough, no gearbox is needed. STM32F102C6 MCU is acting as a USB to SPI bridge.


Written in Python. In the last revision it was capable of detecting rectangular objects (resistors) of certain size, and move actuator precisely to their center point.

Current state of the project

The first revision of mechanics was successfully tested. It was able to pick up 1206 size resistors and place them in the defined position. Second revision is under development. It will be faster (bigger steppers), more rigid and will have small servo on actuator to be able to rotate parts.