avrdude error while uploading

Hello everyone!
The last days when I try to upload a sketch to my Arduino UNO I keep getting this message:

avrdude: verification error, first mismatch at byte 0x0042
0x65 != 0x8d
avrdude: verification error; content mismatch
avrdude: verification error; content mismatch

I don't know whats wrong..I have multiple sensors, a Bluetooth module and an SD card breakout hooked up on my Arduino..
Thank you!!

Do you have anything connected to pins 0 and 1 of your Uno?

That problem probably best belongs in the forum section "Avrdude, stk500, Bootloader issues".

Are you using a Uno with USB connection to a PC for software uploading or something more exotic ?
It appears to be failing after it has written your code to the microcontroller and had got some way through verifying what it has written, then discovered an error.

Google for "arduino avrdude: verification error, first mismatch at byte"

but check you have defined the correct board type (Uno, Nano etc.) in the IDE.

Yes the Bluetooth but even if I disconnect them the problem insists …

From my limited understanding, the problem is data corruption. Please post the code (using code tags). Also, you may try using a different cable, PC or Arduino if possible.

It used to work just fine I don’t know what happened suddenly …
Here’s the code

/*
  SD card datalogger

  This example shows how to log data from three analog sensors
  to an SD card using the SD library.

  The circuit:
   analog sensors on analog ins 0, 1, and 2
   SD card attached to SPI bus as follows:
 ** MOSI - pin 11
 ** MISO - pin 12
 ** CLK - pin 13
 ** CS - pin 4 

  This example code is in the public domain.

*/
//SD Card libraries
#include <SPI.h>
#include <SD.h>
const int chipSelect = 4;

//DHT11 Sensor libraries
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>

#define DHTPIN            2         // Pin which is connected to the DHT sensor.
#define DHTTYPE           DHT11     // DHT 11 
DHT_Unified dht(DHTPIN, DHTTYPE);
uint32_t delayMS;
//initializes/defines the output pin of the LM335 temperature sensor
int outputPin = 0;
//this sets the ground pin to LOW and the input voltage pin to high


//Piezo Sensor Pin
const int PIEZO_PIN = A1; // Piezo output

////Accelerometer MMA8452Q//////
/*
  Hardware hookup:
  Arduino --------------- MMA8452Q Breakout
    3.3V  ---------------     3.3V
    GND   ---------------     GND
  SDA (A4) --\/330 Ohm\/--    SDA
  SCL (A5) --\/330 Ohm\/--    SCL


  // */
#include <Wire.h> // Must include Wire library for I2C
#include <SparkFun_MMA8452Q.h> // Includes the SFE_MMA8452Q library

// Begin using the library by creating an instance of the MMA8452Q
//  class. We'll call it "accel". That's what we'll reference from
//  here on out.

MMA8452Q accel;

void setup()
{
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }

  Serial.print("Initializing SD card...");

  // see if the card is present and can be initialized:
  if (!SD.begin(chipSelect)) {
    Serial.println("Card failed, or not present");
    // don't do anything more:
    while (1);
  }
  Serial.println("card initialized.");
  

  ////////////////////////////////////////////////////
  //dht sensor
  dht.begin();
  sensor_t sensor;
  dht.temperature().getSensor(&sensor);
  delayMS = sensor.min_delay / 1000; // Set delay between sensor readings based on sensor details.

  accel.init();
}

void loop()
{
  
  // Delay between measurements.
  delay(delayMS);
  // Get temperature event and print its value.
  sensors_event_t event;
  dht.temperature().getEvent(&event);
  if (isnan(event.temperature)) {
    Serial.println("Error reading temperature!");
  }
  else {
    Serial.print("Temperature: ");
    Serial.print(event.temperature);
    Serial.println(" *C");
  }
  // Get humidity event and print its value.
  dht.humidity().getEvent(&event);
  if (isnan(event.relative_humidity)) {
    Serial.println("Error reading humidity!");
  }
  else {
    Serial.print("Humidity: ");
    Serial.print(event.relative_humidity);
    Serial.println("%");
  }

  // read the input of Myoware muscle sensor on analog pin 0:
  int sensorValue = analogRead(A0);
  // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
  float voltage = sensorValue * (5.0 / 1023.0);
  // print out the value you read:
  Serial.println("Muscle Sensor: ");
  Serial.println(voltage);
  delay(500);


  // Read Piezo ADC value in, and convert it to a voltage
  int piezoADC = analogRead(PIEZO_PIN);
  float piezoV = piezoADC / 1023.0 * 5.0;
  Serial.println("piezoVibration= ");
  Serial.println(piezoV); // Print the voltage.
  delay(500);

  //////Accelerometer/////
  // Use the accel.available() function to wait for new data
  //  from the accelerometer.
  if (accel.available())
  {
    // First, use accel.read() to read the new variables:
    accel.read();

    // accel.read() will update two sets of variables.
    // * int's x, y, and z will store the signed 12-bit values
    //   read out of the accelerometer.
    // * floats cx, cy, and cz will store the calculated
    //   acceleration from those 12-bit values. These variables
    //   are in units of g's.
    // Check the two function declarations below for an example
    // of how to use these variables.
    

    printCalculatedAccels();
    //printAccels(); // Uncomment to print digital readings

    // The library also supports the portrait/landscape detection
    //  of the MMA8452Q. Check out this function declaration for
    //  an example of how to use that.
    printOrientation();

    Serial.println(); // Print new line every time.
    delay(1000);
 

  ////////////////////////////////////////////////////////
  File dataFile = SD.open("datalog.txt", FILE_WRITE);


  if (dataFile)
  {
    //dataFile.println(buf);
    dataFile.print("Temperature: ");
    dataFile.print(event.temperature);
    dataFile.println(" *C");

    dataFile.print("Humidity: ");
    dataFile.print(event.relative_humidity);
    dataFile.println("%");

    dataFile.println("Myoware");
    dataFile.print(voltage);
    // dataFile.print(" V"); //Move to next column using a ","



    dataFile.println("piezoVibration: ");
    dataFile.println(piezoV);
    //dataFile.print(" V"); //Move to next column using a ", "


    ///*
    dataFile.print(accel.cx, 3);
    dataFile.print("\t");
    dataFile.print(accel.cy, 3);
    dataFile.print("\t");
    dataFile.print(accel.cz, 3);
    dataFile.print("\t");

   
    dataFile.close();
  }
  // if the file isn't open, pop up an error:
  else {
    Serial.println("error opening datalog.txt");
  }
 }

}

