Actualizar firmware de impresora 3D CTC Prusa i3 Pro B

La impresora CTC DIY Prusa i3 Pro B es una impresora 3D barata y que para el precio que tiene se pueden obtener unos buenos resultados, pero tiene el problema de que no podemos actualizarle el firmware. En este artículo explico el proceso que he seguido para conseguirlo.

Esta impresora está basada en una Geeetech Prusa i3, y por tanto usa la misma placa controladora (motherboard), la GT2560, que para simplificar es un Arduino Mega2560 con más cosas. La diferencia, y esto es importante a la hora de actualizar el firmware aunque lo veremos más adelante, es que el microcontrolador no es el ATmega2560, sino el ATmega1280.

El firmware que lleva la impresora es Marlin, así que sabiéndolo lo primero que se nos ocurre es que sólo tendríamos que bajarnos los fuentes de Marlin, cargarlos en el Arduino IDE, conectar la impresora al ordenador por USB y subir Marlin al Arduino. ¡Y es así de fácil! pero cuando tengamos cargado el booloader en el Arduino de la impresora. Este bootloader es el que nos permite actualizar el microcontrolador del Arduino sin tener que usar un programador externo, y desgraciadamente el fabricante ha metido Marlin en la placa pero sin el bootloader.

Aunque se puede grabar usando un programador de microcontroladores, el método que voy a explicar es usando otro Arduino como programador.

Material necesario

  • Placa GT2560
  • Arduino (vale el UNO o Duemilanove). Aunque se podrían usar otros.
  • Cables para pins de un hilo Macho-Hembra, a ser posible de colores para distinguirlos mejor.
  • Arduino IDE reciente (yo he usado 1.8.3)

Paso 1. Descargar e instalar Arduino IDE

Arduino IDE es el entorno que nos permitirá grabar los microcontroladores de Arduino. Descargar de la web de Arduino y seguir los pasos de instalación. Es fácil.

Paso 2. Grabar ArduinoISP en el Arduino programador

ArduinoISP es un programa que grabaremos en el Arduino que usaremos como programador, así que conectamos el Arduino al ordenador y abrimos el Arduino IDE. Una vez abierto le damos a Archivo->Ejemplos->ArduinoISP->ArduinoISP.

A continuación tenemos que seleccionar el modelo de Arduino que vamos a usar como programador. Eso se hace en Herramientas->Placa.

Y por último le damos al botón de arriba a la izquierda que es un círculo con una flecha indicando a la derecha. Con ese botón le decimos que grabe el programa en el Arduino.

Empezará grabar y cuando termine, si todo ha ido bien, debería aparecer algo así en la parte de abajo del IDE:

Vale, con esto ya tenemos listo el Arduino para poder actualizar la placa de la impresora.

Paso 3. Conexión del Arduino a la placa GT2560

Antes de nada, asegúrate de que tanto el Arduino que usaremos como programador como la placa GT2560 están desconectados tanto del ordenador como de la corriente eléctrica. Quita el conector de corriente de la placa para asegurarte.

Y ahora tienes que hacer las conexiones según la siguiente imagen:

Este es el aspecto que debe tener una vez conectado:

Una vez hechas todas las conexiones, conectamos el Arduino al ordenador por USB. Si todo va bien, deberían encenderse tanto el Arduino como la placa GT2560 de nuestra impresora.

Paso 4. Grabación del bootloader

Abrimos el Arduino IDE y seleccionamos una nueva placa: Herramientas->Placa->Arduino/Genuino Mega or Mega 2560

Ahora un paso importante. Como la placa que trae la impresora CTC no es exactamente la misma GT2560, tenemos que cambiar el procesador, ya que la original trae un ATmega2560 y esta trae un ATmega1280, así que tenemos que seleccionarlo en: Herramientas->Procesador->ATmega1280

Si lo hemos hecho bien, en la parte de abajo a la derecha del IDE debe aparecer lo siguiente:

