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 Industrial Internet of Things.
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 is available for real time control of motors and other time-critical machinery at a barebones level. The M7 core acts as a mediator between the peripherals and the i.MX 8M Mini and runs a proprietary firmware inaccessible to the User.
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

Quickstart Guide
A quick guide to installing your board with the Arduino IDE.
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, this containers are accessible through your Foundries.io factory.
OS Images
Releases section from the lmp-manifest repo, lists all the builds also available on the Foundries.io factory.
Manifest repository
This repository contains a Repo manifest and setup scripts for the Linux microPlatform build system. If you want to modify, extend or port Linux microPlatform to a new hardware platform, this is the manifest repository to use.

Suggested libraries

Arduino Wire
The M4 processor exposes the I2C protocol, this is the "Wire" library documentation.
Arduino SPI
The M4 processor exposes the SPI protocol. This library allows you to communicate with SPI devices, with the Arduino as the controller device.

Tutorials

Create and Upload a Custom Container to the Portenta X8

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

Linux
Python®
Containers
ADB
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
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
Managing Containers with Docker on Portenta X8

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

containers
Docker
Hello-World
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
How To Flash Your Portenta X8

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

Embedded Linux
Flashing
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
Portenta X8 Getting Started

Learn how to set up the Portenta X8

Beta
Installation
OTA
Embedded Linux
Arduino Pro Cloud
Data Exchange Between Python® on Linux and an Arduino Sketch

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

RPC
Python®
Uploading Sketches to the M4 Core on Arduino Portenta X8

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

firmware
M4
Using FoundriesFactory Waves Fleet Management

Learn how to manage multiple Portenta X8 devices using FoundriesFactory fleet management tool, Waves

Embedded Linux
Flashing
Foundries.io
Running Wordpress and Database Containers on the Portenta X8

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

containers
Docker
Wordpress
Portenta X8 Fundamentals

This article contains information about the fundamental concepts of the Portenta X8

Linux
containers
factories
foundries