// This function demonstrates how to use the accel.cx, accel.cy,
//  and accel.cz variables.
// Before using these variables you must call the accel.read()
//  function!
void printCalculatedAccels()
{
  Serial.print(accel.cx, 3);
  Serial.print("\t");
  Serial.print(accel.cy, 3);
  Serial.print("\t");
  Serial.print(accel.cz, 3);
  Serial.print("\t");
}

// This function demonstrates how to use the accel.readPL()
// function, which reads the portrait/landscape status of the
// sensor.
void printOrientation()
{
  // accel.readPL() will return a byte containing information
  // about the orientation of the sensor. It will be either
  // PORTRAIT_U, PORTRAIT_D, LANDSCAPE_R, LANDSCAPE_L, or
  // LOCKOUT.
  byte pl = accel.readPL();
  switch (pl)
  {
    case PORTRAIT_U:
      Serial.print("Portrait Up");
      break;
    case PORTRAIT_D:
      Serial.print("Portrait Down");
      break;
    case LANDSCAPE_R:
      Serial.print("Landscape Right");
      break;
    case LANDSCAPE_L:
      Serial.print("Landscape Left");
      break;
    case LOCKOUT:
      Serial.print("Flat");
      break;
  }
}

I also tried to upload another code but still it isn’t working …

Did you try uploading a blank sketch?

void setup(){

}


void loop(){
delay(1000)
}

yes when i upload the blank sketch I get the following error

Arduino: 1.8.5 (Windows 10), Board: "Arduino/Genuino Uno"

Sketch uses 596 bytes (1%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00
An error occurred while uploading the sketch

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

And this when I disconnect the Bluetooth from 0 and 1

Arduino: 1.8.5 (Windows 10), Board: "Arduino/Genuino Uno"

Archiving built core (caching) in: C:\Users\kat_t\AppData\Local\Temp\arduino_cache_446377\core\core_arduino_avr_uno_7e7efc521bfa236d1e5438b10f2a9ebf.a
Sketch uses 596 bytes (1%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
avrdude: verification error, first mismatch at byte 0x0002
0x6b != 0x34
avrdude: verification error; content mismatch
avrdude: verification error; content mismatch

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

I don’t know if it’s important to mention , I have Windows 10 , Arduino 1.8.5 and in Tools>Programmer>USBasp

Dude! This sucks. I have this same problem, nobody knows why and endless googling doesn't help. I mean there are apparently a whole bunch of causes and no fixes :frowning: lmk if you find something.

Hello everyone! I have also posted this in Troubleshooting section but maybe here it's more relevant.. I don't know why but suddenly the last days when I try to upload a sketch to my Arduino UNO I keep getting this message:

avrdude: verification error, first mismatch at byte 0x0042
0x65 != 0x8d
avrdude: verification error; content mismatch
avrdude: verification error; content mismatch

I don't know whats wrong..I have multiple sensors, a Bluetooth module and an SD card breakout hooked up on my Arduino..It used to work perfectly but now it doesn't even accept a blank code...I have win10 Arduino UNO with 1.8.5 IDE and Programmer USBasp.. i tried to change usb cable and port but still the same problem...I'm really desperate please help me if you have any idea what's going on!

Thank you!!

Old drivers for USB 3 or the USB serial device of Arduino?

Definitely leave the Bluetooth module disconnected while you're troubleshooting this problem.

cathytsir:
I have also posted this in Troubleshooting section...

Please stop cross-posting.

I have win10 Arduino UNO with 1.8.5 IDE and Programmer USBasp..

Do you mean that you are using a device similar to this to program your Uno: USBasp - USB programmer for Atmel AVR controllers - fischl.de
USBasp - USB programmer for Atmel AVR controllers - fischl.de

Or do you mean that that USBasp is selected under the pull down menu "Tools->Programmer" in the IDE.

Normal for programming a standard Uno would be a straight USB cable:

yes that's the cable i'm using..the programmer thing I mentioned is the one in Tools>Programmer..i don't know if it's relevant I just said it in case it has something to do with this error..
Sorry for cross-posting I realized a bit later that this section would be more appropriate that's why i moved the post here/..

The only time the Tools > Programmer selection matters is when you do Tools > Burn Bootloader or Sketch > Upload Using Programmer. That selection is ignored when you do any other operation in the Arduino IDE, including a regular upload.

Ok thank you for your answer!! But any ideas why I can't upload any sketch? :confused: It suddenly happened and it doesn't make any sense since it used to work fine...

I found this tutorial ..I haven't tried it out yet but maybe it can help...