DIY Arduino based Wire harness wrapping Machine

Hello friends in this post I have build a Arduino based wire harness wrapping machine.

some time wrapping tape to wire harness is very challenging and time consuming job
so made this simple machine to minimize the work and we can quickly wrap the tape
to wire harness.

Component Used

  1. Arduino nano
  2. A4988 stepper driver
  3. Custom PCB
  4. Limit switch
  5. 12mm wooden sheet
  6. 6mm acrylic
  7. Some hardware
  8. wrapping tape

To make the base of this machine I have used 12mm wooden sheet.

I cut the base of size 150 x 220 mm , I used my mini table saw to cut the wooden sheet
and I used my bench sander to sand the edges of the wooden sheet.

After completing the base of the machine now I have made the C shape acrylic part.
this ring is made from 6mm acrylic sheet, I have cut the shape by using my home made CNC router machine.

This ring circle around the wire and tape is attached to this ring.

Then I print a templet on plain white paper, and pasted on the wooden sheet and cut the outline using my jigsaw machine.

Arduino based Wire harness wrapping Machine

The I place the acrylic ring inside the roller so it will rotate sooty.

Arduino based Wire harness wrapping Machine

This is the custom made PCB used in this project. by the way this is multipurpose PCB it can be used for wide range of arduino project.

If you are interested to order this PCB so you can find the Gerber file of the PCB here

Custom PCB

I have 3D printed the circular part to hold the wrapping tape
also I have used a spring to make tension on the tape so that wrapping tape release with tension
and wrap over wire tightly.

Here I have used a limit switch with a long notch.
This limit switch is used to start and stop the wrapping.
When we first press the limit switch it will start winding and when we press it again
it will stop the winding.

Arduino Code

#include <Arduino.h>
#include "BasicStepperDriver.h"
#define MOTOR_STEPS 200
#define RPM 500
boolean A = 0;
int flag = 0;
int val = 0;
#define MICROSTEPS 8

#define DIR A2
#define STEP A3
int state = 0;
BasicStepperDriver stepper(MOTOR_STEPS, DIR, STEP);

void setup() {
    stepper.begin(RPM, MICROSTEPS);

void loop() {
A = digitalRead(9);
if (A==1 && flag==0 && state == 0){
  flag = 1;  
if (A==1 && flag == 1 && state == 1){
  flag = 0;
  state = 0;
if (flag==1 && A==0){
  state = 1;