Skip to Content

Proyecto Ardunote: Arduino + NanoNote

En Tuxbrain, y gracias a la comunidad Qi-Hardware , AVRFreaks  y a la pequeña placa UBB hemos conseguido  flashear una placa Arduino desde el Ben NanoNote sin necesidad de alimentación externa, directamente conectando un cable en el puerto 8:10 del NanoNote al puerto ICSP de Arduino, sin necesidad de bootloader en el chip Atmega328 ,de hecho puedes flashear los bootloaders a través del NanoNote :),  y en teoría NanoNote podría flashear cualquier chip que sea compatible avrdude sin necesidad de placa(testeo pendiente). Convirtiendo al pequeño Ben en el primer programador de microcontroladores AVR del mundo capaz de editar el código fuente, compilarlo ,  escuchar musica o echar una partida al Supertux a la vez en, el mismo aparato , no esta mal por 99€ ;).
Desde este punto de partida, hemos iniciado un proyecto llamado, con el alarde de originalidad que nos caracteriza, ArduNote que tiene como objetivo  hacer del NanoNote una herramienta (todavía mas) útil para Arduino y el resto de la famiia AVR,  de momento es poco mas que una declaración de intenciones pero en esta pagina del wiki intentaremos recoger toda la información relativa a la interacción entre estas dos plataformas de hardware libre, de momento disfrutad con el vídeo y si os animáis , por la compra de un Nanonote+un Arduino os regalo una UBB y los componentes necesarios(cable, conector ICSP y diodo schottky) para que os hagáis el cable que sale en el vídeo.


Tutorial
Como preparar el Ben Nanonote para trabajar con Arduino.

* Actualizar el NanoNote a la ultima version del firmware Openwrt (2011-02-23)
* Formatear y activar la particion data (1.5Gb) del NanoNote
* Conectar el NanoNote a Internet a traves del USB
* abrir un terminal y:

  #opkg update
  #opkg install make
  #cd /data
  #wget http://downloads.qi-hardware.com/people/xiangfu/packages/avrdude_5.10-2_...
  #opkg install avrdude_5.10-2_xburst.ipk
  #wget http://www.tuxbrain.org/downloads/nanonote/arduino/openwrt/avr_toolchain...
  #wget http://www.tuxbrain.org/downloads/nanonote/arduino/openwrt/arduino_022_l...
  #tar -xjf avr_toolchain_mips_4.3.4-binutils-2.20-libc-1.6.8_avrfreaks_patchs.tar.bz2
  #tar -xjf arduino_022_libs_bootloaders_examples.tar.bz2
  #wget http://www.tuxbrain.org/downloads/nanonote/arduino/openwrt/Makefile
  #rm avrdude_5.10-2_xburst.ipk
  #rm avr_toolchain_mips_4.3.4-binutils-2.20-libc-1.6.8_avrfreaks_patchs.tar.bz2
  #rm wget http://www.tuxbrain.org/downloads/nanonote/arduino/openwrt/arduino_022_l...

Compilar y subir el programa a Arduino.
Decirle al NanaNote que queremos el control total sobre el puerto 8:10, esto tendreis que hacer cada vez que se reinicie el Nanonote.

 #echo jz4740-mmc.0 >/sys/bus/platform/drivers/jz4740-mmc/unbind

Tendreis que copiar el archivo Makefile dentro del directorio del sketch con el que querais trabajar

  #cd <directorio_sketch>
  #cp /data/Makefile ./
  #make && make upload

Bootloaders
De momento este método solo graba el programa directamente en el microcontrolador dejándolo sin bootloader, mientras trabajemos con el NanoNote no hay problema ya que no lo necesitamos y asi ahorramos espacio y velocidad en la ejecucion del programa, pero si tenemos que volver a trabajar a traves de USB o Serie para flashear , necesitamos volver a cargar el bootloader, dentro de la carpeta
/data/arduino/hardware/arduino/bootloaders tenemos toda la colección de que viene en el software standard de Arduino, por ejemplo para cargar el bootloader que actualmente viene en el Arduino UNO

#avrdude -U flash:w:applet/data/arduino/hardware/arduino/bootloaders/optiboot/optiboot_atmega328.hex -V -e -C /etc/avrdude.conf -p atmega328p -c nanonote_ICSP

Actualización: Aqui esta un video con un tutorial de como hacer el cable

Aque estan los esquemas de conexion del cable

Y si ya teneis un Nanonote y/o un Arduino y quereis comprar los materiales para construir el cable aqui esta este pequeño kit en la tienda de Tuxbrain