Cannot Upload to Pro Mini - Any Of Them.

Hi hopefully i have posted this is the correct place ?
Having got this “error message” see below

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x08

I looked it up on google the suggestions were as follows:-

Here are some easy things that can often fix this error:

Disconnect and reconnect the USB cable. DONE MANY TIMES
Press the reset button on the board. DONE
Restart the Arduino IDE. DONE
Make sure you select the right board in Tools ► Board ►, YES PRO MINI
Make sure you selected the right port in Tools ► Serial Port ►. One way to figure out which port it is on is by following these steps:
Disconnect the USB cable.
Go to Tools ► Serial Port ► and see which ports are listed (e.g. COM4 COM5 COM14).
Reconnect the USB cable. DONE
Go back to Tools ► Serial Port ►, and see which port appeared that wasn’t there before. DONE

The sketch compiles fine.

/***************************************************
Plastic Arms Dealer Sound and Light Board
V1.2
JUNE 9, 2019
Andrew McClary
Copyright 2018 All Rights Reserved

UPDATES:
 - Changed pin outs for Arduino Micro
 ****************************************************/

#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"

SoftwareSerial mySoftwareSerial(8,9); // RX, TX

DFRobotDFPlayerMini myDFPlayer;

void printDetail(uint8_t type, int value);

  int triggerButton = 4; //the pin where we connect the button
 


//Output Pins to turn lights on
int LED1 = 6; //the pin we connect the Blaster LED
int LED2 = 7; //the pin we connect the Blaster LED

int fireSound = 1;


void setup()
{
   mySoftwareSerial.begin(9600);
  Serial.begin(115200);
   pinMode(triggerButton, INPUT_PULLUP); //set the button pin as INPUT
   
   
  pinMode(LED1, OUTPUT); //set the LED pin as OUTPUT
  pinMode(LED2, OUTPUT); //set the LED pin as OUTPUT
  
 
  
  Serial.println();
  Serial.println(F("Plastic Arms Dealer Blaster Sound System beta 2.1 May 2020"));
  Serial.println(F("Initializing Sound Player ... (May take 3~5 seconds)"));

  //This sets up the code and connects with the MP3 player
  if (!myDFPlayer.begin(mySoftwareSerial)) {  //Use softwareSerial to communicate with mp3.
    Serial.println(F("Unable to begin:"));
    Serial.println(F("1.Please recheck the connection!"));
    Serial.println(F("2.Please insert the SD card!"));
    //while(true);
                                            }
  
  Serial.println(F("Plastic Arms Dealer Blaster Sound System online."));
  Serial.println(F("Folder 1."));
  Serial.println(myDFPlayer.readFileCountsInFolder(1)); //read fill counts in folder SD:/1
  Serial.println(F("Folder 2"));
  Serial.println(myDFPlayer.readFileCountsInFolder(2)); //read fill counts in folder SD:/03
  Serial.println(F("Folder 3"));
  Serial.println(myDFPlayer.readFileCountsInFolder(3)); //read fill counts in folder SD:/03
  myDFPlayer.volume(30);  //Set volume value. From 0 to 30 
 
  //Play startup sound
  myDFPlayer.playLargeFolder(03, 1);;
 
}

//***  This is the main looping code that monitors the buttons ***
void loop()
{
    static unsigned long timer = millis();

    
    //This is were the button states are all read
    int stateButton = digitalRead(triggerButton); //read the state of the button
  
    //Check for Fire button
    if(stateButton == LOW) { //if is pressed
      //Serial.println(F("Fire button Pressed"));
      //Play the sound file
        
        
        //myDFPlayer.next();  //Play next mp3 
       
        myDFPlayer.playLargeFolder(02, fireSound);
        printDetail(myDFPlayer.readType(), myDFPlayer.read());
        
        delay(100);
        
        //Flash the leds
        digitalWrite(LED1, HIGH); //write 1 or HIGH to led pin
        delay(200);
        digitalWrite(LED1, LOW); //write 1 or HIGH to led pin
        delay(100);
        digitalWrite(LED2, HIGH); //write 1 or HIGH to led pin
        delay(100);
        digitalWrite(LED2, LOW); //write 1 or HIGH to led pin
        delay(50);
        digitalWrite(LED2, HIGH); //write 1 or HIGH to led pin
        delay(200);
        digitalWrite(LED2, LOW); //write 1 or HIGH to led pindigitalWrite(LED2, HIGH); //write 1 or HIGH to led pin
        delay(50);
        digitalWrite(LED2, HIGH); //write 1 or HIGH to led pindigitalWrite(LED2, HIGH); //write 1 or HIGH to led pin
        delay(100);
        digitalWrite(LED2, LOW); //write 1 or HIGH to led pin

        //Change the blaster sound
        fireSound++;
        Serial.print("Fire Button Pressed - ");
        Serial.print(fireSound);
        if (fireSound >= 10){
            fireSound = 1;
                          }
      }

      
  
}  //END Loop