Ahora hay que decirle que grabe el Bootloader. Hay que darle al menú Herramientas->Quemar Bootloader. Lo puedes ver en la imagen siguiente:

Quemar bootloader en arduino

El IDE empezará a grabar el bootloader (tarda un rato) y cuando termine podrás ver una luz roja parpadeando en la placa GT2560. Eso indicará que el bootloader está cargado.

¡Ya está! Ahora podemos desconectar el Arduino que hemos usado como programador y no conectar aún la corriente externa.

En este punto tenemos la impresora sin firmware, pero lista para cargarle uno actualizado y con posibilidad de guardar los ajustes a la EEPROM, que realmente es lo que más echaba de menos y lo que me motivó a hacer esto.

Paso 5. Descarga del nuevo firmware

El firmware que vamos a usar es una modificación del Marlin original modificado por mí para que funcione en esta impresora. Se puede descargar de aquí. Si tienes alguna mejora que proponer, puedes ver las modificaciones en mi fork del repositorio, concretamente en la rama que he creado para ello.

Paso 6. Grabación del firmware

Una vez descargado, descomprimimos el ZIP en cualquier parte del disco duro y abrimos el Arduino IDE. Le damos a: Archivo->Abrir y buscamos en la carpeta donde hemos descomprimido el ZIP un fichero que se llama Marlin.ino. Una vez abierto, nos aseguramos de que seguimos teniendo seleccionada la placa Arduino/Genuino Mega or Mega 2560 y el procesador ATmega1280. Esto último es muy importante.

Si todo está bien, pulsamos sobre el botón «Subir», ese pequeño de arriba a la izquierda con una flecha señalando a la derecha. En ese momento el Arduino IDE comenzará a grabar el firmware en la placa, esperamos un rato y nos avisará de que ha terminado. Esperemos que sin problemas. :-)

¡Se acabó! Una vez que termine de grabar podrás ver cómo la impresora se reinicia y verás la nueva versión de Marlin en el LCD. Ya tienes el firmware actualizado y funcionando, sólo te queda hacer los ajustes necesarios para empezar a imprimir, con la novedad de que ahora podrás grabarlos en la EEPROM.

Espero que todo este tocho te haya servido de ayuda y espero tus comentarios.

ACTUALIZACIÓN

Tenemos un grupo de Telegram para hablar sobre la CTC Prusa i3. Si estáis interesados, sois bien recibidos.

Error «El evento no se ha podido guardar» en Google Now

Error Google Now

Si has recibido ese error al intentar guardar un evento o un recordatorio en tu dispositivo Android, la solución es simple.

Abre el menú de aplicaciones y busca Ajustes de Google, que tiene un icono con una rueda dentada y una letra «g» dentro.

Dentro de la App, ve a Búsqueda y Google Now >> Cuentas y privacidad y activa la casilla Buscar en google.com. Yo lo tenía por defecto en «Buscar en google.es», al cambiarlo por el .com todo vuelve a funcionar.

Solución Error Google Now

Todo el mérito es de TenaciousT

Contar un cuento

Una de las cosas que más me gusta de los niños es su mirada mientras les cuentas un cuento. Cómo brillan sus ojos y sonríen cuando le das un giro a la historia y les cuentas algo que no se esperan.

Yo a mi hija (el niño es pequeño aún) le cuento historias que me invento, normalmente sobre la marcha, aunque ella suele decirme de vez en cuando: «papá, cuéntame el cuento de Bob Esponja» o «…el cuento de Minnie». En ese momento tengo que acordarme de qué iba la historia, o le pregunto a ella y me recuerda partes. La mayoría de las veces completo el resto con cosas nuevas.

Pero el momento que más me gusta, y veo que a ella también, es cuando la meto a ella como un personaje de la historia. Disfruta un montón, lo vive como si fuese de verdad.

