Arduino’s new development board with a dual core processor that can run tasks in parallel.
Many of us makers and hobbyists are very familiar with the Arduino platform, either directly by building projects or indirectly by following other people using the platform to build projects. Whilst the Arduino platform has indeed been used in industry to create real-world products, it’s main selling point has always been about the ease of use, appealing mostly to the hobbyist and maker communities.
That is all starting to change now with the release of the Arduino PRO™ series. This series, whilst designed to appeal to a more professional audience, will still benefit from the ease of use of the traditional Arduino platform but will simultaneously provide access to much more powerful hardware, capable of much more processing intensive tasks such as graphics processing and display.
We were fortunate enough for Arduino to send us a beta unit of their first pro series board, which is in full production in its final release as we write this review. The Arduino PRO Portenta H7 development board uses an STM32H747 dual core microcontroller sporting a 32bit Arm® M7 core running at up to 480MHz and a 32bit Arm® M4 core running at up to 240MHz. The board comes with Bluetooth Low Energy (BLE) and WiFi support, and is purported to handle both tasks simultaneously. The board has an impressive feature list with interfaces we are all likely acquainted with such as SPI, I²C, USB, etc.
It also supports Controller Area Network (CAN), which is very popular in automotive industries, Inter-IC sound (I²S) for audio device communication, and even Display Serial Interface (DSI) which is a standard of the mobile industry processor interface (MIPI®) for display handling.
This makes the development board of particular interest to individuals developing hardware for such industries, but likewise, is of interest to anyone wanting to branch out and learn some interesting communication protocols and interfaces.
The development board also boasts a massive 84 digital I/O pins with 10 capable of pulse width modulation (PWM) and 8 dedicated analog pins. 22 of these general-purpose input and output pins (GPIO) are broken out to through-holes on the PCB. The remaining pins are broken out to a very new style of header (for the Arduino platform) at the bottom of the board via 2 x 80-pin high density connectors.
These high-density connectors breakout much of the aforementioned interfaces such as the CAN bus and SAI interfaces. However, they also contain the same GPIO mentioned above, meaning the entire development board could hypothetically be connected to a project via these connectors, allowing for hardware swapping.
The Portenta H7 has 3 x 16-bit analog to digital converters which means you could measure / resolve voltages down to 50µV with a 3.3V AREF. This is many times greater than other Arduino boards like the Arduino Uno for example, which with an AREF of 3.3V, could only measure / resolve down to 3.2mV.
Likewise, the Portenta H7 has 2 x 12-bit digital to analog converters (DAC) built-in which allows for real analog output at frequencies up to 1MHz, allowing you to hypothetically create stereo sound projects.
For us, one of the most exciting features is, of course, the dual cores. This allows us to run two individual sketches on the same board which will both run simultaneously using the same peripherals.
For example, you could have the M7 core using TensorFlow Lite to provide computer vision, while the M4 core controls motors or other devices to react to the visual input received by the M7 core. This is incredibly powerful for use with industrial machines but could also be revolutionary for more hobbyist focused projects such as 3D printing and drones.
While writing this review, we set up a simple “Hello World” task. This is, of course, blinking the onboard LED. We made it a little more interesting by utilising the Portenta H7s RGB LED and dual cores by making one core flash the LED red and the other core flashing blue. You can check out our findings and the code to do this yourself on our website (we didn’t have enough room to fit it here).
Despite being aimed at a professional audience, we have no doubt whatsoever that the new Arduino Pro series will be immensely popular among the maker / hobbyist and enthusiast market. The combination of the new Arduino Pro IDE (Available in Beta version from GitHub: https://github.com/arduino/arduino-pro-ide/releases) and powerful hardware means the Arduino Pro series will be a game-changer for Arduino. A Carrier board will also be available soon to expand the capabilities of the Portenta family.
We also look forward to the Pro IDE. The debug features in the IDE and the Arduino ease of use could very rapidly make the Arduino platform the go-to platform for prototyping and developing Arm®-based devices.
Connectivity: Bluetooth Low Energy & Classic, WiFi, Ethernet
FLASH QSPI: 16MB
CLOCK: Up to 480MHz
MEMORY: 2MB flash – 1MB SRAM
INTERFACES: I²C, I²S, SPI, CAN, PDM, ETH, MIPI, DSI, USB, UART, SAI
VOLTAGES: 5V input – 3.3V operating
PINOUT: 84 Digital – 10 PWM – 8 Analogue
DIMENSIONS: 66 x 25mm
Portenta H7 available* from: www.arduino.cc
- Arduino Pro Portenta H7 ABX00042 US$103.40
* At time or writing, Arduino are now delivering the pre-orders and, from the beginning of August, will be supplying to its distributor network as well.