You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/hardware/04.pro/boards/portenta-c33/tutorials/user-manual/content.md
+36-25Lines changed: 36 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -55,10 +55,10 @@ Here is an overview of the board's main components shown in the images above:
55
55
-**Security**: The board features an onboard ready-to-use secure element, the SE050C2 from NXP®, specifically designed for IoT devices and provides advanced security features.
56
56
-**USB connectivity**: The board features a USB-C port for power and data, which is also accessible through the board's High-Density connectors.
57
57
-**Power management**: The Portenta C33 is designed for low-power operation to meet the demands of always-connected IoT devices. It features a power management integrated circuit (PMIC), the PF1550 from NXP®, designed specifically for low-power, portable, and battery-powered IoT applications.
58
-
-**Analog and digital peripherals**: The board features analog peripherals such as two 8-channel 12-bit analog-to-digital converters (ADC) and two 12-bit digital-to-analog converters (DAC). It also features the following digital peripherals: GPIO (x7), I<sup>2</sup>C (x1), UART (x4), SPI (x2), PWM (x10), CAN (x2), I2S (x1), SPDIF (x1), PDM (x1), and SAI (x1).
58
+
-**Analog and digital peripherals**: The board features analog peripherals such as two 8-channel 12-bit analog-to-digital converters (ADC) and two 12-bit digital-to-analog converters (DAC). It also features the following digital peripherals: GPIO (x7), I2C (x1), UART (x4), SPI (x2), PWM (x10), CAN (x2), I2S (x1), SPDIF (x1), PDM (x1), and SAI (x1).
59
59
-**Debugging**: The board features a JTAG/SWD debug port accessible through its High-Density connectors.
60
-
-**Surface mount**: The castellated pins of the board allows it to be positioned as a surface-mountable module.
61
-
-**MKR-styled connectors**: The MKR-styled connectors of the board makes it compatible with all the MKR family boards. 2.54 mm pitch headers can be easily soldered to the board.
60
+
-**Surface mount**: The castellated pins of the board allow it to be positioned as a surface-mountable module.
61
+
-**MKR-styled connectors**: The MKR-styled connectors of the board make it compatible with all the MKR family boards. 2.54 mm pitch headers can be easily soldered to the board.
62
62
63
63
### Board Core and Libraries
64
64
@@ -99,11 +99,11 @@ The complete STEP files are available and downloadable from the link below:
99
99
The Portenta C33 can be powered by the following:
100
100
101
101
- Using a USB-C® cable (not included).
102
-
- Using an external **4.1 to 6 V power supply** connected to the `VIN` pin located in the MKR-styled connectors pins of the board (please, refer to the [board pinout section](#pinout) of the user manual).
103
-
- Using an external **5 V power supply** connected to the `5V` pin located in the MKR-styled connectors of the board (please, refer to the [board pinout section](#pinout) of the user manual).
102
+
- Using an external **4.1 to 6 V power supply** connected to the `VIN` pin located in the MKR-styled connectors pins of the board (please refer to the [board pinout section](#pinout) of the user manual).
103
+
- Using an external **5 V power supply** connected to the `5V` pin located in the MKR-styled connectors of the board (please refer to the [board pinout section](#pinout) of the user manual).
104
104
- Using a **3.7 V Lithium Polymer (Li-Po) battery** connected to the board through the onboard battery connector; the manufacturer part number of the battery connector is BM03B-ACHSS-GAN-TF(LF)(SN), and its matching receptacle manufacturer part number is ACHR-03V-S. The **recommended minimum battery capacity for the Portenta C33 is 800 mAh**. A Li-Po battery with an integrated NTC thermistor is also recommended for thermal protection.
105
105
- Using an Arduino Pro carrier board, such as the [Portenta Max Carrier](https://store.arduino.cc/collections/pro-family/products/portenta-max-carrier) and the [Portenta Breakout](https://store.arduino.cc/collections/pro-family/products/arduino-portenta-breakout).
106
-
- Using your custom boards to power the board through the board's castellated pins, MKR-styled or High-Density connectors. Check out the [board pinout](#pinout) and its schematic to know more about it.
106
+
- Using your custom boards to power the board through the board's castellated pins, MKR-styled, or High-Density connectors. Check out the [board pinout](#pinout) and its schematic to know more about it.
107
107
108
108

109
109
@@ -148,7 +148,7 @@ You should see now the green LED of the built-in RGB LED turn on for one second,
148
148
149
149
## Pins
150
150
151
-
The Portenta C33 has been designed with two types of connectors, the MKR-styled connectors, intended for prototyping and debugging, and the High-Density connectors, intended to be used across Arduino Pro boards or custom boards. The Portenta C33 MKR-styled connectors pinout is shown in the image below:
151
+
The Portenta C33 has been designed with two types of connectors: the MKR-styled connectors, intended for prototyping and debugging, and the High-Density connectors, intended to be used across Arduino Pro boards or custom boards. The Portenta C33 MKR-styled connectors pinout is shown in the image below:
@@ -173,7 +173,7 @@ The Portenta C33 has eight analog input pins mapped as follows:
173
173
174
174
The eight analog input pins can be used through the built-in functions of the Arduino programming language ([`analogRead()` function](https://reference.arduino.cc/reference/en/language/functions/analog-io/analogread/)).
175
175
176
-
Please, refer to the [board pinout section](#pinout) of the user manual to find the analog pins on the board:
176
+
Please refer to the [board pinout section](#pinout) of the user manual to find the analog pins on the board:
177
177
178
178
- MKR-style connectors: pins `A0`, `A1`, `A2`, `A3`, `A4`, `A5`, and `A6` are accessible thought these connectors.
179
179
- High-Density connectors: pins `A0`, `A1`, `A2`, `A3`, `A4`, `A5`, `A6`, and `A7` are accessible thought these connectors.
@@ -344,7 +344,7 @@ The following 17 digital pins are **generic GPIO pins**; they are available thro
344
344
|`82`| GPIO |`P007`|
345
345
|`83`| GPIO |`P008`|
346
346
347
-
And the last eight digital pins are **SD-card-capable**; they are available through the High-Density connectors of the board:
347
+
The last eight digital pins are **SD-card-capable**; they are available through the High-Density connectors of the board:
@@ -448,7 +448,7 @@ The Portenta C33 has 10 digital pins with PWM functionality, mapped as follows:
448
448
449
449
The 10 PWM pins can be used through the built-in ([`analogWrite()` function](https://www.arduino.cc/reference/en/language/functions/analog-io/analogwrite)) of the Arduino programming language.
450
450
451
-
Please, refer to the [board pinout section](#pinout) of the user manual to find them on the board.
451
+
Please refer to the [board pinout section](#pinout) of the user manual to find them on the board.
452
452
453
453
- MKR-styled connectors: pins `0`, `1`, `2`, `3`, `4`, `5`, and `6` are accessible through these connectors.
454
454
- High-Density connectors: pins `0`, `1`, `2`, `3`, `4`, `5`, `7`, `8`, `9`, `23`, `24`, `25`, and `26` are accessible through these connectors.
@@ -481,7 +481,7 @@ void loop() {
481
481
delay(30);
482
482
}
483
483
```
484
-
You should now see the built-in RGB LED's green LED fade in, then fade out repeatedly.
484
+
You should now see the built-in RGB LED's green LED fade in and then fade out repeatedly.
485
485
486
486

487
487
@@ -503,7 +503,7 @@ The built-in RGB LED can be accessed through the following macro definitions:
503
503
| Blue LED |`LEDB`|
504
504
| Green LED |`LEDG` or `LED_BUILTIN`|
505
505
506
-
***The built-in RGB LED on the Portenta C33 needs to be pulled to ground to make them light up. This means that a voltage level of `LOW` on each of their pins will turn the specific color of the LED on, and a voltage level of `HIGH` will turn them off. Furthermore, invoking the `pinMode(LED_BUILTIN, OUTPUT)` instruction pulls the built-in LED LOW, which means it turns it on.***
506
+
***The built-in RGB LED on the Portenta C33 must be pulled to ground to make it light up. This means that a voltage level of `LOW` on each of their pins will turn the specific color of the LED on, and a voltage level of `HIGH` will turn them off. Furthermore, invoking the `pinMode(LED_BUILTIN, OUTPUT)` instruction pulls the built-in LED LOW, which means it turns it on.***
507
507
508
508
The following example code blinks each of the LEDs at an interval of 500 ms:
509
509
@@ -540,7 +540,7 @@ You should now see the built-in RGB LED blinking each of its LEDs repeatedly.
540
540
541
541
## Communication
542
542
543
-
This section of the user manual covers the different communication protocols that are supported by the Portenta C33 board, including the Serial Peripheral Interface (SPI), Inter-Integrated Circuit (I<sup>2</sup>C), Universal Asynchronous Receiver-Transmitter (UART), and Wi-Fi®; JTAG interface and communication via the onboard ESLOV connector is also explained in this section.
543
+
This section of the user manual covers the different communication protocols that are supported by the Portenta C33 board, including the Serial Peripheral Interface (SPI), Inter-Integrated Circuit (I2C), Universal Asynchronous Receiver-Transmitter (UART), and Wi-Fi®; JTAG interface and communication via the onboard ESLOV connector is also explained in this section.
544
544
545
545
The Portenta C33 features dedicated pins for each communication protocol, accessible through the MKR-styled connectors and the High-Density connectors, making connecting and communicating with different components, peripherals, and sensors easy.
546
546
@@ -559,7 +559,7 @@ The Portenta C33 supports SPI communication via two dedicated ports named `SPI0`
559
559
|`47` or `PIN_SPI1_SCK`|`P102`|
560
560
|`48` or `PIN_SPI1_CS`|`P103`|
561
561
562
-
Please, refer to the [board pinout section](#pinout) of the user manual to find them on the board. Include the [`SPI` library](https://reference.arduino.cc/reference/en/language/functions/communication/spi/) at the top of your sketch to use the SPI communication protocol. The SPI library provides functions for SPI communication:
562
+
Please refer to the [board pinout section](#pinout) of the user manual to find them on the board. Include the [`SPI` library](https://reference.arduino.cc/reference/en/language/functions/communication/spi/) at the top of your sketch to use the SPI communication protocol. The SPI library provides functions for SPI communication:
563
563
564
564
```arduino
565
565
#include <SPI.h>
@@ -604,7 +604,7 @@ digitalWrite(SS, HIGH);
604
604
605
605
### I2C
606
606
607
-
The Portenta C33 supports I<sup>2</sup>C communication, which allows data transmission between the board and other I<sup>2</sup>C-compatible devices. The pins used in the Portenta C33for the I<sup>2</sup>C communication protocol are the following:
607
+
The Portenta C33 supports I2C communication, which allows data transmission between the board and other I2C-compatible devices. There are three available I2C ports in the Portenta C33: `I2C0`, `I2C1`, and `I2C2`. The pins used in those interfaces for the I2C communication protocol are the following:
@@ -615,22 +615,33 @@ The Portenta C33 supports I<sup>2</sup>C communication, which allows data transm
615
615
|`39`/`SDA2`|`P302`|
616
616
|`40`/`SCL2`|`P301`|
617
617
618
-
Please, refer to the [board pinout section](#pinout) of the user manual to find them on the board. The I<sup>2</sup>C pins are also available through the onboard ESLOV connector of the Portenta C33.
618
+
To locate these pins on the board, please refer to the [board pinout section](#pinout) of the user manual. The `SDA0` and `SCL0` pins are also available through the onboard ESLOV connector of the Portenta C33.
619
+
620
+
***System integrators can use the Portenta C33's High-Density connectors to expand the signals of the board to a custom-designed daughter board or carrier. Below is the I2C pins mapping on the board's High-Density connectors and shared resources:***
The status column indicates the current status of the pins. "Free" means the pins are not in use by another resource or peripheral of the board and are available for usage, while "Shared" means the pins are used by one or several resources or peripherals of the board.
619
630
620
-
To use I<sup>2</sup>C communication, include the [`Wire` library](https://reference.arduino.cc/reference/en/language/functions/communication/wire/) at the top of your sketch. The `Wire` library provides functions for I<sup>2</sup>C communication:
631
+
To use I2C communication, include the [`Wire` library](https://reference.arduino.cc/reference/en/language/functions/communication/wire/) at the top of your sketch. The `Wire` library provides functions for I2C communication:
621
632
622
633
```arduino
623
634
#include <Wire.h>
624
635
```
625
636
626
-
In the `setup()` function, initialize the I<sup>2</sup>C library:
637
+
In the `setup()` function, initialize the I2C library:
627
638
628
639
```arduino
629
640
// Initialize the I2C communication
630
641
Wire.begin();
631
642
```
632
643
633
-
To transmit data to an I<sup>2</sup>C-compatible device, you can use the following commands:
644
+
To transmit data to an I2C-compatible device, you can use the following commands:
634
645
635
646
636
647
```arduino
@@ -656,7 +667,7 @@ Wire.write(value);
656
667
Wire.endTransmission();
657
668
```
658
669
659
-
To read data from an I<sup>2</sup>C-compatible device, you can use the `requestFrom()` function to request data from the device and the `read()` function to read the received bytes:
670
+
To read data from an I2C-compatible device, you can use the `requestFrom()` function to request data from the device and the `read()` function to read the received bytes:
660
671
661
672
```arduino
662
673
// The target device's I2C address
@@ -691,7 +702,7 @@ The Portenta C33 supports UART communication. The pins used in the Portenta C33
691
702
|`92`|`P603`|
692
703
|`93`|`P604`|
693
704
694
-
Please, refer to the board pinout section of the user manual to find them on the board. The built-in ([Serial](https://www.arduino.cc/reference/en/language/functions/communication/serial/)) library functions can use the UART pins.
705
+
Please refer to the board pinout section of the user manual to find them on the board. The built-in ([Serial](https://www.arduino.cc/reference/en/language/functions/communication/serial/)) library functions can use the UART pins.
695
706
696
707
697
708
To begin with UART communication, you'll need to configure it first. In the `setup()` function, set the baud rate (bits per second) for UART communication:
@@ -701,7 +712,7 @@ To begin with UART communication, you'll need to configure it first. In the `set
701
712
Serial.begin(9600);
702
713
```
703
714
704
-
To read incoming data, you can use a `while()` loop to continuously check for available data with the `Serial.available()` function and read individual characters with the `Serial.read()` function. The code shown above stores the incoming characters in a String variable and process the data when a line-ending character is received:
715
+
To read incoming data, you can use a `while()` loop to continuously check for available data with the `Serial.available()` function and read individual characters with the `Serial.read()` function. The code shown above stores the incoming characters in a String variable and processes the data when a line-ending character is received:
705
716
706
717
```arduino
707
718
// Variable for storing incoming data
@@ -1192,7 +1203,7 @@ You can use a [Portenta Breakout](https://store.arduino.cc/products/arduino-port
1192
1203
1193
1204
### ESLOV Connector
1194
1205
1195
-
The Portenta C33 board features an onboard ESLOV connector to extend the I<sup>2</sup>C communication bus. This connector simplifies connecting various sensors, actuators, and other modules to the Portenta C33 without soldering or wiring; Nicla family boards can also be connected to the Portenta C33 through this connector.
1206
+
The Portenta C33 board features an onboard ESLOV connector to extend the I2C communication bus. This connector simplifies connecting various sensors, actuators, and other modules to the Portenta C33 without soldering or wiring; Nicla family boards can also be connected to the Portenta C33 through this connector.
You should see the `led` variable in the **Cloud Variables** section. Navigate into **Dashboards** and select the **BUILD DASHBOARD** button; this will create a new dashboard; give your dashboard a name.
1508
+
You should see the `led` variable in the **Cloud Variables** section. Navigate into **Dashboards** and select the **BUILD DASHBOARD** button; create a new dashboard and give your dashboard a name.
0 commit comments