Uno R3 is not being powered up with 18650

Hello, I am new to the community.

Objective
A extremely simple and beginner-level (single shaft 4 TT motor-based) BT module HC-05 controlled vehicle, equipped with:

  • Arduino UNO R3 Board
  • L293D Motor Driver shield
  • Bluetooth Module HC-05
    I was trying to power the same with two 3.7-volt-based 18650s.

Issue: Related to the 18650-based power source.

While the board is connected to the USB, it is powered up, but not with dual 1860 batteries. I tested it with other programming, and it was successfully fed, and the programming was working.
I checked if the battery holder was faulty, but the barrel holder was working as well.

Something might be amiss from my end. Thus, I am posting the question here. If I need to add a bit more information, I gladly will.

Note:

  • The code has been added.
  • The schematic is not available.
  • Some supporting photographs can be uploaded.
  • My soldering was poorly executed.

Script:

#include <AFMotor.h>
 
//initial motors pin
AF_DCMotor motor1(1, MOTOR12_1KHZ);
AF_DCMotor motor2(2, MOTOR12_1KHZ);
AF_DCMotor motor3(3, MOTOR34_1KHZ);
AF_DCMotor motor4(4, MOTOR34_1KHZ);
 
int val;
int Speeed = 255;
 
void setup()
{
  Serial.begin(9600);  //Set the baud rate to your Bluetooth module.
}
void loop(){
  if(Serial.available() > 0){
    val = Serial.read();
     
    Stop(); //initialize with motors stoped
     
          if (val == 'F'){
          forward();
          }
 
          if (val == 'B'){
          back();
          }
 
          if (val == 'L'){
          left();
          }
 
          if (val == 'R'){
          right();
          }
          if (val == 'I'){
          topright();
          }
 
          if (val == 'J'){
          topleft();
          }
 
          if (val == 'K'){
          bottomright();
          }
 
          if (val == 'M'){
          bottomleft();
          }
          if (val == 'T'){
          Stop();
          }
  }
}
          
 
           
 
 
 
void forward()
{
  motor1.setSpeed(Speeed); //Define maximum velocity
  motor1.run(FORWARD); //rotate the motor clockwise
  motor2.setSpeed(Speeed); //Define maximum velocity
  motor2.run(FORWARD); //rotate the motor clockwise
  motor3.setSpeed(Speeed);//Define maximum velocity
  motor3.run(FORWARD); //rotate the motor clockwise
  motor4.setSpeed(Speeed);//Define maximum velocity
  motor4.run(FORWARD); //rotate the motor clockwise
}
 
void back()
{
  motor1.setSpeed(Speeed); //Define maximum velocity
  motor1.run(BACKWARD); //rotate the motor anti-clockwise
  motor2.setSpeed(Speeed); //Define maximum velocity
  motor2.run(BACKWARD); //rotate the motor anti-clockwise
  motor3.setSpeed(Speeed); //Define maximum velocity
  motor3.run(BACKWARD); //rotate the motor anti-clockwise
  motor4.setSpeed(Speeed); //Define maximum velocity
  motor4.run(BACKWARD); //rotate the motor anti-clockwise
}
 
void left()
{
  motor1.setSpeed(Speeed); //Define maximum velocity
  motor1.run(BACKWARD); //rotate the motor anti-clockwise
  motor2.setSpeed(Speeed); //Define maximum velocity
  motor2.run(BACKWARD); //rotate the motor anti-clockwise
  motor3.setSpeed(Speeed); //Define maximum velocity
  motor3.run(FORWARD);  //rotate the motor clockwise
  motor4.setSpeed(Speeed); //Define maximum velocity
  motor4.run(FORWARD);  //rotate the motor clockwise
}
 
void right()
{
  motor1.setSpeed(Speeed); //Define maximum velocity
  motor1.run(FORWARD); //rotate the motor clockwise
  motor2.setSpeed(Speeed); //Define maximum velocity
  motor2.run(FORWARD); //rotate the motor clockwise
  motor3.setSpeed(Speeed); //Define maximum velocity
  motor3.run(BACKWARD); //rotate the motor anti-clockwise
  motor4.setSpeed(Speeed); //Define maximum velocity
  motor4.run(BACKWARD); //rotate the motor anti-clockwise
}
 
void topleft(){
  motor1.setSpeed(Speeed); //Define maximum velocity
  motor1.run(FORWARD); //rotate the motor clockwise
  motor2.setSpeed(Speeed); //Define maximum velocity
  motor2.run(FORWARD); //rotate the motor clockwise
  motor3.setSpeed(Speeed/3.1);//Define maximum velocity
  motor3.run(FORWARD); //rotate the motor clockwise
  motor4.setSpeed(Speeed/3.1);//Define maximum velocity
  motor4.run(FORWARD); //rotate the motor clockwise
}
 
