Skip to content

[PC-1604] Docs 2.0 + Content Fixes - Portenta related changes #1712

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Jan 31, 2024
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ The **Arduino Renesas Boards** core contains the libraries and examples to work

The complete pinout is available and downloadable as PDF from the link below:

- [Portenta C33 pinout](https://docs.arduino.cc/static/903c16295f3bf076c2ed23eb1b38791c/ABX00074-full-pinout.pdf)
- [Portenta C33 pinout](https://docs.arduino.cc/resources/pinouts/ABX00074-full-pinout.pdf)

### Datasheet

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ To communicate with the Portenta H7 via Bluetooth®, you need to upload a pre-bu

### 1. The Basic Setup

Begin by plugging in your Portenta board to the computer using a USB-C® cable and open the Arduino IDE. If this is your first time running Arduino sketch files on the board, we suggest you check out how to [set up the Portenta H7 for Arduino](setting-up-portenta) before you proceed.
Begin by plugging in your Portenta board to the computer using a USB-C® cable and open the Arduino IDE. If this is your first time running Arduino sketch files on the board, we suggest you check out how to [set up the Portenta H7 for Arduino](https://docs.arduino.cc/tutorials/portenta-h7/setting-up-portenta/) before you proceed.

![The Portenta H7 can be connected to the computer using an appropriate USB-C® cable](assets/por_ard_ble_basic_setup.svg)

Expand Down Expand Up @@ -184,18 +184,18 @@ On your mobile device install **nRF Connect** or an equivalent app that allows f

Once you have downloaded the nRF application on your mobile device, look for your Portenta in the device list. You may filter the list by "Portenta" to easierly find your board in case you are using **nRF Connect**.

- When you found your board in the list tap "Connect".
- When you find your board in the list tap "Connect".
- Navigate to the "Services" screen and tap the arrow up button.
- Switch to "Bool" type and move the toggle to "True". Confirm the dialog with a tap on "Write" and you should see the built-in LED turned on. If you do the same procedure again but setting the toggle switch to "False", it will turn off the LED.

![In the nRF Connect app use a Bool toggle switch to toggle the built-in LED.](assets/por_ard_ble_nrf_connect.png)

## Conclusion
This tutorial shows how to connect and control the built-in LED using a Bluetooth® Low Energy connection. You have learnt how a simple Bluetooth® Low Energy connection between your Portenta and your cell phone, which has basic communication abilities between the two devices, works.
This tutorial shows how to connect and control the built-in LED using a Bluetooth® Low Energy connection. You have learned how a simple Bluetooth® Low Energy connection between your Portenta and your cell phone, which has basic communication abilities between the two devices, works.

### Next Steps

Now that you learnt how to configure the Portenta as a Bluetooth® Low Energy endpoint, you can try with two Portentas (or other Bluetooth® Low Energy capable Arduino devices), to facilitate bidirectional communication. More information on how to achieve that can be found on the [BLE library reference page](https://www.arduino.cc/en/Reference/ArduinoBLE).
Now that you learned how to configure the Portenta as a Bluetooth® Low Energy endpoint, you can try with two Portentas (or other Bluetooth® Low Energy capable Arduino devices), to facilitate bidirectional communication. More information on how to achieve that can be found on the [BLE library reference page](https://www.arduino.cc/en/Reference/ArduinoBLE).


## Troubleshooting
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ This tutorial will guide you through building a basic user interface using the L

### 1. The Basic Setup

Begin by plugging your Portenta board into the computer using a USB-C® cable and open the Arduino IDE. If this is your first time running Arduino sketch files on the board, we suggest you check out how to [set up the Portenta H7 for Arduino](setting-up-portenta) before you proceed.
Begin by plugging your Portenta board into the computer using a USB-C® cable and open the Arduino IDE. If this is your first time running Arduino sketch files on the board, we suggest you check out how to [set up the Portenta H7 for Arduino](https://docs.arduino.cc/tutorials/portenta-h7/setting-up-portenta/) before you proceed.

![The Portenta H7 can be connected to the computer using an appropriate USB-C® cable](assets/por_ard_lvgl_basic_setup.svg)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ The Portenta H7 is equipped with a processor that has two processing units calle

### Required Hardware and Software

- [Portenta H7 (ABX00042)](https://store.arduino.cc/portenta-h7) or [Portenta H7 Lite Connected (ABX00046)](https://store.arduino.cc/products/portenta-h7-lite-connected)
- [Portenta H7 (ABX00042)](https://store.arduino.cc/portenta-h7), [Portenta H7 Lite (ABX00045)](https://store.arduino.cc/products/portenta-h7-lite) or [Portenta H7 Lite Connected (ABX00046)](https://store.arduino.cc/products/portenta-h7-lite-connected)
- USB-C® cable (either USB A to USB-C® or USB-C® to USB-C®)
- Arduino IDE 1.8.10+ 

Expand Down Expand Up @@ -192,4 +192,4 @@ This tutorial introduces the idea of dual core processing and illustrates the co

### Next Steps

- Proceed with the next tutorial [Setting Up a Wi-Fi Access Point](wifi-access-point) to learn how to make use of the built-in Wi-Fi module and configure your Portenta H7 as a Wi-Fi access point.
- Proceed with the next tutorial [Setting Up a Wi-Fi Access Point](https://docs.arduino.cc/tutorials/portenta-h7/wifi-access-point/) to learn how to make use of the built-in Wi-Fi module and configure your Portenta H7 as a Wi-Fi access point.
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ In this tutorial you will learn how to use the Mbed OS [TDBStore API](https://os

- [Portenta H7 (ABX00042)](https://store.arduino.cc/products/portenta-h7), [Portenta H7 Lite (ABX00045)](https://store.arduino.cc/products/portenta-h7-lite) or [Portenta H7 Lite Connected (ABX00046)](https://store.arduino.cc/products/portenta-h7-lite-connected)
- USB-C® cable (either USB-A to USB-C® or USB-C® to USB-C®)
- Arduino IDE 1.8.10+ or Arduino Pro IDE 0.0.4+ or Arduino CLI 0.13.0+
- [Arduino IDE 2.0+](https://www.arduino.cc/en/software) or [Arduino CLI 0.13.0+](https://www.arduino.cc/pro/software-pro-cli/)

## Instructions

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ In this tutorial you learned how to use the OpenMV IDE with your Portenta board.
### Next Steps

- Experiment with MicroPythons capabilities. If you want some examples of what to do, take a look at the examples included in the OpenMV IDE. Go to: **File > Examples > Arduino > Portenta H7** in the OpenMV IDE.
- Take a look at the other Portenta H7 tutorials which showcase its many uses. You can find them [here](https://docs.arduino.cc/hardware/portenta-h7#tutorials).
- Take a look at the other Portenta H7 tutorials which showcase its many uses. You can find them [here](https://docs.arduino.cc/hardware/portenta-h7/#tutorials).

## Troubleshooting

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'Arduino Portenta H7 MicroPython Cheat Sheet'
description: 'Learn how to set up the Arduino Portenta H7 for OpenMV. Obtain information regarding pins and how to use OpenMV and MicroPython.'
difficulty: beginner
tags:
- Installation
- MicroPython
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'Over-The-Air (OTA) Updates with the Arduino Portenta H7'
description: 'Learn how to perform an OTA update of the firmware on the Arduino Portenta H7'
difficulty: intermediate
tags:
- OTA
- Over-The-Air
Expand Down Expand Up @@ -105,7 +106,7 @@ To continue, macOS or Linux environment is required. For Windows environment, it

Once you're comfortable with an environment, you will need a tool which can be found at the following link.

***Arduino IoT Cloud Library - Over-The-Air Tools: https://github.com/arduino-libraries/ArduinoIoTCloud/tree/master/extras/tools***
***[Arduino IoT Cloud Library - Over-The-Air Tools](https://github.com/arduino-libraries/ArduinoIoTCloud/tree/master/extras/tools)***

You will have to extract the library at a preferred location to be able to use the tools. Then, you will need to run on the terminal the following commands in sequence to be able to create the OTA file.

Expand Down Expand Up @@ -165,7 +166,7 @@ Once you have done it, you should be able to run the bin2ota.py script successfu

Now you can upload your .OTA file to an online reachable location, e.g. *OTA_Usage_Portenta.ino.PORTENTA_H7_M7.ota* has been uploaded to:

http://downloads.arduino.cc/ota/OTA_Usage_Portenta.ino.PORTENTA_H7_M7.ota
https://downloads.arduino.cc/ota/OTA_Usage_Portenta.ino.PORTENTA_H7_M7.ota

You can change the default file location on the code by modifying the next line on the ***"OTA_Qspi_Flash"** sketch or in the **"OTA_SD_Portenta"** sketch depending on which method are you going to follow:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: 'Secure Boot on Portenta H7'
description: 'Learn how to use secure boot on the Arduino Portenta H7.'
difficulty: beginner
tags:
- Secure Boot
author: 'Umberto Baldi'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ The Arduino core for the Portenta H7 sits on top of the Mbed OS and allows to de
### Configuring the Development Environment
In this section, we will guide you through a step-by-step process of setting up your Portenta board for running an Arduino Sketch that blinks the built-in RGB LED.

***IMPORTANT: Please make sure to update the bootloader to the most recent version to benefit from the latest improvements. Follow [these steps](updating-the-bootloader) before you proceed with the next step of this tutorial.***
***IMPORTANT: Please make sure to update the bootloader to the most recent version to benefit from the latest improvements. Follow [these steps](https://docs.arduino.cc/tutorials/portenta-h7/updating-the-bootloader/) before you proceed with the next step of this tutorial.***

### 1. The Basic Setup
Let's begin by Plug-in your Portenta to your computer using the appropriate USB-C® cable. Next, open your IDE and make sure that you have the right version of the Arduino IDE downloaded on to your computer.
Expand Down Expand Up @@ -92,12 +92,12 @@ void loop() {

For Portenta H7 LED_BUILTIN represents the built-in RGB LED on the board in green color.

**Note:** The individual colors of the built-in RGB LED can be accessed and controlled separately. In the tutorial [Dual core processing](dual-core-processing) you will learn how to control the LED to light it in different colors
**Note:** The individual colors of the built-in RGB LED can be accessed and controlled separately. In the tutorial [Dual core processing](https://docs.arduino.cc/tutorials/portenta-h7/dual-core-processing/) you will learn how to control the LED to light it in different colors

### 4. Upload the Blink Sketch
Now it's time to upload the sketch and see if the LED will start to blink. Make sure you select Arduino Portenta H7 (M7 core) as the board and the port to which the Portenta H7 is connected. If the Portenta H7 doesn't show up in the list of ports, go back to step 1 and make sure that the drivers are installed correctly. Once selected click Upload. Once uploaded the built-in LED should start blinking with an interval of 1 second.

**Note:** The Portenta H7 has an M7 and an M4 processor which run separate cores. That's why you need to select the one to which you want to upload your sketch to (check out the tutorial [Dual core processing](dual-core-processing) to learn more about Portenta's processors).
**Note:** The Portenta H7 has an M7 and an M4 processor which run separate cores. That's why you need to select the one to which you want to upload your sketch to (check out the tutorial [Dual core processing](https://docs.arduino.cc/tutorials/portenta-h7/dual-core-processing/) to learn more about Portenta's processors).

![Select the Arduino Portenta H7 (M7 core) in the board selector.](assets/por_ard_gs_upload_sketch.png)

Expand All @@ -107,7 +107,7 @@ Now it's time to upload the sketch and see if the LED will start to blink. Make
You have now configured your Portenta board to run Arduino sketches. Along with that you gained an understanding of how the Arduino Core runs on top of Mbed OS.

### Next Steps
- Proceed with the next tutorial [Dual core processing](dual-core-processing) to learn how to make use of Portenta H7's two processors to do two separate tasks simultaneously.
- Proceed with the next tutorial [Dual core processing](https://docs.arduino.cc/tutorials/portenta-h7/dual-core-processing/) to learn how to make use of Portenta H7's two processors to do two separate tasks simultaneously.
- Read more about why we chose Mbed as as the foundation [here](https://blog.arduino.cc/2019/07/31/why-we-chose-to-build-the-arduino-nano-33-ble-core-on-mbed-os/).

## Troubleshooting
Expand Down
2 changes: 1 addition & 1 deletion content/hardware/04.pro/boards/portenta-x8/essentials.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
Download the latest firmware for Portenta X8 (Recommended).
</EssentialElement>

<EssentialElement title="Firmware Release Notes" type="article" link="/tutorials/portenta-x8/x8-firmware-release-notes">
<EssentialElement link="/tutorials/portenta-x8/x8-firmware-release-notes" title="Firmware Release Notes" type="library">
All available Portenta X8 firmware release notes.
</EssentialElement>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: '04. Data Exchange Between Python® on Linux & Arduino Sketch'
description: 'This tutorial will show you how to run a Python® application that exchanges data with an Arduino Sketch.'
difficulty: intermediate
tags:
- RPC
- Python®
Expand Down Expand Up @@ -112,7 +113,7 @@ python-sensor-rpc_1 | Altitude: 311.0769348144531

Whenever you change anything in the Python® script on your computer, you will have to sync it back to the X8 and re-build the container. Following command sequence will help you to do this process:

```
```bash
# On your computer
adb push python-sensor-rpc /home/fio

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ In this tutorial, you have learned how to build a "builder" Docker image, get it

## Next Steps

Please follow the [Flashing tutorial](image-flashing) to flash your device with your custom image. You can use the files provided from this build to flash the Portenta X8 following the tutorial's steps.
Please follow the [Flashing tutorial](https://docs.arduino.cc/tutorials/portenta-x8/image-flashing/) to flash your device with your custom image. You can use the files provided from this build to flash the Portenta X8 following the tutorial's steps.

## Troubleshooting

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: '12. Multi-Protocol Gateway With Portenta X8 & Max Carrier'
description: 'This tutorial shows how to setup a multi-protocol gateway environment on Portenta X8 using Max Carrier'
difficulty: intermediate
tags:
- Containers
- Docker
Expand Down Expand Up @@ -111,15 +112,15 @@ Before you begin diving deep into creating a Multi-protocol gateway, and having

The `m4-proxy` is a service that manages data exchange between these layers. You can use the following command in the terminal to observe if the service is running correctly.

```
```bash
sudo journalctl -fu m4-proxy
```

Now you will implement RPC (Remote Procedure Call) to establish communication between the Arduino and Linux layers, which is a communication mechanism developed to exchange data between these two layers.

**You will not be able to check messages via `Serial.println()` statements** to check if the Arduino sketch is running in the desired manner. You will have to use instead **`py-serialrpc`**, which is a service that will assist you in listening to those messages, and printing them on a console on the Linux layer. To have the service active, please download [this compressed file](assets/py-serialrpc.zip) to build and run the container on the Linux side of Portenta X8. Please execute the following commands to have the service running.

```
```bash
// Copy the decompressed files in ../adb/32.0.0
adb push py-serialrpc /home/fio
adb shell
Expand All @@ -134,15 +135,15 @@ cd /home/fio/py-serialrpc

To access the logs of `py-serialrpc` service, while maintaining the same directory, execute the following command.

```
```bash
sudo docker-compose logs -f --tail 20
```

***For more details about how data exchange between Arduino and Linux layer works and to understand how to debug, please read [Data Exchange Between Python® on Linux and an Arduino Sketch](https://docs.arduino.cc/tutorials/portenta-x8/python-arduino-data-exchange)***

If you have not configured internal Wi-Fi® connectivity within the system, please use the following command line:

```
```bash
nmcli device wifi connect "SSID" password "PASSWORD"
```

Expand Down Expand Up @@ -495,22 +496,22 @@ It is now time to make the multi-protocol gateway run and for this, you will nee

You will need to have the files ready in a folder inside the `adb` directory within Arduino root.

```
```bash
C:\Users\#USERNAME#\AppData\Local\Arduino15\packages\arduino\tools\adb\32.0.0
```

Having the files ready in that directory, you can use the following commands to push the files to the `fio` directory inside the Portenta X8. The second command will let you navigate inside the Portenta X8.

```
```bash
adb push multi-protocol-gateway /home/fio
adb shell
```

You will now build the container using the following commands. The following command will tag the container with `Multi_Protocol_Gateway_X8` as its name.

```
```bash
cd ../home/fio/Multi_Protocol_Gateway_X8
#Multi_Protocol_Gateway_X8 sudo docker build . -t multi_gateway
Multi_Protocol_Gateway_X8 sudo docker build . -t multi_gateway
```

You will be able to see the following results when the image is built successfully.
Expand All @@ -521,19 +522,19 @@ You will be able to see the following results when the image is built successful

After a successful container build, you will run the image. To do that, you can use the following command. This command will immediately give an output in your terminal, telling you how the Python® script is running. If you wish to have it running in the background, please add the `-d` flag at the end of the command.

```
#Multi_Protocol_Gateway_X8 sudo docker-compose up
```bash
Multi_Protocol_Gateway_X8 sudo docker-compose up
```

Finally, you will have the multi-protocol gateway running, which uses Wi-Fi® and LoRa® connectivity. Also, RPC for exchanging data between its layers. However, there are cases where you would wish to make changes by adding more functionalities, such as including Cat. M1 or NB-IoT to expand its communication spectrum. For this, you will need to stop the image. To stop the image from running, you can use the following command.

```
#Multi_Protocol_Gateway_X8 sudo docker-compose down
```bash
Multi_Protocol_Gateway_X8 sudo docker-compose down
```

Getting to know the status of the image is also crucial as it is the indicator of the state of operation. The following command brings up **active** containers and shows the status if the container restarted or stopped due to certain reasons. The second command lists built images and it will show you the components that go with the main image that you're building.

```
```bash
docker ps -a
docker images
```
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -554,9 +554,9 @@ This sub-section introduces the essential hardware connection points and interfa

The Portenta X8, H7, and C33 enhance functionality through High-Density connectors. For a comprehensive understanding of these connectors, please refer to the complete pinout documentation for each Portenta model.

- [Complete Portenta X8 pinout information](https://docs.arduino.cc/static/019dd9ac3b08f48192dcb1291d37aab9/ABX00049-full-pinout.pdf)
- [Complete Portenta H7 pinout information](https://docs.arduino.cc/static/2d38006e78d2abc588a80f12bb9c0c70/ABX00042-full-pinout.pdf)
- [Complete Portenta C33 pinout information](https://docs.arduino.cc/static/903c16295f3bf076c2ed23eb1b38791c/ABX00074-full-pinout.pdf)
- [Complete Portenta X8 pinout information](https://docs.arduino.cc/resources/pinouts/ABX00049-full-pinout.pdf)
- [Complete Portenta H7 pinout information](https://docs.arduino.cc/resources/pinouts/ABX00042-full-pinout.pdf)
- [Complete Portenta C33 pinout information](https://docs.arduino.cc/resources/pinouts/ABX00074-full-pinout.pdf)

### USB Interface

Expand Down
Loading