error: avrdude: stk500_getsync(): not in sync: resp=0x00

Tengo problemas de comunicación entre el pc y el arduino.
Al cargar el código en la memoria Eeprom de la placa Arduino Uno me sale el error siguiente o algo parecido:

avrdude: stk500_getsync(): not in sync: resp=0x00

El sistema operativo que tengo es: Windows XP Service Pack 3

El tipo de placa Arduino que tengo es: ADUINO UNO.
Pueden darme una solución?.
Saludos y gracias anticipadas.

¿Qué es lo que estás haciendo con el Arduino en ese momento que dices?

Ese error te sale al conectarlo al PC y lo ves en la IDE de Arduino, digo, porque tuve un error igual, pero no estaba haciendo nada con la memoria EPROM yo.

A mi me lo hacía cuando quería cargar un código, luego de que este se compilaba, al empezar a subir, salía ese error.

Mi solución fue mantener presionado el Reset hasta que terminaba de compilar y en el momento que decía que estaba por mandarlo al Arduino, le soltaba el botón.

2 Likes

Quizá no me expliqué bien (lo de la Eepron es una forma de explicarme que igual da lugar a confusión). Efectivamente es como dices, si tengo conectada la placa Arduino al pc y al cargar o subir el código desde el software del pc a la placa Arduino (Upload o Cargar ), la barra de indicación de carga va desplazándose hasta que al terminar sale el error.
Aún no probé la solución que me dices pues no dispongo del entorno en este momento. En cuanto pruebe te comento.
Un saludo y gracias.

Eso al fin y al cabo es un error de comunicaciones con el bootloader.
Si antes no te pasaba y ahora si, puede ser que se haya cambiado el número de puerto COM.

O puede ser que se haya desconfigurado el bootloader, para lo que necesitarías un ISP para reprogramarlo.

O más extrañamente puede ser que se te haya desconfigurado el ATmega8 que implementa el conversor USB-serie (pero en este caso lo nortmal sería no te apareciera un nuevo puerto COM en el PC al conectarlo), para lo cual también necesitas un ISP para reprogramarlo.

Tambien se puede haber roto el ATmega16 ... para lo cual la solución es comprar otro ...

Ve descartando opciones.
¿Te sale correctamente detectado el puerto COM al conectar el Arduino al USB (mirandolo en el Administrador de dispositivos, si usas Windows)?

¿Está correctamente seleccionado el puerto COM en el entorno de desarrollo de Arduino?

Me ocurre con programas de control de motores paso a paso.
Abro el software Arduino 1.0.3, escribo el código, salvo el archivo asociado al código, lo cargo (Upload o Cargar)) en la placa Arduino y todo va bien. De forma inmediata y sobre el mismo código hago alguna modificación del mismo, como por ejemplo cambiar valor del delay, guardo cambios, vuelvo a cargar el nuevo código en el Arduino (Upload o Cargar) y me sale el error citado.
LA SOLCIÓN QUE ADOPTO en orden de actuación es el siguiente:

1] Cierro el software del Arduino 1.0.3
2] Abro el software Arduino 1.0.3
3]Quito el cable de conexión USB desde la placa Arduino hasta el USB de mi PC.
4] Echufo de nuevo el cable USB citado en el apartado 3].
5] Archivo -> Abrir -> recupero el archivo gardado anteriormente con los cambios del código.
6] Cargo (Upload) el código en la placa Arduino y YA NO SALE ERROR.

Compruebo puerto COM en Admimistrador de Dispositivos y está correcto.
Compurebo tipo Arduino: ARDUINO UNO bien seleccionado y puerto COM bien seleccionado en configuración software 1.0.3 del Arduino.

Vuelvo a realizar algún cambio en el código lo cargo en la placa Arduino y de nuevo aparece el error.

LA SOLUCIÓN ES LARGA Y NO SÉ OTRO REMEDIO PARA QUE NO APAREZCA EL ERROR.

Saludos y gracias.

¿Has probado pulsando el reset del arduino justo cuando el ide acaba de compilar y va a comenzar a subir el código? A mí así me funcionaba tras bichear con determinados programas. Tengo el pálpito de que posiblemente se bloqueaba con ellos porque trabajaban con interrupciones y quizás el mal control de esas interrupciones evitaba que el arduino "saltara" al programa bootloader. Entonces, al presionar reset se le da una pequeña oportunidad de saltar al bootloader antes de activar de nuevo las interrupciones... Claro; todo esto son suposiciones.

¿Tu código está usando comunicación Serial?

No estoy seguro, pero creo que conviene, siempre que uno manda algo por Serial, poner un delay, he visto en muchos códigos que cuando mandan un Serial Print, ponen un delay y como comentario le ponen //for stability

No se si sea eso, pero con revisar no se pierde nada.

Después de hacer pruebas llego a la conclusión de que el PROBLEMA SE SOLUCIONA pulsando el botón reset de la placa Arduino, justo cuando está acabando de compilar y antes de comenzar la carga del código en la placa Arduino.

Aunque no le encuentro explicación, al menos el problema lo doy por solucionado.

GRACIAS A TODOS POR EL INTERÉS MOSTRADO.

Saludos.

¿No habras conectado los servos directos al arduino?

Heke:
¿No habras conectado los servos directos al arduino?

Podrian verificar el arduino que estan usando, tenia el mismo problema, verificaba el puerto COM, reset y nada. Probe en dispositivos Arduino UNO y funciono.

Hola,

En mi caso ese error me ha salido en ocasiones cuando estoy alimentando un circuito con el Arduino, y desconectando la alimentación a dicho circuito externo mientras programao se ha solucionado.