Así que sugerencia para padres primerizos: Cuando le contéis un cuento a vuestros hijos, improvisad y metedlos a ellos en la historia, veréis qué bien os lo pasáis… ;)

Un profesional

El otro día tuve el placer de tener en mi casa arreglando las placas solares a un verdadero profesional; uno de esos que realmente saben lo que están haciendo, porqué se rompen las cosas y qué hacer para repararlas de la mejor forma posible. En un tiempo en el que ya me he acostumbrado a chapuceros de tres al cuarto en cualquier tipo de servicios, conocer y contratar a alguien así es una maravilla.

Se llama Miguel y lo conocí porque le hizo la instalación de placas solares a David. Como quedó bastante contento, le dije que me pasase su teléfono porque tenía un problema con las tuberías de mis placas solares.

Lo llamé por teléfono, le expliqué el tema por encima, le mandé por correo electrónico las fotos del problema y me dijo que a las 16:00 estaría en mi casa para arreglarlo. Vino un poco más tarde de esa hora, pero al menos avisó. Esto ya es raro :-)

Pero a lo que iba. Mientras arreglaba el problema me contó que es ingeniero y está desarrollando su propio sistema de placas solares térmicas. Se ve que es una de esas personas entusiasmadas con su trabajo, que disfruta contándote cómo funciona todo, que trabaja en ello para ver los problemas que tienen las instalaciones actuales y así poder aplicarles solución en su proyecto. No es el típico tío que compra el kit para instalártelo y conecta 4 tubos.

Mientras él seguía explicándome porqué tenía que cambiar el ánodo de sacrificio, y yo le respondía que nadie me había dicho nada de mantenimiento, me dijo algo que me llamó la atención: «Es una pena, pero no lo suelen decir. Y es que a mi me interesa que mis competidores trabajen bien; eso me favorece». No sé, me recordó mucho a la filosofía del software libre. Creo que ha sido la única persona fuera del mundo de la informática a la que le he oído decir algo así.

Kindle, la clave es la comodidad

El otro día, mi amigo David Prieto preguntaba en Google Plus sobre qué lector de libros electrónicos comprar. Yo le respondí en los comentarios sobre la única experiencia que tengo con ellos, el Kindle de Amazon. Hoy me he encontrado una situación en la que me he dado cuenta de la gran ventaja del Kindle, la comodidad.

Sigo a Ricardo Galli, me parece un buen programador, así que cuando vi el otro día un tweet suyo en el que recomendaba un libro para programadores (The Developer’s Code: What Real Programmers Do), me guardé el tweet y hoy he ido a echarle un vistazo.

La verdad es que el libro parece bueno, miré el precio de la versión electrónica, que son 19$, y pensé que ese precio no estaba mal, así que le di a añadir al carrito… Justo cuando estaba a punto de hacer la compra pensé: ¿Y luego qué? ¿tengo que descargarlo? ¿conectar el Kindle al ordenador para cargarlo? Además, es un libro en Beta, ¿y cuándo salga la versión definitiva, otra vez a conectar el Kindle para cargarla? ¡Qué pereza! Con lo cómodo que sería comprarlo en la tienda de Amazon, sólo con un clic de ratón, y tenerlo ya directamente en el Kindle sin tener que conectarlo al ordenador, además de en el móvil y todo sincronizado, incluso por donde voy leyendo.

Así que amigos, aparte de la comodidad física, porque pesa poco y es fácil de manejar, está la comodidad de compra y carga de libros… y esa es la verdadera ventaja que le veo a Kindle sobre el resto.

ACTUALIZACIÓN:
Acabo de abrirme una cuenta en The Pragmatic Bookshelf (cuando compré el libro no la abrí) y he alucinado. Puedes configurar en tu perfil que las compras de nuevos libros o actualizaciones te las manden por email al Kindle y/o que te las suban a tu cuenta de Dropbox, a una carpeta restringida. Esto mejora muchísimo la experiencia de compra. ¿Qué otro lector te ofrece esto?