Artículo técnico escrito por Mark Patrick, de Mouser Electronics, sobre el hardware de código abierto o el éxito de la ingeniería en una cultura sin normas.
El hardware de código abierto ha democratizado la alta tecnología y ha permitido a las personas con metas creativas sortear las barreras de la ingeniería tradicional y comenzar a trabajar directamente para hacer realidad conceptos nuevos e innovadores.
En un ambiente tan libre, un socio de confianza puede marcar la diferencia entre la culminación y la confusión.
Introducción: ¿Qué es el hardware de código abierto?
La filosofía del código abierto se ha consolidado con firmeza, no solo entre la comunidad de creadores compuesta de aficionados y entusiastas, sino también entre los ingenieros profesionales. De hecho, hoy en día muchos ingenieros pueden haber encontrado su vocación tras comenzar como jóvenes creadores. La cultura del código abierto utiliza herramientas y hardware asequibles, y promueve la accesibilidad y la facilidad de uso. De esta manera, nos ayuda a probar rápidamente nuevas ideas y anima a la interacción entre iguales, además de proporcionar libertad para modificar y mejorar el código o el hardware y sostener el ritmo del progreso.
En parte posible por el éxito del software de código abierto, como las populares distribuciones de Linux embebido, el hardware de código abierto es un campo en expansión que pone plataformas apropiadas en manos creativas. Los desarrolladores de aplicaciones pueden ponerse manos a la obra rápidamente sin necesidad de un amplio equipo de ingenieros de hardware, y aquellos con ideas para desarrollar nuevas creaciones pueden configurarlas y modificarlas usando recursos de software online para infundirles vida. Como término genérico, el «hardware de código abierto» puede significar diferentes cosas para mucha gente. Encontrará un análisis detallado aquí en el sitio web de opensource.com.
Normalmente, el hardware de código abierto, en forma de procesadores, placas microcontroladoras, placas de expansión y módulos, se ofrece a precios económicos que animan a los diseñadores a participar. Otros recursos, como bibliotecas de software, muestras de código y herramientas de desarrollo, suelen estar disponibles sin cargo en virtud de licencias permisivas.
Grandes ecosistemas de código abierto
Arduino es uno de los ecosistemas de código abierto más conocidos. Los usuarios pueden elegir entre ofertas básicas como las placas Uno, Leonardo o 101.
El modelo 101 se basa en el módulo de bajo consumo Intel Curie, e incluye un acelerómetro, un giroscopio y conectividad inteligente por Bluetooth, lo que la convierte en una buena candidata para desarrollar dispositivos del IdC.
Los proyectos que necesiten potencia de procesamiento extra o características integradas ampliadas pueden aprovechar las placas Arduino como Mega, Zero o Due, que proporcionan características avanzadas y procesadores más rápidos. Arduino Due es la primera placa de este ecosistema que incluye un microcontrolador ARM Cortex-M de 32 bit.
Pueden añadirse otras funciones, como un controlador del motor, una interfaz USB, relés o una pantalla LCD mediante placas de expansión (o escudos). El concepto de escudo de Arduino ha tenido tal éxito que proveedores de escudos externos y otros fabricantes de placas base lo han adoptado ampliamente.
El ecosistema Arduino también abarca placas orientadas al IdC con conectividad integrada y capacidad de ampliación adicional mediante escudos Wi-Fi, Ethernet o GSM. Existe toda una plétora de proyectos de ejemplo, si bien este en concreto es de naturaleza musical: http://eu.mouser.com/applications/open-source-desktop-synthesizer-summary.
Adafruit es una empresa pionera del movimiento del código abierto, y ofrece una amplia variedad de placas de desarrollo y placas «breakout» orientadas a la eficiencia energética y la conectividad para su aplicación en dispositivos electrónicos que pueden llevarse puestos y dispositivos del IdC.
Placas ligeras y compactas como Feather, dirigida a fines de comunicación, y Flora, orientada a los dispositivos electrónicos ponibles, se basan en el procesador Atmega32U4 y se pueden usar con prácticas herramientas de desarrollo, como el IDE de Arduino.
La guía online paso a paso ayuda a los usuarios a comenzar a usarla e incluye funcionalidad para que los desarrolladores de Windows instalen los controladores necesarios.
BeagleBoard: el ecosistema Beagle incluye una gran variedad de placas, como la BeagleBone original y la BeagleBone Black posterior, y ambas proporcionan poderosas capacidades de procesamiento gracias a la integración de un procesador Texas Instruments Sitara ARM Cortex-A8 a 720 MHz y a 1 GHz respectivamente. Estas placas tienen un tamaño compacto (86 mm x 53 mm) y sus funciones se pueden expandir de una forma similar a las de Arduino, usando placas de función llamadas capas. Las capas son fabricadas por una gran variedad de terceros.
Dispone de una extensa lista online en http://elinux.org/Beagleboard:BeagleBone_Capes.
La serie BeagleBoard se extiende ahora a la BeagleBoard X-15 (presentada este año), que lleva el desarrollo de código abierto a las aplicaciones integradas de alto rendimiento, como robots y dispositivos multimedia. Incluye un procesador de doble núcleo Sitara ARM Cortex-A15 con 2 GB de DRAM DDR3 y 4 GB de memoria Flash interna.
Launchpad: mientras que los ecosistemas Arduino, Adafruit y Beagle Board están diseñados y gestionados por organizaciones independientes, LaunchPad, de Texas Instruments, demuestra cómo los propios vendedores de chips están adoptando los principios del código abierto para ampliar el acceso y fomentar las iniciativas de diseño con sus propios chips.
Esta serie incluye más de 20 kits de desarrollo y los usuarios pueden elegir entre una variedad de microcontroladores de la empresa, como el MSP430 de bajo consumo, la familia C2000 de alto rendimiento o los dispositivos Hercules para su uso en campos como la automatización industrial, los equipos médicos, la generación de energía, la automoción o la industria aeroespacial.
Las placas basadas en MSP430 están optimizadas para proyectos alimentados por batería o sin ella (dispositivos del IdC, etc.), mientras que las placas basadas en C2000 (con características como rendimiento en tiempo real, extensiones DSP, software integrado de control de motor y procesamiento de doble núcleo) se orientan al control, la automatización y las aplicaciones de electrónica de potencia.
Las funciones de las placas LaunchPad pueden ampliarse mediante los módulos complementarios BoosterPack™, con más de 80 disponibles tanto de Texas Instruments como de otros fabricantes. Aquí se pueden ver ejemplos de LaunchPad en funcionamiento, tanto en una sencilla aplicación de control medioambiental como en un contexto de aprovisionamiento de energía.
Siga leyendo en Trabajar con el código abierto