# What does avrdude “programmer is out of sync” mean?

Lately, I've been getting a lot of "programmer is out of sync" messages while uploading to a microcontroller (ATMega328p). I am very clueless here as the uploading process just randomly succeed and sometimes just doesn't, without any changes. Here's an example of the console from the 'super verbose' mode:

avrdude: Send: V [56] @ [40] . [00] . [10] . [81]   [20]
avrdude: Recv: . [84]
avrdude: stk500_cmd(): programmer is out of sync
avrdude: Send: V [56] H [48] . [00] . [10] . [00]   [20]
avrdude: Recv: . [a5]
avrdude: stk500_cmd(): programmer is out of sync
avrdude: Send: V [56] @ [40] . [00] . [11] . [80]   [20]
avrdude: Recv: . [83]
avrdude: stk500_cmd(): programmer is out of sync
avrdude: Send: V [56] H [48] . [00] . [11] . [91]   [20]
avrdude: Recv: . [a7]
avrdude: stk500_cmd(): programmer is out of sync


What does "programmer is out of sync" mean? What are the possible causes?

P.S. If you need to know, I am using Eclipse CDT with Jantje's Arduino plugin, not the Arduino IDE.

• have you tried to google it? This is what most of us are going to do in attempt to answer your question. I did already and there are hundreds of results. – Eugene Sh. Aug 24 '17 at 17:09
• I have tried looking up on both Google and SO on several occasions and found the answer spread across the internet. As I haven't found any 'central' place to look for, I thought that asking this question might be helpful to others. In addition, I am not aware of any answers regarding what "programmer is out of sync" actually means, including the avrdude documentation. – krismath Aug 25 '17 at 11:33