void topright()
{
  motor1.setSpeed(Speeed/3.1); //Define maximum velocity
  motor1.run(FORWARD); //rotate the motor clockwise
  motor2.setSpeed(Speeed/3.1); //Define maximum velocity
  motor2.run(FORWARD); //rotate the motor clockwise
  motor3.setSpeed(Speeed);//Define maximum velocity
  motor3.run(FORWARD); //rotate the motor clockwise
  motor4.setSpeed(Speeed);//Define maximum velocity
  motor4.run(FORWARD); //rotate the motor clockwise
}
 
void bottomleft()
{
  motor1.setSpeed(Speeed); //Define maximum velocity
  motor1.run(BACKWARD); //rotate the motor anti-clockwise
  motor2.setSpeed(Speeed); //Define maximum velocity
  motor2.run(BACKWARD); //rotate the motor anti-clockwise
  motor3.setSpeed(Speeed/3.1); //Define maximum velocity
  motor3.run(BACKWARD); //rotate the motor anti-clockwise
  motor4.setSpeed(Speeed/3.1); //Define maximum velocity
  motor4.run(BACKWARD); //rotate the motor anti-clockwise
}
 
void bottomright()
{
  motor1.setSpeed(Speeed/3.1); //Define maximum velocity
  motor1.run(BACKWARD); //rotate the motor anti-clockwise
  motor2.setSpeed(Speeed/3.1); //Define maximum velocity
  motor2.run(BACKWARD); //rotate the motor anti-clockwise
  motor3.setSpeed(Speeed); //Define maximum velocity
  motor3.run(BACKWARD); //rotate the motor anti-clockwise
  motor4.setSpeed(Speeed); //Define maximum velocity
  motor4.run(BACKWARD); //rotate the motor anti-clockwise
}
 
 
void Stop()
{
  motor1.setSpeed(0); //Define minimum velocity
  motor1.run(RELEASE); //stop the motor when release the button
  motor2.setSpeed(0); //Define minimum velocity
  motor2.run(RELEASE); //rotate the motor clockwise
  motor3.setSpeed(0); //Define minimum velocity
  motor3.run(RELEASE); //stop the motor when release the button
  motor4.setSpeed(0); //Define minimum velocity
  motor4.run(RELEASE); //stop the motor when release the button
}

Welcome to the forum

What voltage are you getting from the 18650 batteries and how are they connected to Uno ?

7.4 volt

The power port

A photograph:

If you are connecting the battery pack at the shield power port, you should remove the power jumper:

image

You didn't mention a servo. What´s connected here?
image

There is no servo.
The jumpers are for the HC-05 module.
The problem is now solved without any alteration.

The issue was with the 18650 holder (though I mentioned that the same was working well).

New Issue

It seems that the motor and the pin combination are being obstacles.
Previously, motors 1 to 4 were in a different direction. Then I changed it with this below, now, the same can not be fed / uploaded to the board.
Where would I need to rectify?

The script:

#include <AFMotor.h>
 
// Initial motors pin (adjusted for motor numbering 1 to 4)
AF_DCMotor motor1(2, MOTOR12_1KHZ);
AF_DCMotor motor2(3, MOTOR12_1KHZ);
AF_DCMotor motor3(4, MOTOR34_1KHZ);
AF_DCMotor motor4(1, MOTOR34_1KHZ);
 
int val;
int Speeed = 255;
 
void setup() {
  Serial.begin(9600);  // Set the baud rate to your Bluetooth module.
}
 
void loop() {
  if (Serial.available() > 0) {
    val = Serial.read();
     
    Stop(); // Initialize with motors stopped
     
    if (val == 'F') {
      forward();
    }
    else if (val == 'B') {
      back();
    }
    else if (val == 'L') {
      left();
    }
    else if (val == 'R') {
      right();
    }
    else if (val == 'I') {
      topright();
    }
    else if (val == 'J') {
      topleft();
    }
    else if (val == 'K') {
      bottomright();
    }
    else if (val == 'M') {
      bottomleft();
    }
    else if (val == 'T') {
      Stop();
    }
  }
}
 
void forward() {
  motor1.setSpeed(Speeed); // Define maximum velocity
  motor1.run(FORWARD);    // Rotate motor 1 clockwise
  motor2.setSpeed(Speeed); // Define maximum velocity
  motor2.run(FORWARD);    // Rotate motor 2 clockwise
  motor3.setSpeed(Speeed); // Define maximum velocity
  motor3.run(FORWARD);    // Rotate motor 3 clockwise
  motor4.setSpeed(Speeed); // Define maximum velocity
  motor4.run(FORWARD);    // Rotate motor 4 clockwise
}
 
