Smartphone Controlled Winding Machine | Arduino Project

Sometime when I need some wire so I took a full thread spool but I am done with my work it is difficult to rewind all that again. So today I though to make a winding machine. First I build a thread winding Machine. Then I programmed it to be controlled via Bluetooth. So I just used an old app for controlling because I didn’t have time to program.

Required Components:

  • Screw Driver
  • Nose Player
  • Solution
  • Ball Point
  • Dc Motor
  • Glue Stick
  • Copper Wire
  • Rubber Bands
  • Arduino Board
  • Motor Driver
  • Bread Board
  • Old Cds
  • Taps
  • Bluetooth Module
  • Jumper Wire
  • 2x Paper Sheet
  • Blade
  • 3x Wooden Rulers
  • Andriod App (Link Is Given At End)

Requirements of projects.


  • First mark 2 of the wooden rulers at 6.5 inches and 11.5 inches. And the the reaming at 7 cm and 14 cm.
  • Then cut the ruler according to marks. So it become 2X 6.5 inches 2X 4 inches And 2X 7 cm.
  • Then join 6.5 and 4 inches with help of glue stick and make a rectangle from it.
  • After that take the 7c and from one side on 6.5 inches at 1.5 inches glue it mean here will be the stand. (First make for one side)
  • Then take a gluestick and roll it in both sheet of paper. After that use some tape on it so it will become completely round.
  • Then take the copper wire and make a ring from it according to spindle. And Glue it on the top of 7 cm.
  • Then Insert the spindle along with CDs.
  • After that glue the 7 cm remaining on another side.
  • Attach the Dc Motor at the other side on 6.5  Inches. Then Make circuit according to given pic below.
  • Upload the code from below to your Board. ( Don’t Forget to remove the Tx & Rx Pins while uploading)
  • Connect Your Phone And Enjoy….
  • Note Default Password For Hc 05 is 1234 Or 0000.


//This program is used to control a Dc Motor using a app that communicates with Arduino through a bluetooth module.
//Error Code Chart: Code 01; Turnradius is higher than Speed; Code 02; Speed is higher than 255;
#define in1 8 //L298n Motor Driver pins.
#define in2 9
int command; //Int to store app command state.
int Speed = 204; // 0 - 255.
int Speedsec;
int Turnradius = 0; //Set the radius of a turn, 0 - 255 Note:the robot will malfunction if this is higher than int Speed.
void setup() {
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  Serial.begin(9600);  //Set the baud rate to your Bluetooth module.

void loop() {
  if (Serial.available() > 0) {
    command =;
    Stop(); //Initialize with motors stoped.
    switch (command) {
      case 'F':
      case 'B':
       case '0':
        Speed = 100;
      case '1':
        Speed = 140;
      case '2':
        Speed = 153;
      case '3':
        Speed = 165;
      case '4':
        Speed = 178;
      case '5':
        Speed = 191;
      case '6':
        Speed = 204;
      case '7':
        Speed = 216;
      case '8':
        Speed = 229;
      case '9':
        Speed = 242;
      case 'q':
        Speed = 255;
    Speedsec = Turnradius;

void forward() {
  analogWrite(in1, Speed);

void back() {
  analogWrite(in2, Speed);

void Stop() {
  analogWrite(in1, 0);
  analogWrite(in2, 0);


Circuit Information.

External Links:

Andriod App:   For App Click Here Google Play Link.


For Any Problem Comment Below..

Leave a reply