Igual me ha pasado cuando he dañado el Bootloader por desconectar el USB mientras lo estoy programando, suerte que tengo otro Arduino para volverlo a grabar.

Tambien he obtenido otro error similar si escribes una tabla que tiene muchos 0xFF, pero es un bug del bootloader que deja de grabar si ve una pagina completa de 0xFF.

Saludos.

Mi primer post… espero hacerlo bien.

He tenido ese mismo problema, es un problema de puerto serial, con los pines Rx Tx de la placa.

Dejad que el sketch cargue sin compartir el puerto serie con otro device, y listo. (Edito) Para no compartir el puerto serie PC<=>Arduino usad otro del mega o cread un puerto serie virtual con SoftwareSerial

He usado en estos últimos 5 meses arduino uno R3, mega R3 y nano, con dispositivos bluetooth, quitando el bluetooth mientras dura la carga el error desaparece.

Saludos.

Buenas tardes. Es mi primer post y es mi primer proyecto con Arduino. Dispongo de un Arduino Nano com ATmega 328 que he adquirido en un kit para hacer un manipulador electrónico de telegrafía. He cargado los "drivers" correctamente en un PC con Windows XP. El administrador de dispositivos registra USB Serial Port (COM3). La placa está bien seleccionada en las herramientas así como el puerto (COM3)

He cargado el programa demo blink de la carpeta \examples\01.Basics\

Cuendo temina de compilar me da el error= avrdude: stk500_getsync(): not in sync: resp=0x00

He montado el sistema en otro PC con Windows 7 y me da el mismo problema. He probado pulsar el reset mientras compila y transfiere con resultados nulos. Agradecería cualquier tipo de ayuda para principiante burro con una dosis alta de neanderthal.

Voy a pedir otra placa por si esta está averiada pero tengo la impresión de que funciona bien.

Espero haber hecho la petición de ayuda en el lugar adecuado y agradezco la lectura del post. Un saludo cordial.

A mi me aparecía el mismo error.
Lo que hice fue desinstalar con el administrador de dispositivos y volver a instalar con el Asistente para agregar hardware, mi "arduino uno" y el problema se solucionó. :slight_smile:

Qué onda,cómo les va??

Yo tengo exactamente el mismo problema.
Conecto el arduino UNO R3 a la compu, (no prenden los LEDs RX y TX) abro el IDE e, tomo el ejemplo "Blik", lo cargo... ¿y nada!, aparece este error:
avrdude: stk500_getsync(): not in sync: resp=0x00
y no pasa nada. La luz de LED L, siempre está apagándose y prendiéndose... pero los RX y TX en ningún momento se prenden,no sé que le pasó!! =( =( =( =( =(

Lo probé en otra compu, (las dos con Windows 7), en la laptop: no sólo aparece, como "puerto serial" COM3 y en "tarjeta" Arduino Uno. Ahora en la desktop: no aparece el COM3 pero aparecen otros, el COM1 y COM12!! y como "tarjeta" Arduino Uno.

La verdad, no sé que hacer, y tampoco qué fue lo que le sucedió.
Alprincipio pensé que podrían ser los drivers, los actualicé pero no cambió en nada.

Alguién de ustedes me podría ayudar con este error

Lo más habitual es que estemos usando los pines Tx, Rx para otra placa, dispositivo, por ejemplo utilizando esos pines para alimentar un led etc, o estemos utilizando una shield de GPS, BT, Eternet.,, Liberando esos pines se soluciona (generalmente)

Me salio el mismo error, cuando trate de programar el arduino sin antes conectarlo por medio del usb al pc,
logicamente el compilador me dijo que no habia dispositivo,
asi que conecte el arduino pero no compile el programa de nuevo sino que continue con el que me habia marcado que no encontraba el arduino y depues de esto me salio el error.

La solucion fue conectar el arduino en otro puerto usb, verificar en Herramientas> Puerto serial
que tenga seleccionado el puerto usb donde se conecto arduino. y cargar de nuevo el programa.

Saludos espero te funcione a ti tambien.

POR FIN SOLUCIONADO

Aqui les resume como dan solucion inmediata a ese error:

  1. Valida si el Bootloader esta OK. inserta un led entre el pin 13 y Gnd. al conectar la Arduino debe dar parpadeos.

  2. Verifica que este los controladores instalados
    a. Ve al administrador de dispositivos
    b. Valida en los puertos (COM y LPT1) que este en un puerto tu Arduino
    Si es asi Entonces simplemente ve al Editor de software de Arduino, chequea en herramientas >> puerto serial
    que el puerto en el editor sea el mismo que viste en el panel de control, si no es asi organizalos.
    c. en caso de que en los puertos COM y Lpt1 no este tu arduino entonces:
    Clic contrario, Actualizar controlador>> actualizar automaticamente o dejar que windows lo busque
    Si no lo encuentra, redirecciona el buscador a tu carpeta arduino en Archivo de programa

Espero les sirva

bien acabo de solucionar el problema a error: avrdude: stk500_getsync(): not in sync: resp=0x00 del arduino olimex 32U4 (por que ese es el arduino que tengo pero me imagino que ese problema es global sucede con todos los arduinos)
la solucion es : checa que tu arduino sea el indicado que estas compilando … ve al entorno donde esta tu codigo y ve a la pestaña herrramientas luego escoge la opcion targeta y te despliega varios tipos de targetas arduinos y escoje el tuyo !! yo elegi arduino leonardo y …listo ya no me marca error…(claro si tu codigo esta mal te marcara error) .

que tengas excelente dia

todo tiene solucion menos la muerte y el embarazo jeje XD