El mundo de la programación de hardware ha dado un giro importante. La empresa Adafruit lanzó una nueva forma de programar placas con microcontroladores (μC) llamada CircuitPython. Incluso se ha hablado de una competencia directa contra el IDE de Arduino ya que Circuit Python es multiplataforma. En este artículo discutiremos las novedades que Adafruit intenta implementar con este revolucionario lanzamiento.

Python es un lenguaje ampliamente utilizado a nivel mundial, es enseñado en universidades y usado en la industria. Es muy poderoso, cuenta con la capacidad de procesar archivos, imágenes, programar con orientación a objetos y ser fácil de leer. Es parte de los llamados lenguajes de alto nivel, puesto que su sintaxis es sencilla de leer y no es lenguaje máquina.

Python posee una diferencia significativa frente a los lenguajes como Ensamblador o C que son los comúnmente utilizados en μC, ya que es interpretado en vez de compilado. ¿Esto qué rayos quiere decir? Cuando alguien termina su código de Arduino o realiza cambios, lo primero que tiene que hacer es compilarlo, es decir, las instrucciones del programa son traducidas al lenguaje máquina. Si hay algún tipo de error el software lo detectará y detendrá el proceso de traducción.
La principal desventaja de esta forma de cargar tu código es que existe la posibilidad de que te tome demasiado tiempo realizar cambios o encontrar los errores que desees corregir. La solución que presenta Python es que traduce el programa cuando lo necesita. En vez de llevar a cabo un proceso de analizar el código antes de ejecutar la secuencia de instrucciones. La consecuencia derivada de esto es que se sacrifica la velocidad y capacidad de procesamiento, que en algunas ocasiones puede ser poco relevante.
Circuit Playground
Adafruit desarrolló una tarjeta compatible tanto con CircuitPython como con Arduino llamada Circuit Payground. Cuenta con LEDs NeoPixel, sensores de luz, temperatura, sonido, un zumbador, botones programables, terminales para cable caimán entre otras características. Circuit Playground está orientado a que tenga todo lo que necesitas para empezar a programar, sin añadir nada más. Puedes usar el software en línea MakeCode desarrollado por Microsoft y convertir esta tarjeta en algo más fácil de programar. Pero si quieres aprovechar el potencial de la placa más allá de la programación por bloques puedes usar Mu, un IDE de MicroPython que cuenta con soporte para esta tarjeta y de esta forma incluir sus librerías fácilmente.

El mundo de la tecnología se encuentra en constante cambio y evolución, no cabe duda que podemos esperar mejoras a los productos electrónicos que tenemos hoy disponibles en el mercado. A su vez podemos notar que las empresas están apostando a desarrollar productos enfocados en educación y ayudar a que más personas, sin necesidad de ser ingenieros, puedan entender y usar de una manera más fácil productos de este tipo.
Referencias:
https://learn.adafruit.com/welcome-to-circuitpython/what-is-circuitpython
http://ziobron.net/code-like-a-pythonista-assignments-in-python
https://learn.adafruit.com/welcome-to-circuitpython/creating-and-editing-code