void back() {
  motor1.setSpeed(Speeed); // Define maximum velocity
  motor1.run(BACKWARD);   // Rotate motor 1 anti-clockwise
  motor2.setSpeed(Speeed); // Define maximum velocity
  motor2.run(BACKWARD);   // Rotate motor 2 anti-clockwise
  motor3.setSpeed(Speeed); // Define maximum velocity
  motor3.run(BACKWARD);   // Rotate motor 3 anti-clockwise
  motor4.setSpeed(Speeed); // Define maximum velocity
  motor4.run(BACKWARD);   // Rotate motor 4 anti-clockwise
}
 
void left() {
  motor1.setSpeed(Speeed); // Define maximum velocity
  motor1.run(BACKWARD);   // Rotate motor 1 anti-clockwise
  motor2.setSpeed(Speeed); // Define maximum velocity
  motor2.run(BACKWARD);   // Rotate motor 2 anti-clockwise
  motor3.setSpeed(Speeed); // Define maximum velocity
  motor3.run(FORWARD);    // Rotate motor 3 clockwise
  motor4.setSpeed(Speeed); // Define maximum velocity
  motor4.run(FORWARD);    // Rotate motor 4 clockwise
}
 
void right() {
  motor1.setSpeed(Speeed); // Define maximum velocity
  motor1.run(FORWARD);    // Rotate motor 1 clockwise
  motor2.setSpeed(Speeed); // Define maximum velocity
  motor2.run(FORWARD);    // Rotate motor 2 clockwise
  motor3.setSpeed(Speeed); // Define maximum velocity
  motor3.run(BACKWARD);   // Rotate motor 3 anti-clockwise
  motor4.setSpeed(Speeed); // Define maximum velocity
  motor4.run(BACKWARD);   // Rotate motor 4 anti-clockwise
}
 
void topleft() {
  motor1.setSpeed(Speeed);   // Define maximum velocity
  motor1.run(FORWARD);      // Rotate motor 1 clockwise
  motor2.setSpeed(Speeed);   // Define maximum velocity
  motor2.run(FORWARD);      // Rotate motor 2 clockwise
  motor3.setSpeed(Speeed/3.1); // Define reduced velocity for motor 3
  motor3.run(FORWARD);      // Rotate motor 3 clockwise
  motor4.setSpeed(Speeed/3.1); // Define reduced velocity for motor 4
  motor4.run(FORWARD);      // Rotate motor 4 clockwise
}
 
void topright() {
  motor1.setSpeed(Speeed/3.1); // Define reduced velocity for motor 1
  motor1.run(FORWARD);      // Rotate motor 1 clockwise
  motor2.setSpeed(Speeed/3.1); // Define reduced velocity for motor 2
  motor2.run(FORWARD);      // Rotate motor 2 clockwise
  motor3.setSpeed(Speeed);   // Define maximum velocity
  motor3.run(FORWARD);      // Rotate motor 3 clockwise
  motor4.setSpeed(Speeed);   // Define maximum velocity
  motor4.run(FORWARD);      // Rotate motor 4 clockwise
}
 
void bottomleft() {
  motor1.setSpeed(Speeed);   // Define maximum velocity
  motor1.run(BACKWARD);     // Rotate motor 1 anti-clockwise
  motor2.setSpeed(Speeed);   // Define maximum velocity
  motor2.run(BACKWARD);     // Rotate motor 2 anti-clockwise
  motor3.setSpeed(Speeed/3.1); // Define reduced velocity for motor 3
  motor3.run(BACKWARD);     // Rotate motor 3 anti-clockwise
  motor4.setSpeed(Speeed/3.1); // Define reduced velocity for motor 4
  motor4.run(BACKWARD);     // Rotate motor 4 anti-clockwise
}
 
void bottomright() {
  motor1.setSpeed(Speeed/3.1); // Define reduced velocity for motor 1
  motor1.run(BACKWARD);     // Rotate motor 1 anti-clockwise
  motor2.setSpeed(Speeed/3.1); // Define reduced velocity for motor 2
  motor2.run(BACKWARD);     // Rotate motor 2 anti-clockwise
  motor3.setSpeed(Speeed);   // Define maximum velocity
  motor3.run(BACKWARD);     // Rotate motor 3 anti-clockwise
  motor4.setSpeed(Speeed);   // Define maximum velocity
  motor4.run(BACKWARD);     // Rotate motor 4 anti-clockwise
}
 
void Stop() {
  motor1.setSpeed(0); // Define minimum velocity
  motor1.run(RELEASE);   // Stop motor 1
  motor2.setSpeed(0); // Define minimum velocity
  motor2.run(RELEASE);   // Stop motor 2
  motor3.setSpeed(0); // Define minimum velocity
  motor3.run(RELEASE);   // Stop motor 3
  motor4.setSpeed(0); // Define minimum velocity
  motor4.run(RELEASE);   // Stop motor 4
}