Arduino.cc y Arduino.org. Los dos Arduinos
A principios de 2015 se produjo una división dentro de Arduino y desde entonces han aparecido bastante cambios para los usuarios de Arduino, principalmente que ha aparecido una nueva marca llamada “Genuino” 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 en Europa. Esto puede causar cierta confusión a los usuarios de Arduino y vamos a aclararlo en este post.
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 es 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.
Más información en estos enlaces:
- http://hackaday.com/2015/02/25/arduino-v-arduino/
- http://hackaday.com/2015/03/12/arduino-v-arduino-part-ii/
- http://makezine.com/2015/03/06/arduino-vs-arduino/
- http://makezine.com/2015/03/19/massimo-banzi-fighting-for-arduino/
- http://panamahitek.com/inicia-batalla-legal-por-el-control-de-la-marca-arduino/
Otros enlaces muy interesantes que explican la historia de la separación de Arduino y el origen de Arduino con Wiring y su creador Hernando Barragán:
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/
A partir de esta ruptura, durante 2015 se vieron 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.
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 en europa arduino.cc ha sacado una nueva marca llamada GENUINO y un nuevo logo.
Genuino es una 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. 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.
- 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.
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 los contenidos. 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:
- Productos: http://www.arduino.org/products todas las placas y shields de arduino.org. Fuera de USA son las únicas oficiales que podemos comprar con la marca Arduino. Dispone de un selector de placas: http://www.arduino.org/products/boards
- Distribuidores: http://www.arduino.org/distributors
- Tienda: http://world.arduino.org/en/
- Software: http://www.arduino.org/software para descargar los IDEs de arduino.org que no son los mismos que arduino.cc
- Labs: http://labs.arduino.org puedes encontrar tutoriales, ejemplos, recursos, etc… No tiene nada que ver con el Playground de Arduino, tiene información y ejemplos limitados a los productos de arduino.org sus librerías.
- Manifesto Arduino: http://labs.arduino.org/Arduino.org+Manifesto
- Reference: http://labs.arduino.org/Arduino+Reference similar al reference de arduino.org, la programación de Arduino sigue siendo la misma.
- Blog: http://www.arduino.org/blog es un nuevo blog de arduino.org
- Documentación: http://labs.arduino.org/Documentation documentación detallada de las placas y los shields de arduino.org
- Foro: http://labs.arduino.org/forums, solo tiene lo relacionado con arduino.org y para cualquier consulta que no sea específica de arduino.org, mejor usar el foro arduino.cc
- Makers: http://www.arduino.org/makers espacio dedicado a los makers donde se muestran proyectos con Arduino.Puedes mandar tu proyecto y ganar un Arduino Yun.
El Hardware Arduino
La división de Arduino en dos partes ha provocado que haya dos tipos de placas 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
- https://blog.arduino.cc/2015/05/16/arduino-manufacturing-partnership-with-adafruit/
- https://blog.arduino.cc/2015/06/20/arduino-and-seeedstudio-announce-partnership/
Las placas oficiales para Europa de genuino son:
- Resumen: https://www.arduino.cc/en/Main/GenuinoProducts
- Genuino UNO: https://www.arduino.cc/en/Main/ArduinoBoardUno el Arduino por excelencia con el microcontrolador de 8 bits AVR Atmega328P
- Genuino 101: https://www.arduino.cc/en/Main/ArduinoBoard101 la siguiente generación del Arduino UNO con procesador Intel de 32 bits. Exclusiva de arduino.cc
- Genuino MICRO: https://www.arduino.cc/en/Main/ArduinoBoardMicro version reducida con MCU Atmel AVR de 8 bits ATmega32U4
- Genuino MEGA: https://www.arduino.cc/en/Main/ArduinoBoardMega2560 la versión más potente con MCU Atmel AVR de 8 bits ATmega2560 y mayor cantidad de puertos I/O y comunicación.
- Genuino ZERO: https://www.arduino.cc/en/Main/ArduinoBoardZero version con procesador Atmel ARM Cortex M0+ de 32bits SAMD21. Esta placa solo soporta hasta 3.3V en lugar de los 5V de las anteriores. Dispone de un Atmel Embedded Debugger (EDGB).
- Genuino MKR1000: https://www.arduino.cc/en/Main/ArduinoMKR1000 version para IoT con procesador Atmel ARM Cortex M0+ de 32bits ATSAMW25 que es el mismo procesador que Genuino Zero pero con wifi integrado, chip de cifrado y antena integrada. También dispone de entrada de batería y cargador para baterías LiPo de una celda. Exclusiva de arduino.cc
- Tabla comparativa: https://www.arduino.cc/en/Products/Compare
- Documentación del resto de placas Arduino en: https://www.arduino.cc/en/Main/Products
Para el mercado europeo no ofrece actualmente shields, pero pueden verse todas las placas y shields de Arduino en: 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 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:
- Resumen: http://www.arduino.org/products
- Arduino UNO: http://www.arduino.org/products/boards/4-arduino-boards/arduino-uno el arduino por excelencia igual al Genuino UNO. Ahora en versión TH y SMD.
- Arduino Mega 2560: http://www.arduino.org/products/boards/4-arduino-boards/arduino-mega-2560 con MCU Atmel AVR de 8 bits ATmega2560. Igual que el Genuino Mega.
- Arduino Leonardo: http://www.arduino.org/products/boards/4-arduino-boards/arduino-leonardo con MCU Atmel AVR de 8 bits ATmega32U4. Esta MCU tiene la comunicación USB integrada sin necesidad de una MCU adicional para el USB.
- Arduino Ethernet: http://www.arduino.org/products/boards/4-arduino-boards/arduino-ethernet es un Arduino UNO con ethernet proporcionado por el controlador W5100, el mismo que el Shield Ethernet. Para programar este Arduino es necesario un cable FTDI al no tener un USB-to-serial driver chip.
- Arduino Leonardo ETH: http://www.arduino.org/products/boards/4-arduino-boards/arduino-leonardo-eth es un Arduino Leonardo con ethernet proporcionado por el controlador W5500. Se trata de la versión actualizada del Arduino Ethernet.
- Arduino Due: http://www.arduino.org/products/boards/4-arduino-boards/arduino-due con MCU Atmel ARM de 32 bits SAM3X8E ARM Cortex-M3. Fue el primer Arduino de 32-bits ARM core. Una versión más potente del Mega.
- Arduino Micro: http://www.arduino.org/products/boards/4-arduino-boards/arduino-micro con la misma MCU que el Leonardo. Similar al Genuino Micro.
- Arduino M0: http://www.arduino.org/products/boards/4-arduino-boards/arduino-m0 con procesador Atmel ARM Cortex M0+ de 32bits SAMD21. Similar al Genuino Zero pero sin EDGB.
- Arduino M0 Pro: http://www.arduino.org/products/boards/4-arduino-boards/arduino-m0-pro similar al Genuino Zero.
- Arduino Yun: http://www.arduino.org/products/boards/4-arduino-boards/arduino-yun con MCU Atmel AVR de 8 bits ATmega32U4 y procesador MIPS Qualcomm Atheros AR9331 a 400 MHz con wifi integrado y SO linux Linino basado en OpenWRT y ethernet. Su principal característica es la capacidad de comunicar la MCU con el SO linux mediante un puerto serie interno. Esta placa no es 100% hardware libre, al no hacerse público la parte donde se encuentra el procesador Atheros AR9331. También hay disponible una version Yun mini para protoboards: http://www.arduino.org/products/boards/4-arduino-boards/arduino-yun-mini
- Arduino Tian: http://www.arduino.org/products/boards/4-arduino-boards/arduino-tian con MCU Atmel ARM Cortex M0+ de 32bits SAMD21 y procesador MIPS Qualcomm Atheros AR9342 a 560 MHz con wifi integrado dual band y SO linux Linino basado en OpenWRT, ethernet a giga y bluetooth. El Arduino con más potencia.Exclusiva de arduino.org
- Tabla comparativa: http://www.arduino.org/comparative-table
- Más documentación de las placas: http://labs.arduino.org/Documentation
Las shields oficiales de arduino.org están en http://www.arduino.org/products/shields donde también han aparecido novedades como la segunda versión del Ethernet Shield y del GSM Shield
Los IDEs de Arduino
Por supuesto 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 apareciendo nuevos IDEs de arduino.cc y 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 y al contrario. 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.
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, pero con los arduinos anteriores a la división de Arduino seguirán siendo soportados en ambos IDEs.
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.
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 y 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: https://github.com/arduino/Arduino/
Arduino Create de Arduino.cc: Es un IDE online que actualmente está accesible de forma privada en modo beta testing desde https://create-staging.arduino.cc/.
Un IDE online 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:
- https://blog.arduino.cc/2015/05/05/sneak-peak-arduino-create/
- https://blog.arduino.cc/2015/12/02/the-next-steps-of-the-arduino-create-betatesting/
Para usarlo es necesario usar un agente e instalarlo en el ordenador. Código fuente del agente: https://github.com/arduino/arduino-create-agent
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.
Ambos IDEs son actualmente muy similares a simple vista, pero en el interior hay varias diferencias.
- Todos los cambio de las versiones se pueden ver en: http://labs.arduino.org/Arduino+IDE+Previous+Releases
- Está disponible para su descarga en http://www.arduino.org/software
- Guía de inicio: http://labs.arduino.org/First+steps+with+Arduino+IDE+1.7.x+for+Windows
- Código fuente: https://github.com/arduino-org/Arduino
Más información en: http://labs.arduino.org/Arduino%20IDE
IMPORTANTE: la versión del IDE de arduino.org es actualmente la 1.7.8, puede llevar a error y pensar que es una versión superior al IDE de arduino.cc que va por la version 1.6.8, pero no es cierto, se trata de un IDE difrente, 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 en lugar de usar el instalador.
Las preferencias y la ruta donde se guardan los sketches y librerías en los dos IDEs difiere 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 los datos o si instalamos varios IDEs van a compartir estos datos.
- Las preferencias se guardan en: C:Usersnombre_usuarioAppDataLocalArduino15, 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:Usersnombre_usuarioDocumentosArduino
Para el IDE de arduino.org las preferencias son:
- Las preferencias se guardan en: C:Usersnombre_usuarioAppDataRoamingArduino15preferences.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:Usersnombre_usuarioDocumentosArduino, 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, se encuentra en version Alpha. Es un nuevo IDE totalmente diferente al IDE original y creado desde cero. Está escrito en Javascript y basado en Brackets: http://brackets.io/
- Descarga en: http://www.arduino.org/software#studio
- Guía de inicio: http://labs.arduino.org/Arduino+Studio+for+Windows
- Como usar Arduino Studio: http://labs.arduino.org/How+to+use+Arduino+Studio
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”
- Más información en: http://labs.arduino.org/Arduino%20Studio
- Código fuente: https://github.com/arduino-org/ArduinoStudio
Esta imagen define la estrategia de arduino.org en cuanto a los IDEs:
Además de los entornos de programación que nos ofrecen arduino.cc y arduino.org, tenemos otro apartado de software difreneciado 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 LininOS 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
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://labs.arduino.org/Ciao
Ciao se divide en dos partes:
- Librería Ciao que se usa en la MCU: http://labs.arduino.org/Ciao%20MCU y código fuente: https://github.com/arduino-org/arduino-ciao-library
- Ciao Core que se usa en LininiOS: http://labs.arduino.org/Ciao%20CPU y código fuente https://github.com/arduino-org/Ciao
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
Más información sobre linino: http://www.linino.org/
Placa linino: http://www.linino.org/product/linino-one/