4 Nozzle PNP Head Controller


In Development

This is a controller for a 4 nozzle pick and place head. The board consists of 6 stepper motor drivers and a mcu with a usb cdc interface:

  • 4 drivers have a current set at 0.6A for controlling the pnp nozzle axis rotation.
  • 2 drivers have a current set at 1.5A for controlling the Z height for heads 1 & 2 and 3 & 4.
  • All drivers are set to use 32 microsteps. A full rotation is 6400 steps.
  • Each driver has a fault LED that will illuminate in case of an error condition

4 Nozzle PNP Head Controller


When plugged in via USB the board will show up as a serial port. Simply send commands to operate the nozzles.

  1. Plug in the nozzles and head Z controllers.
  2. Apply 12 to 35V to the power connector. A regulated supply set at 24V and 2.3A is recommended.
  3. Plug in the micro USB connector.
  4. Send commands to operate the motors.
Control Codes

The following commands are supported:

Code Action
ME Enable motors
MD Disable motors
xR<n> Move motor x relative n steps
xA<p> Move motor x to absolute position p
xZ Zero axis at current position
S0 Set initial velocity / take off speed
SM Set velociy limit
SA Set accel limit

The value of x can be 1, 2, 3, 4, L, or R. 1-4 controls the nozzles, L and R control the left and right Z motors. n and p can be any signed 32 bit integer.

Note: Commands should be terminated with a newline \n or ;

The board will echo a json message back with the command result.


The board has 4 x 3mm mounting holes in the corners with 94 x 35 mm spacing (~3.701 x ~1.378 in).


The boards were designed with Horizon-EDA, manufactured by JLCPCB, and assembled in house. The software is written in zig using the zuric framework.