En el Consumer Electronics Show de Las Vegas se presentaron grandes novedades tecnológicas. Arduino aprovechó también mostrar algunas de sus armas escondidas que desplegará. Y no pasó inadvertido entre smartphones, smart TVs, vehículos eléctricos, y dispositivos domóticos IoT. La novedad se llamaba Portenta H7 y fue el centro de atención para los amantes de la famosa plataforma de desarrollo.
Es verdad que Arduino se ha centrado hasta el momento en el mercado educativo y para los makers o amantes del DIY. Incluso sus placas marcadas como Pro también pueden ser usadas en este ámbito de consumo para ciertos proyectos. Aunque bien es cierto que hay algunos proyectos profesionales que han usado Arduino como base…
Pero ahora van algo más allá con Portenta H7 y la han diseñado especialmente pensando en los profesionales. Aquellas personas o empresas que quieran desarrollar proyectos de hardware de forma rápida y robusta para aplicaciones industriales.
¿Qué es Portenta H7?
La placa de desarrollo Portenta H7 hace alarde de su nombre e integra un hardware bastante potente. Con capacidades inalámbricas built-in (ya incorporadas), capacidades para ejecutar scripts escritos en Python y JavaScript, y cargada de recursos. Todo por un precio de 89.90€. Al ser muy nueva ya la puedes pedir, ya que está en pre-order en la web oficial de Arduino.
Aunque es un precio que puede ser algo caro para makers y el sector educativo, éstos no están excluidos de su uso. Es más, hay algunas otras placas de desarrollo y SBCs que tienen precios similares o incluso superiores.
Eso sí, las cualidades de Portenta H7 hacen que esta placa esté muy alejada de los Arduino tradicionales. Y es que el sector al que va dirigido así lo exige, ya que no serían suficiente algunos chips MCU de 8-bit, ni tampoco ciertas limitaciones de otras placas de la familia. En la industria se necesitan microcontroladores algo más poderosos.
Otra característica que la hace especialmente interesante es que no solo se puede programar con lenguajes de alto nivel como los citados anteriormente y tareas en tiempo real, también soporta IA (inteligencia artificial) con TensorFlow, mientras mantiene una capacidad de operación de baja latencia gracias a su hardware optimizado. Por ejemplo, sería posible ejecutar código compilado para Arduino junto con MicroPython y mantener los núcleos de ejecución comunicados el uno con el otro.
Usa un formato Portenta Carrier Board para transformar la H7 en un eNUC, es decir, un minicomputador poderoso que podría hacer todo lo que haces ahora con Arduino y más, como por ejemplo usar algoritmos de visión computerizada para un mecanismo de vuelo automático, mientras se mantiene el control a bajo nivel de un motor, timones, etc.
En definitiva, una placa especialmente diseñada para la industria o como material de laboratorios, capacidad para usar visión computerizada, PLCs, interfaces de usuario listas para la industria, control de robots, dispositivos de aplicaciones críticas, alta velocidad de arranque (ms).
2 núcleos en paralelo
El procesador central del Potenta H7 es un dual-core STM32H747 de STMicroelectronics. Unos chips de diseño francés y de la familia STM-32 que agrupan microcontroladores basados en ARM de 32-bits dentro del troquel. En este caso, los núcleos de procesamiento elegidos son el Cortex M7 funcionando a 480Mhz y un Cortex M4 corriendo a 240 Mhz.
Estos dos cores están comunicados vía un mecanismo llamado Remote Procedure Call que permite hacer llamadas de funciones seamless en el otro procesador. Ambos procesadores comparten los periféricos y pueden ejecutar:
- Sketches de Arduino IDE tal cual lo haría otra placa Arduino. Lo hará sobre ARM Mbed OS. Éste es un sistema operativo embebido para esta plataforma que es usado en dispositivos IoT con Cortex-M.
- También puede ejecutar aplicaciones nativas para Mbed.
- Código MicroPython y JavaScript vía un intérprete de estos lenguajes interpretados.
- Y TensorFlow Lite.
Acelerador gráfico
Otra de las funciones incluidas en Portenta H7, y una de las más sorprendentes también, es la posibilidad de conectar la placa con un monitor externo, como si de un ordenador se tratase. De esa forma, permite crear tu propio computador embebido dedicado con una interfaz de usaurio propia.
Y para que eso sea posible se necesita una GPU on-chip dentro del STM32H747. En este caso ses una Chrom-ART Accelertor, con codificadores y decodificadores propios para JPEG.
Pinout
Tiene una gran cantidad de pines a tu disposición para programarlos y usarlos para tus proyectos. Portenta H7 tiene 80 pines de alta densidad de conexión sobre la placa. Eso dota a la placa de una buena escalabilidad y gran flexibilidad en cuando a las aplicaciones y posibles actualizaciones que necesites. Serán compatibles con multitud de los elementos electrónicos vistos en este blog y más.
Conectividad
La placa Portenta H7 también incluye conectividad WiFi y Bluetooth, para poder conectarla a redes para interoperar con otros elementos. Por tanto, no necesitará de módulos adicionales como otras placas de Arduino. Por supuesto, también admite otras interfaces como UART, SPI, Ethernet, I2C, conexión multipropósito mediante USB-C (Display Port para monitor, entrega de potencia para dispositivos OTG,…), etc.
Más detalles del hardware
Portenta H7 (también identificada con el nombre clave H7-15EUNWAD) viene con lo siguiente:
- 8MB de memoria SDRAM
- 16 MB de memoria flash tipo NOR
- 10/100 Ethernet Phy
- USB HS
- Chip NXP SE050C2 Crypto, para seguridad
- Módulo Murata 1DX para WiFi/Bluetooth
- Antena externa
- Conector DisplayPort por USB-C
- Alimentación con PSU a 5V (los circuitos operan a 3.3v)
- Soporte para baterías Li-Po Single Cell, 3.7V, 700mAh minimo
- Rango de temperatura operacional de entre -40 y 85ºC
- Cabezal MKR para shields industriales
- Interfaz para cámara de 8-bit hasta 80 Mhz
- ADC/DAC integrados
- Consumo de energía en modo stand-by 2.95 μA (Backup SRAM OFF, RTC/LSE ON)
Datasheets y documentación adicional
Si necesitas más detalles sobre la Portenta H7 y sus componentes, puedes descargar estos documentos o datasheets aportados:
- Chip central STM32H7
- Elemento de seguridad de NXP SE050
- Módulo de conectividad Murata 1DX
- Esquemas del Portenta H7