atmega8 a 8MHz, ¿es posible un Arduino más barato? [info]

Hola,

por fin conseguí hacer funcionar un atmega8 a 8MHz, sin bootloader. Lo he programado con arduinoISP (con un programador estilo Txapuzas), y la board la dejo abajo por si le interesa a alguien, con la descripción de los fuses. Para proyectos sencillos que no pasen de 7K, es una opción interesante por su precio, este chip se puede comprar por menos de 1€

Dos problemillas:
1- cuando se llama a delay() hay que pasarle los milisegundos divididos entre 4, por ejemplo, para un segundo, sería delay(1000/4). No sé explicarlo, pero funciona así.
2- No he conseguido que funcione bien la comunicación serie con el PC (sale basura). Parece que hay algún problema de sincronismo.

¿Alguien me podría aclarar cómo hacer que Serial.print() me funcione?

##############################################################

# ----------------------------------------------
# + int. RC osc. 8MHz; start-up time: 6 CK + 64ms
# + Brown-out detection enabled; [BODEN=0]
# - Boot Reset vector
# + Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
# - CKOPT fuse
# + Serial program downloading (SPI) enabled; [SPIEN=0]
# - Watch-dog Timer
# - Reset Disabled [no seleccionar nunca!]
# ----------------------------------------------

atmega8curro.name=Atmega8 reloj interno 8MHz arduinoISP
atmega8curro.upload.using=arduino:arduinoisp
atmega8curro.upload.protocol=stk500
atmega8curro.upload.maximum_size=7168
atmega8curro.upload.speed=38400
atmega8curro.bootloader.low_fuses=0xA4
atmega8curro.bootloader.high_fuses=0xD1

# --- dejar libre de bootloader ---
atmega8curro.bootloader.unlock_bits=0x3F
atmega8curro.bootloader.lock_bits=0x0F

atmega8curro.build.mcu=atmega8
atmega8curro.build.f_cpu=8000000L
atmega8curro.build.core=arduino

Prueba a seleccionar la placa 'Arduino NG or older w/ ATmega8' al compilar, puede que solucione los problemas de tiempos.

Yo hace tiempo me compre un ATmega8L para hacerlo funcionar 2.7V - 5.5V (con un par de pilas AA) pero solo funciona como mucho a 8 MHz y encontré esto por el playground que me ayudo >> Arduino Playground - Atmega83-3V <<, lo que no se si este bootloader sirve también para un ATmega8 a secas.

Con la comunicación serie no tuve problemas de recepción ni envió.

Edito:

Revisando un borrador que tenia por hay, en este link utilizan un ATmega8 con el xtal interno a 8 MHz.

Minimal Arduino with ATmega8 – todbot blog <<

Un saludo!

Gracias JRodrigo y chiva

'Arduino NG or older w/ ATmega8' va a 16MHz con bootloader, y el otro del link llamado “atmega8_noxtal” utiliza un ATmega8 con el xtal interno a 8 MHz con bootloader. Mi idea era ahorrar el espacio del bootloader.

Tu lo estás utilizando interno, no?