void printDetail(uint8_t type, int value){
  switch (type) {
    case TimeOut:
      Serial.println(F("Time Out!"));
      break;
    case WrongStack:
      Serial.println(F("Stack Wrong!"));
      break;
    case DFPlayerCardInserted:
      Serial.println(F("Card Inserted!"));
      break;
    case DFPlayerCardRemoved:
      Serial.println(F("Card Removed!"));
      break;
    case DFPlayerCardOnline:
      Serial.println(F("Card Online!"));
      break;
    case DFPlayerPlayFinished:
      Serial.print(F("Number:"));
      Serial.print(value);
      Serial.println(F(" Play Finished!"));
      break;
    case DFPlayerError:
      Serial.print(F("DFPlayerError:"));
      switch (value) {
        case Busy:
          Serial.println(F("Card not found"));
          break;
        case Sleeping:
          Serial.println(F("Sleeping"));
          break;
        case SerialWrongStack:
          Serial.println(F("Get Wrong Stack"));
          break;
        case CheckSumNotMatch:
          Serial.println(F("Check Sum Not Match"));
          break;
        case FileIndexOut:
          Serial.println(F("File Index Out of Bound"));
          break;
        case FileMismatch:
          Serial.println(F("Cannot Find File"));
          break;
        case Advertise:
          Serial.println(F("In Advertise"));
          break;
        default:
          break;
      }
      break;
    default:
      break;
  }
}

I have swapped boards all Pro Minis from different suppliers
Changed USB leads and ports
tried two different FTDI boards
Reinstalled the drivers as well

all ways the same response
attached are photo of the boards etc…
I feel having tried different boards lead etc well I realy need your help I dont know what else to try ?

ballscrewbob. Thank you my mistake i must look further there are so many areas to choose from it can be a tad bewildering :-0 but I will get there.

5V or 3V Pro Mini's?

With power to the Pro Mini push the Reset button. Does the L led Flash a couple or three times.

Run a Loop Back test on your FTDI232. Short the Tx and RX leads together, plugin and and select the port.

Pull up a Serial Monitor and type and send. You should see what you typed coming back.

Modify this for your FTDI, it explains things better than i can.

Make sure you have solid connections between your FTDI and your Pro Mini.

Kprima,

many thanks for that i will try it i have found what may be a work around you may know better,

If I hold in the reset button and press upload icon still keeping the reset depressed.
Then while watching the status line once it says uploading (done compling) release the reset button (takes a bit of timing) then it uploads the the pro mini just fine.

I hope thats understandable I dont word things well sometimes apologies for that.

The Board is a 5v by the way.

Sounds like DTR not getting through to do an auto reset.

I have ordered a new board that is dedicated 5v and says DTR also hopfully this will solve it ?

chris-smith:
I have ordered a new board that is dedicated 5v and says DTR also hopfully this will solve it ?

Are you just pushing the pins through the holes in your Pro mini? If so, it's real hard to get good connections. Looks like you have the right boards looking at your pictures, but you can always use a new board. :slight_smile:

Yes I am Just pushing the pibs through. The problem is i don't have space for permanently soldered pins sadly. But that said it only needs doing once.

chris-smith:
Yes I am Just pushing the pibs through. The problem is i don’t have space for permanently soldered pins sadly. But that said it only needs doing once.

I understand, just try to keep even pressure on all the pins and it should work.