¿Cómo cargar el código (sketch) de arduino en atmel usando USBasp?

De qué forma se puede cargar el código de arduino en un micro atmel usando USBasp para no tener que dejar la placa de arduino en proyectos finales. También me gustar saber si se puede hacer para micros smd.

Saludos Yo lo hago con el mismo Arduino, busca Arduino AS ISP. Es facil y no tienes que hacer el gasto del USBasp. Yo compre uno para lo mismo y no lo he usado porque me pareció mas practico montar una placa tipo shield y usar el mismo Arduino para cargarlos.

Yo uso el USBasp, conectado al puerto ICSP del arduino. En el IDE de arduino, subo el sketch con el menu “file/upload using programer” habiendo seleccionado previamente el USBasp en el menu “tools/programmer”.

No entendí bien la pregunta. Para cargar directamente al micro, tendrías que conectar a los pines de SPI del micro. Mira al final de este link:

http://arduino.cc/en/Tutorial/ArduinoISP

Lo hacen con un arduino, pero se puede hacer igual con un USBasp. Conectas asi:

USBasp -> Micro MOSI -> pin MOSI MISO -> pin MISO SCK -> pin SCK RESET -> pin RESET VCC -> pin VCC GND -> pin GND

Por ejemplo, en un ATmega 328, sería así:

USBasp -> ATmega 328 MOSI -> pin 17 MISO -> pin 18 SCK -> pin 19 RESET -> pin 1 VCC -> pin 7 + pin 20 GND -> pin 8 + pin 22

Por cierto, con una resistencia PULLUP de 10K en el pin 1 del micro, o sea, el de reset. Recuerda también poner el cristal necesario para el clock del micro.

¿Cuándo yo programo el micro del arduino UNO de manera normal con el software que uno descarga lo puedo sacar y hacer las respectivas conexiones para hacer lo mismo pero en la protoboard por ejemplo?

Lo que pasa es que quiero programar el código en el mismo atmel que usa arduino el ATmega328 para dejarlo definitivamente. Pero por ejemplo si yo quiero hacerlo en este mismo micro pero smd, ¿Se podría por ejemplo con él USBasp?

Si.

Recuerda que para cargarlo de manera normal con el Arduino debes cargar en el micro primero el bootloader, es decir, cuando programes tu micro y coloques en otra parte y vas a colocar un micro nuevo, no vas a poder usarlo sino cargas primero el bootloader.

Por eso yo tengo 4 Atmega328P aparte a los cuales les cargue el bootloarder para luego usarlos.

AHORA, presta atencion, si quieres usar los micros en proyectos, yo aprendi esto despues, usa los arduino mini pro, que ya viene con cristal y otras cosas, y el costo en ebay son menores que los micros Atmega328P DIP.

Yo uso mucho los Arduino Nano. En Ebay los encuentro baratísimos, y además los tienen con los pins sin soldar, que normalmente me interesan más así, y además te dan los pins sueltos por si los quieres soldar. Yo suelo soldar solamente los del ICSP para programarlos con el USBasp. El resto de salidas, las uso con cables.

Como dicen los compañeros, el pro Mini que venden en ebay es perfecto para poryectos. Pero si vas a armar una placa smd no olvides poner los jumpers al puerto isp para que puedas programarlo.

Básicamente es conectar el USBasp a los pins de SPI, y el reset al pin de reset, y no olvidar conectar la masa, y la alimentación de 5v si no lo alimentas externamente.

¿Estoy confundido, es lo mismo SPI u ICSP? ¿Cómo se programa el arduino Nano y mini, es cómo el UNO?

El puerto ICSP, básicamente, va conectado a los pines SPI del arduino (MISO, MOSI y SCK) y además lleva otros 3 que van conectados a GND, RESET y +5V.

Todos los arduinos se pueden programar por SPI. Quizá, la excepción son algunos de los modelos lilypad, por carecer de las conexiones SPI.

Entonces si quiero hacer una placa con un micro smd hago las respectivas conexiones incluida las del ICSP ¿podría programarlo sin necesidad del bootloader usando el USBasp o tendría primero que cargar el bootloader y después si programarlo?

Cuando programas por ICSP, eliminas el bootloader, de forma que no es necesario cargarlo. Yo programo mis proyectos finales por ICSP, y el arranque es más rápido al no tener el bootloader. En sí, el bootloader es solamente para poder cargar sketches por USB serie.

Vale muchas gracias por todo.