Portenta X8-board

Portenta X8

Portenta X8 offers the best of two approaches: flexibility of usage with Linux combined with real-time applications through the Arduino environment. The board comes with a Linux OS (Yocto) distribution, already preloaded onboard.

The Portenta X8 is a high-performance board, with many exceptional features. With two microprocessors combined, the NXP® i.MX 8M Mini MPU (Linux) and STM32H747XI dual Cortex®-M7+M4 32bit low power ARM® MCU (Arduino), this board is a great source to power the upcoming generation of the Industrial Internet of Things.

Thanks to the use of containers, the Portenta X8 offers an easy and secure way to deploy applications running in a controlled environment. The user has full control of the containers that the board is executing, having the option of creating and running custom containers on its own without the requirement of any additional subscription services and totally free of charge.

In case the user needs a more advanced and scalable professional solution, Arduino has created, in collaboration with Foundries, a subscription service with many enterprise-grade features:

  • Secure maintenance of Portenta X8 Linux distribution and applications over time
  • Portenta X8 fleets monitoring from anywhere
  • Secure Over-The-Air updates to target Portenta X8 devices/fleets

Learn more about the so-called Portenta X8 Manager here.

Core
NXP® i.MX 8M Mini
Includes the powerful NXP® i.MX 8M Mini processor with 4x ARM® Cortex®-A53 core platforms up to 1.8GHz per core and 1x Cortex-M4 core up to 400MHz.
Microcontroller
STM32H747XI dual Cortex®-M7+M4 32bit low power Arm® MCU
X8's integrated microcontroller is the dual-core STM32H747, including a Cortex® M7 running at 480 MHz and a Cortex® M4 running at 240 MHz. The M4 core can be programmed through the Arduino IDE to run sketches for multiple real-time applications, like control of motors or other time-critical machinery at a barebones level. The M7 core runs an Arduino custom firmware, normally invisible to the User, able to map all its peripherals as Linux devices.
Crypto Chip
NXP® SE050C2
The Crypto chip allows users to keep security in mind by ensuring a secure connection at the hardware level.
Communication
Two industrial-grade products in one
The X8 offers the best of two approaches: the flexibility of usage of Linux combined with real-time applications. This approach allows developers to leverage the Arduino environment to perform e.g. automation control while accomplishing high-performance processes on Linux cores at the same time.
Configurability
Containerizing system
With the so called encapsulated application, developers can isolate a single package of software, which means that the applications can run within a controlled environment. This allows developers to design device-independent software while achieving modularization, thanks to the container composition.

Essentials

First Steps

User Manual
A full guide to the basics of the Portenta X8
Fundamentals of Portenta X8
This article contains information about the fundamental concepts of the Portenta X8.
Containers management
Tutorial to learn how to manage docker containers with the Portenta X8.

Suggested Repositories

Portenta X8 containers
Some containers examples for Portenta X8, these containers are accessible through your Foundries.io factory.

Firmware Images

v399 Firmware Version
Download the v399 firmware for Portenta X8.
Latest Firmware Version
Download the latest firmware for Portenta X8 (Recommended).
Firmware Release Notes
All available Portenta X8 firmware release notes.

Tutorials

01. Portenta X8 User Manual

Get a general overview of Portenta X8 and its features.

Embedded Linux
Containers
Firmware
Pins
Connections
02. How to Use the Portenta X8 Manager

This article contains information about how to use the Portenta X8 Manager.

Linux
containers
factories
foundries
03. Uploading Sketches to the M4 Core on Arduino Portenta X8

This tutorial explains how to upload Arduino sketches to the M4 core.

Firmware
M4
04. Data Exchange Between Python® on Linux & Arduino Sketch

This tutorial will show you how to run a Python® application that exchanges data with an Arduino Sketch.

RPC
Python®
05. Managing Containers with Docker on Portenta X8

This tutorial shows how to install and manage your containers using Docker.

containers
Docker
Hello-World
06. Using FoundriesFactory® Waves Fleet Management

Learn how to manage multiple Portenta X8 devices using FoundriesFactory® fleet management tool: Waves.

Embedded Linux
Flashing
Foundries.io
07. Deploy a Custom Container with Portenta X8 Manager

This tutorial will show you how to create and upload your custom container to your Portenta X8.

Linux
Python®
Containers
ADB
08. How To Build a Custom Image for Your Portenta X8

This tutorial teaches you how to compile a custom image for your Portenta X8.

Embedded Linux
Building
Yocto-project
09. How To Flash Your Portenta X8

This tutorial teaches you how to flash your Portenta X8 through USB.

Embedded Linux
Flashing
10. Data Logging with MQTT, Node-RED, InfluxDB and Grafana

This tutorial will show you how to set up a local data logging application using an MQTT broker, Node-RED, InfluxDB, Grafana, and the Arduino® Portenta X8.

Docker
MQTT
Mosquitto
Node-RED
InfluxDB
Grafana
11. Output WebGL Content on a Screen

This tutorial shows how to install and modify a container that outputs web browser and webGL content.

containers
Docker
WebGL
Vim
12. Multi-Protocol Gateway With Portenta X8 & Max Carrier

This tutorial shows how to setup a multi-protocol gateway environment on Portenta X8 using Max Carrier

Containers
Docker
LoRa®
Wi-Fi®
Sensor
RPC
13. Running WordPress & Database Containers on Portenta X8

Learn how to run a database and WordPress container on the Portenta X8

containers
Docker
WordPress
14. Portenta X8 Firmware Release Notes

This article contains release notes of the existing Portenta X8 firmwares.

Linux
containers
factories
foundries