Todo lo relacionado con el HW libre y en concreto con Arduino y placas derivadas o compatibles con Arduino está evolucionando continuamente, por lo tanto debemos estar atentos a las noticias y tendencias en este sector.
La principal noticia sobre Arduino ocurrida en los últimos años y que supone bastantes cambios en el HW y SW de Arduino es la división de Arduino en dos empresas y dos webs oficiales de Arduino: arduino.cc (Arduino LLC) y arduino.org (Arduino Slr).
A principios de 2015 se produjo una división dentro de Arduino y desde entonces han aparecido bastante cambios para los usuarios de Arduino, la primera es que ha aparecido una nueva marca llamada “Genuino” asociada a arduino.cc y una nueva web oficial de Arduino www.arduino.org. Pero no solo es que haya dos páginas web oficiales de Arduino, sino que ahora hay dos entornos de programación y han aparecido nuevos modelos de placas Arduino pero fabricadas por diferentes empresas.
En este momento hay dos páginas oficiales de Arduino: www.arduino.cc y www.arduino.org, la primera es la que nació originalmente y la segunda es la que se creó a raiz del la división entre el equipo creador de Arduino y la empresa que fabricaba el Hardware en Italia.
Cada una de estas webs tienen placas Arduino diferentes, IDEs diferentes y marcas diferentes con la aparición de Genuino fuera de EEUU. Esto puede causar cierta confusión a los usuarios de Arduino pero vamos a aclararlo en este capítulo.
Un poco de Historia
Arduino LLC fue la compañía creada por Massimo Banzi, David Cuartielles, David Mellis, Tom Igoe and Gianluca Martino en 2009 y era la propietaria de la marca Arduino. Las placas Arduino eran fabricadas por una spinoff llamada Smart Projects Srl creada por Gianluca Martino. En noviembre de 2014 cambiaron el nombre de la empresa que manufactura las placas Arduino de Smart Projects Srl a Arduino Srl y registraron el dominio arduino.org, esto fue el inicio de la división que se produjo poco después.
Hasta principios de 2015 la web oficial de Arduino era www.arduino.cc mantenida por los creadores de Arduino y todo su equipo. En febrero de 2015 se hizo público la ruptura entre los fundadores de Arduino y el fabricante de las placas de Arduino liderado por Gianluca Martino, comenzando este una nueva dirección del proyecto Arduino con la empresa Arduino Srl.
Más información en estos enlaces:
En mayo de 2015 Massimo Banzi anunció la nueva marca de Arduino y el nuevo desarrollo de Arduino en la Maker Faire Bay Area 2015. Ver: https://blog.arduino.cc/2015/05/22/the-state-of-arduino-a-new-sister-brand-announced/
En enero de 2016 Federico Musto de Arduino SRL publicó los futuros nuevos productos y direcciones de arduino.org en http://hackaday.com/2016/01/04/new-products-and-new-directions-an-interview-with-federico-musto-of-arduino-srl/.
A partir de esta ruptura, durante 2015 se vivieron muchos cambios en ambas páginas web, mejoras notables en el IDE oficial de Arduino de www.arduino.cc y la aparición de dos nuevos IDEs de Arduino desde www.arduino.org, uno como un fork del original y otro un nuevo desarrollo de arduino.org llamado Arduino Studio escrito de nuevo completamente en javascript y basado en Brackets, pero que aun está en versión alpha.
Podemos resumir que ahora mismo hay dos empresas: Arduino LLC con Massimo Banzi y los demás co-fundadores de Arduino y Arduino SRL con Gianluca Martino y Federico Musto, este último no perteneciente al equipo original e incorporado posteriormente.
Actualmente arduino.cc son https://www.arduino.cc/en/Main/AboutUs
Más información sobre la historia de Arduino, ver el artículo de Hernando Barragán sobre la historia no contada de Arduino: https://arduinohistory.github.io/ donde también se explica el origen de Arduino tomando como base Wiring http://wiring.org.co/
La última noticia de importancia en Arduino paso el pasado 1 de octubre de 2016 durante el World Maker Faire de New York, donde Massimo Banzi and Federico Musto anunciaron las empresas Arduino LLC (arduino.cc) y ArduinoSRL (arduino.org) han firmado un acuerdo, cerrando las disputas iniciadas a principio de 2015.
Para finales de 2016 el recién creado “Arduino Holding” será el punto único para la distribución de los productos Arduino actuales y futuros y continuará sacando al mercado nuevas innovaciones.
Además, Arduino formará la “Fundación Arduino” sin ánimo de lucro, que será la responsable de mantener el IDE Arduino open source y continuará fomentando el movimiento open source.
Más información en:
Las marcas Arduino
Puesto que las placas Arduino son open source, cualquiera puede hacer una placa Arduino compatible o incluso una copia exacta, sin embargo el nombre, la marca Arduino y el logotipo están protegidos: https://www.arduino.cc/en/Trademark/HomePage.
Ahora mismo en europa la marca y el logo arduino es usado por arduino.org y en USA es usado por arduino.cc. Por este motivo fuera de USA arduino.cc ha sacado una nueva marca llamada GENUINO y un nuevo logo.
Genuino es la marca de arduino.cc creada por los fundadores de Arduino y usada para las placas y productos vendidos fuera de Estados Unidos. Más información en: https://www.arduino.cc/en/Main/GenuinoBrand
Por lo tanto cuando vemos una placa genuino, se trata de una placa Arduino LLC. Se puede decir que Arduino y Genuino son lo mismo pero por temas legales debe tener un nombre/marca diferente.
Las dos webs a fondo
www.arduino.cc es el sitio original de Arduino de los creadores de Arduino y www.arduino.org es un “fork” creado por la empresa que fabricaba las placas Arduino. Ambas páginas tratan sobre Arduino pero fabrican placas diferentes, nos ofrecen IDEs diferentes y contiene información de cada uno de sus productos.
Arduino.cc
Como hemos dicho es la web original de Arduino y la que conocen bien todos los que han trabajado con Arduino. Los elementos más importantes de esta web son:
- Download: https://www.arduino.cc/en/Main/Software donde podemos descargar la última versión del software de desarrollo de Arduino para cualquier SO, así como las versiones anteriores, código fuente, preview de las próximas versiones y otro software relacionado.
- Tienda: https://store.arduino.cc/index.php?main_page=index donde podemos comprar todos los productos de la marca Genuino fuera de USA.
- Productos: https://www.arduino.cc/en/Main/GenuinoProducts, aquí hay dos claras divisiones:
- Para los productos Arduino (USA only) https://www.arduino.cc/en/Main/Products, están todos los productos Arduino desde que nació, incluidas las placas retiradas y que siempre lo podemos consultar como referecia a placas Arduino creadas desde la creación de Arduino hasta su división.
- Para los productos Genuino (outside USA) https://www.arduino.cc/en/Main/GenuinoProducts, son las placas que actualmente podemos comprar fuera de USA con la marca Genuino y creadas por el equipo original de Arduino.
- Reference: https://www.arduino.cc/en/Reference/HomePage con la documentación para programar Arduino, que es común para todo tipo de Arduinos.
- Tutoriales: https://www.arduino.cc/en/Tutorial/HomePage contiene amplia información común de Arduino pero personalizada para el IDE de arduino.cc y sus productos.
- Getting Started: https://www.arduino.cc/en/Guide/HomePage
- Playground: http://playground.arduino.cc/ es el wiki de los usuarios de arduino.cc que ha ido creciendo desde el inico de Arduino y es una magnifca base de datos de conocimiento de Arduino.
- Foro: http://forum.arduino.cc/ es el foro de Arduino con documentación desde el inico de Arduino y una magnifica herramienta de consulta y donde preguntar las dudas de Arduino.
- Blog: https://blog.arduino.cc/ blog de arduino.cc donde poder estar al día de las novedades del grupo que creó Arduino.
- Arduino Create: https://create.arduino.cc/ IDE online, y project hub enfocado principlamente al uso de Arduino con Internet de las cosas, así como el interesante proyecto de Arduino Cloud que se encuentra en versión beta.
La web de arduino.cc ha evolucionado mucho en los meses posteriores a la división de Arduino. Ha cambiado la imagen y han actualizado y añadido contenidos muy interesantes.
Se pueden ver las novedades en la entrada del blog de arduino.cc: https://blog.arduino.cc/2015/09/11/keeping-the-arduino-website-in-motion/
Arduino.org
Web oficial de la marca Arduino fuera de USA. Los elementos más importantes de esta web son:
El Hardware Arduino
La división de Arduino en dos partes ha provocado que haya dos tipos de placas Arduino originales con marcas diferentes como hemos visto. En la página arduino.org se encuentra disponibles productos que en el arduino.cc no están y viceversa.
arduino.cc tiene un acuerdos con adafruit y seeedstudio para manufacturar sus placas y también tiene nuevos acuerdos para usar MCUs de Intel además de los de Atmel, como el arduino 101 con chip intel curie.
Anuncios de los acuerdos de arduino.cc
Las placas oficiales para Europa de genuino son:
Shields oficiales para Europa de genuino son:
- Genuino Yun Shield: https://www.arduino.cc/en/Main/ArduinoYunShield que permite dar las caracteristicas de Arduino Yun a cualquier arduino. Es la placa perfecta para proyectos de IoT y gracias a la librería bridge su uso es muy sencillo. Exclusiva de arduino.cc
Para el mercado USA arduino.cc oferece un mayor número de placas con la marca Arduino: https://www.arduino.cc/en/Main/Products.
En cada uno de los enlaces tenemos amplia información de cada placa y todo tipo de documentación sobre ellas, que es imprescindible leer antes de comenzar a usarlas.
arduino.org es fabricante de sus propias placas en Italia y se habló de conversaciones para fabricar con Panasonic y Bosch para expandir por el mundo la fabricación de placas Arduino y reducir su coste según http://readwrite.com/2015/03/18/arduino-open-source-schism/
Las placas de arduino.org disponibles son:
Los shields de arduino.org disponibles son:
Los IDEs de Arduino
Arduino no es solo Hardware, sino también el software que nos facilita programar el microcontrolador. Esta división en el hardware también se ha visto reflejada en la división de software teniendo ahora dos IDEs oficiales de Arduino, el de arduino.cc y el de arduino.org.
Una consecuencia de esta división es que las placas de arduino.org pueden no funcionar con el IDE original de arduino.cc ni al contrario. Para resolver este problema, la solución más sencilla este tener instalados ambos IDEs. Pero si solo queremos usar un IDE o nos gusta uno más que otro, siempre se pueden hacer pequeñas modificaciones en el IDE para poder usar las placas de un arduino en el IDE del otro arduino.
Si abrimos en cada uno de los IDEs las placas soportadas, podemos ver las diferencias. El listado de placas soportadas por cada IDE difiere un poco:
Placas IDE arduino.cc |
Placas IDE arduino.org |
|
|
Lo más probable es que haya problemas con los Arduinos nuevos que vayan saliendo a partir de 2015, pero con los arduinos anteriores a la división de Arduino seguirán siendo soportados en ambos IDEs, puesto que son esencialmente las mismas placas. Lo mismo ocurre con los shields.
También es posible que cada uno de los IDEs de arduino.cc y arduino.org tengan versiones diferentes de las librerías que tienen incluidas, esto nos puede traer problemas al usar un sketch en un IDE o en otro y habrá que tenerlo en cuenta.
Puede que nos aparezcan avisos de placas no certificadas al usar un IDE diferente del fabricante de la placa como el que se añadió en: https://github.com/arduino/Arduino/commit/39d1dfc9995e75e858fa238c7c8881ee2d7679c6
Esto se debe a que arduino.cc y arduino.org tienen su propio identificador de USB (vendor ID) y lo detectan los IDEs. También puede pasar con falsificaciones o clones de placas arduino. El vendor ID para arduino.cc es 0x2341 y por ejemplo para el Arduno UNO el product ID es 0x0001. El vendor ID para arduino.org es 0x2A03 que pertenece a la empresa Dog Hunter AG.
Más información de la diferencia entre los IDEs: https://www.330ohms.com/blogs/blog/115110980-el-ide-de-arduino-cc-y-arduino-org-son-lo-mismo
IDE Arduino.cc
Es el IDE original de Arduino pero que desde la aparición de la versión 1.6.2 hay grandes mejoras que incluyen la gestión de librerías y gestión de placas muy mejoradas respecto a la versión anterior, así como los avisos de actualización de versiones de librerías y cores.
Todos los cambios en la versiones pueden verse en: https://www.arduino.cc/en/Main/ReleaseNotes
El IDE está disponible en: https://www.arduino.cc/en/Main/Software
Guia de inicio en: https://www.arduino.cc/en/Guide/HomePage
Código fuente del IDE: https://github.com/arduino/Arduino/
En verano de 2016 arduino.cc libero finalmente al público su IDE on-line o Arduino Web Editor dentro del portal Arduino Create: https://create.arduino.cc/. Es un IDE online similar al IDE de Arduino que te permite tener siempre la versión actualizada del propio IDE, librerías y cores de las MCUs, así como guardar online los sketches en la nube.
Más información de Arduino Create:
Para usarlo es necesario usar un agente e instalarlo en el ordenador. Código fuente del agente: https://github.com/arduino/arduino-create-agent
El portal Arduino Create además de tener el IDE on-line dispone de:
IDE Arduino.org
Se trata de un fork del IDE de arduino.cc que a su vez deriva de Wiring http://wiring.org.co/. Este IDE no dispone de la gestión mejorada de librerías y placas, algo que se echa en falta.
Ambos IDEs son actualmente muy similares a simple vista, pero en el interior hay bastantes diferencias.
IMPORTANTE: la versión del IDE de arduino.org es actualmente la 1.7.11, puede llevar a error y pensar que es una versión superior al IDE de arduino.cc que va por la version 1.6.12, pero no es cierto, se trata de un IDE diferente, es más, el IDE de arduino.org está menos evolucionado que el IDE de arduino.cc. Ver Issue: https://github.com/arduino-org/Arduino/issues/2
IMPORTANTE: si ya tienes instalado el IDE de arduino.cc, el instalador del IDE de arduino.org trata de desinstalarlo como si fuera una versión anterior, cuando realmente es un IDE diferente. Por este motivo es mejor hacer una instalación manual del IDE de arduino.org mediante la descarga del fichero zip, en lugar de usar el instalador.
La pantalla de preferencias y la ruta donde se guardan estas preferencia en los dos IDEs es diferente y su configuración es importante si vamos a tener en nuestro ordenador conviviendo ambos IDEs y queremos que compartan librerías y sketches.
Para el IDE de arduino.cc, desde la pantalla de preferencias del IDE configuramos la ruta donde se guardan los sketches y librerías, de forma que al instalar una actualización mantenemos todos sketches y librerías o si instalamos varios IDEs van a compartir estos elementos.
- Las preferencias se guardan en: C:\Users\nombre_usuario\AppData\Local\Arduino15, así como el listado de librerías y placas disponibles desde el gestor de librerías y tarjetas.
- Los sketches y librerías se guardan en C:\Users\nombre_usuario\Documentos\Arduino
Para el IDE de arduino.org las preferencias son:
- Las preferencias se guardan en: C:\Users\nombre_usuario\AppData\Roaming\Arduino15\preferences.txt, cuya ruta es diferente al IDE de arduino.cc y por lo tanto no comparten preferencias.
- Los sketches y librerías se guardan en C:\Users\nombre_usuario\Documentos\Arduino, que lo comparte con el IDE de arduino.cc por lo que disponemos de los mismo sketches y librerías en ambos IDEs, pero podemos cambiar esta configuración para separar ambos IDEs.
Arduino Studio de Arduino.org: Es un nuevo entorno de desarrollo open source que se encuentra en version Alpha (de hecho ha desaparecido de la zona de descarga de arduino.org). Es un nuevo IDE totalmente diferente al IDE original y creado desde cero. Está escrito en Javascript y basado en Brackets: http://brackets.io/
De momento es una versión en prueba, pero habrá que seguir su evolución. Su filosofía es: “Just one editor for all the environments”
Esta imagen define la estrategia de arduino.org en cuanto a los IDEs:
Distribuciones Linux Embebido
Además de los entornos de programación que nos ofrecen arduino.cc y arduino.org, tenemos otro apartado de software diferenciado que es el Sistema Operativo basado en Linux que corre dentro de los Arduinos con procesador MIPS Qualcomm Atheros como el Yun o el Tian.
arduino.cc distribuye para los Arduino Yun el openwrt-yun en su version 1.5.3.
Para descargarlo: https://www.arduino.cc/en/Main/Software
Instrucciones para instalarlo: https://www.arduino.cc/en/Tutorial/YunSysupgrade
La librería usada para comunicar el microcontrolador con linux se llama Bridge:
arduino.org usa Linino OS (http://www.linino.org/) que es una distribución Linux basada en OpenWRT e integrado con LininoIO. LininoOS es usado por Arduino Yun, Yun Mini, Tian e Industrial 101
Más información sobre Linino OS en http://wiki.linino.org/doku.php
LininoIO es un framework capaz de integrar las capacidades de un microcontrolador dentro de un entorno Linux. Es posible escribir una aplicación en Python, Node.js, etc… usando LininiOS para controlar completamente la MCU y los dispositivos conectados.
La librería usada para comunicar el microcontrolador con linux se llama Arduino Ciao. Simplifica la interacción entre el microcontrolador y LininoOS permitiendo su conexión la mayoría de protocolos y servicios de terceros.
Más información: http://www.arduino.org/learning/reference/ciao-library
Ciao se divide en dos partes:
Cómo funciona Ciao:
La librería Ciao aún está en desarrollo. El reference de la librería está en:
Guía de inicio con Ciao: http://labs.arduino.org/Ciao+setup
Linino.org también tiene sus placas que son similares a las de arduino.org: http://www.linino.org/linino-modules/
Placas Compatibles Arduino
No solo hay novedades en torno a la división de Arduino, en los últimos años han aparecido muchas placas de prototipado basadas en diferentes microcontroladores que bien por acuerdos con Arduino, por los propios fabricante de los microcontroladores o por la comunidad, estas placas tienen soporte del IDE de Arduino y es posible programarlas como el resto de Arduinos oficiales.
Placas no Arduino con soporte para el IDE de arduino.cc: https://github.com/arduino/Arduino/wiki/Unofficial-list-of-3rd-party-boards-support-urls
Este es un listado de algunas de las placas que han aparecido y que tienen mayor popularidad entre la comunidad de Arduino:
Listado de placas similares a Arduino y shields: http://playground.arduino.cc/Main/SimilarBoards
Shields Compatibles con Arduino
Respecto a las shields, continuamente están saliendo interesantes shields para Arduino que amplían las capacidades de las placas. Merece la pena estar atento a los principales fabricantes de placas para ver las novedades de nuevas shields y HW para Arduino.