Adafruit Motor Shield Not Working

Hi everyone!

I was hoping you all could help me figure out why my Arduino won’t recognize my Adafruit Motorshield.

Here’s few pictures of my setup:

While I understand that the soldering job isn’t great (I’m fairly new to soldering), the shield appears to be connected and lights up.

And here’s my code:

/* 
This is a test sketch for the Adafruit assembled Motor Shield for Arduino v2
It won't work with v1.x motor shields! Only for the v2's with built in PWM
control

For use with the Adafruit Motor Shield v2 
---->	http://www.adafruit.com/products/1438
*/

#include <Wire.h>
#include <Adafruit_MotorShield.h>
#include "utility/Adafruit_MS_PWMServoDriver.h"

// Create the motor shield object with the default I2C address
Adafruit_MotorShield AFMS = Adafruit_MotorShield(); 
// Or, create it with a different I2C address (say for stacking)
// Adafruit_MotorShield AFMS = Adafruit_MotorShield(0x61); 

// Select which 'port' M1, M2, M3 or M4. In this case, M1
Adafruit_DCMotor *myMotor = AFMS.getMotor(1);
// You can also make another motor on port M2
//Adafruit_DCMotor *myOtherMotor = AFMS.getMotor(2);

void setup() {
  Serial.begin(9600);           // set up Serial library at 9600 bps
  Serial.println("Adafruit Motorshield v2 - DC Motor test!");

  AFMS.begin();  // create with the default frequency 1.6KHz
  //AFMS.begin(1000);  // OR with a different frequency, say 1KHz
  
  // Set the speed to start, from 0 (off) to 255 (max speed)
  myMotor->setSpeed(150);
  myMotor->run(FORWARD);
  // turn on motor
  myMotor->run(RELEASE);
}

void loop() {
  uint8_t i;
  
  Serial.print("tick");

  myMotor->run(FORWARD);
  for (i=0; i<255; i++) {
    myMotor->setSpeed(i);  
    delay(10);
  }
  for (i=255; i!=0; i--) {
    myMotor->setSpeed(i);  
    delay(10);
  }
  
  Serial.print("tock");

  myMotor->run(BACKWARD);
  for (i=0; i<255; i++) {
    myMotor->setSpeed(i);  
    delay(10);
  }
  for (i=255; i!=0; i--) {
    myMotor->setSpeed(i);  
    delay(10);
  }

  Serial.print("tech");
  myMotor->run(RELEASE);
  delay(1000);
}

It’s Adafruit’s default example code for using a DC motor.

Here’s my output

Adaruit Motorshield v2 - DC Motor test!
Adafruit Motorshield v2 - DC Motor test!

Nothing else displays.

Any help would be really appreciated

Thank you!

A lot of those pins don't look like they're soldered at all. You'll have to do much better than that, I'm afraid. Make sure you let the pads and pins heat up properly before applying the solder. Even the points where I can see solder, they look like they could easily be 'dry' joints.

As things are, we can only guess.

Get a bit of soldering practice, then tackle it again and do it properly.

Must be a hot enough iron, must be freshly cleaned and re-tinned with rosin-cored solder before each joint - go look at some videos and photos - you need to be able to recognise a bad or good solder joint visually first of all.