diff --git a/.gitignore b/.gitignore index 1cc62c3dda..c843aba095 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,5 @@ envs gatsby-* node_modules public -src \ No newline at end of file +src +.DS_Store \ No newline at end of file diff --git a/content/hardware/04.pro/carriers/edge-control/tutorials/ec-ard-3wirevalve/content.md b/content/hardware/04.pro/carriers/edge-control/tutorials/ec-ard-3wirevalve/content.md index fa24de1c5d..8bff21538d 100644 --- a/content/hardware/04.pro/carriers/edge-control/tutorials/ec-ard-3wirevalve/content.md +++ b/content/hardware/04.pro/carriers/edge-control/tutorials/ec-ard-3wirevalve/content.md @@ -73,7 +73,7 @@ void setup(){ Serial.println("Starting"); } ``` -As mentioned earlier, the 2 Input Pins of the latching circuit are primarily used to control the direction of the output signal. The `` provides various methods to access and control these pins. The command `Latching.chennalDirection(LATCHING_OUT_1, *direction*)` is a method that can be used to assign a signal direction to a specific pin on the board through the parameters. +As mentioned earlier, the 2 Input Pins of the latching circuit are primarily used to control the direction of the output signal. The `` provides various methods to access and control these pins. The command `Latching.chennalDirection(LATCHING_OUT_1, direction)` is a method that can be used to assign a signal direction to a specific pin on the board through the parameters. Inside the `loop()` you will add the instructions to open and close the valve. `Latching.channelDirection()` with the parameter `LATCHING_OUT_1` to access the 1N:1P pins and the parameters, `POSITIVE` or `NEGATIVE` for the direction. If you want the valve to open you can use the function as such, diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/compatibility.yml b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/compatibility.yml new file mode 100644 index 0000000000..ccb7cd4921 --- /dev/null +++ b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/compatibility.yml @@ -0,0 +1,8 @@ +software: + - arduino-ide + - arduino-cli + - web-editor +hardware: + boards: + - portenta-breakout + - portenta-h7 diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/featured.png b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/featured.png new file mode 100644 index 0000000000..7cbb018ca3 Binary files /dev/null and b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/featured.png differ diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/thalesPinout.svg b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/thalesPinout.svg new file mode 100644 index 0000000000..d792889d65 --- /dev/null +++ b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/thalesPinout.svg @@ -0,0 +1,8861 @@ + +image/svg+xmlGNDRXTXP1.08P1.01CIPOCOPIP1.02P0.27P1.14P1.13P1.15P1.12P1.11P1.10P1.03P0.13+3V3AREFA0P0.04A1P0.05A2P0.30A3P0.29A4P0.31A5P0.02A6P0.28A7P0.03+5VGNDVINSCKSDASCLRESETRESET~D12~D11~D10~D9~D8~D7~D6~D5~D4~D3~D2D13~P0.21P0.23P1.09P0.13PowerBUILT_IN LEDRGB LEDLED_PWRLED_BUILTINGNDPA08PA09PA21PH8PH7PI0+5V+5VAREFPA03D11PA08D0PA22D10PA19D1PA23D9PA17D2PA10D8PA16D3PA11D7PA21D4PB10D6PA20D5PB11GNDPB03D17A2VINPA02D15A0+3V3PB02D16A1RESETRSTPA04D18A3D14PB22PA05D19A4D13PB23PA06D20A5D12PA09PA07D21A6J1-FemaleJ2-Female diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/thalesShieldBackTopology.svg b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/thalesShieldBackTopology.svg new file mode 100644 index 0000000000..f5cdd3f5d0 --- /dev/null +++ b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/thalesShieldBackTopology.svg @@ -0,0 +1,308 @@ + + + Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/thalesShieldBlockDiagram.svg b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/thalesShieldBlockDiagram.svg new file mode 100644 index 0000000000..fb0608d20b --- /dev/null +++ b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/thalesShieldBlockDiagram.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/thalesShieldMeMech.svg b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/thalesShieldMeMech.svg new file mode 100644 index 0000000000..8a2d4443b0 --- /dev/null +++ b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/thalesShieldMeMech.svg @@ -0,0 +1,135 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ø2.25mm + + + + + + + + + + + + + + + + + + + + 65.99mm + + + + + + + 25.38mm + + + + + + + 61.94mm + + + + + + + 21.33mm + + + + + + + + + + 2.03mm + + diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/thalesShieldPowerTree.svg b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/thalesShieldPowerTree.svg new file mode 100644 index 0000000000..0374ebd5d3 --- /dev/null +++ b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/thalesShieldPowerTree.svg @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/thalesShieldSolutionOverview_60.png b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/thalesShieldSolutionOverview_60.png new file mode 100644 index 0000000000..eaf5d83545 Binary files /dev/null and b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/thalesShieldSolutionOverview_60.png differ diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/thalesShieldTopTopology.svg b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/thalesShieldTopTopology.svg new file mode 100644 index 0000000000..c5665a084a --- /dev/null +++ b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/assets/thalesShieldTopTopology.svg @@ -0,0 +1,176 @@ + + + Created by potrace 1.16, written by Peter Selinger 2001-2019 + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/datasheet.md b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/datasheet.md new file mode 100644 index 0000000000..9a07012eb0 --- /dev/null +++ b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/datasheet/datasheet.md @@ -0,0 +1,254 @@ +--- +identifier: ASX00027 +title: Arduino® Portenta Cat. M1/NB IoT GNSS Shield +type: pro +author: Ali Jahangiri +--- + +![Portenta Cat. M1/NB IoT GNSS Shield](assets/featured.png) + +# Description +Unleash global connectivity and positioning capabilities of your Portenta or MKR board with the **Arduino® Portenta Cat. M1/NB IoT GNSS Shield**. This shield enables cellular connectivity to both Cat. M1 and NB-IoT networks. Easily track your valuable assets across the city or worldwide with your choice of GPS, GLONASS, Galileo or BeiDou. + +# Target areas: +Internet of Things, outdoor asset tracking, positioning, cellular connectivity, fleet management + +# Features +**Note:** This board requires a compatible MKR or Portenta board to function. Use together with the Arduino® Vision Shield is not supported. +- Cinterion TX62 wireless module + - Cellular connectivity and positioning support + - Embedded IPv4 and IPv6 TCP/IP stack access + - Internet Services + - TCP server/client + - UDP client + - DNS + - Ping + - HTTP client + - FTP client + - MQTT client Secure Connection with TLS/DTLS Secure boot +- Cellular Connectivity + - LTE Cat. M1/NB1/NB2 + - 3GPP Rel.14 Compliant Protocol LTE Cat. M1/NB1/NB2 + - (UMTS BANDS: 1 / 2 / 3 / 4 / 5 / 8 / 1217) / 13 / 18 / 19 / 20 / 25 / 26 / 27 / 28 / 66 / 71 / 85 + - LTE Bands + - LTE Cat.M1 DL: max. 300 kbps, UL: max. 1.1 Mbps + - LTE Cat.NB1 DL: max. 27 kbps, UL: max. 63 kbps + - LTE Cat.NB2 DL: max. 124 kbps, UL: max. 158 kbps + - Short Messaging Service (SMS) + - Point-to-point mobile terminated (MT) and mobile originated (MO) + - Text Mode + - Protocol Data Unit (PDU) Mode +- Positioning Support + - Multiple GNSS Support + - GPS + - GLONASS + - Galileo + - BeiDou +- MKR and Portenta Compatible + - MKR requires headers + + + # Contents + +## The Board + +### Application Examples +Enter the world of global asset tracking with the **Arduino® Portenta Cat. M1/NB IoT GNSS Shield**. This shield can connect to your Portenta/MKR board enabling a wide range of applications. + +- **Global Asset tracking** +The **Arduino® Portenta Cat. M1/NB IoT GNSS Shield** provides connectivity to four major satellite positioning networks allowing you to track your inventory reliably. The multi-band cellular connectivity ensures that you can get live updates on your inventory nearly anywhere in the world. + +- **Remote node monitoring** +The **Arduino® Portenta Cat. M1/NB IoT GNSS Shield** can relay geo-tagged data from local sensors located worldwide to provide real time insight for increasing revenue of your business. + +- **Fleet management** +Manage your MaaS (Mobility as a Service) solution across the city or between borders. Track, analyse and dynamically manage your fleet to optimise fuel usage, increase your client's satisfaction and reduce transport times. Enable predictive maintenance and remote diagnostics to ensure your business runs smoothly with minimal downtime. + +### Accessories (Not Included) +- Active GNSS Antenna + +### Related Products +- Arduino® Portenta H7 (SKU: ABX00042) + +### Assembly Overview +![Preview assembly](assets/thalesShieldSolutionOverview_60.png) +*Example of a typical assembly including an Arduino® Portenta H7 and Arduino® Portenta Cat. M1/NB IoT GNSS Shield.* + +## Ratings +### Recommended Operating Conditions +| Symbol | Description | Min | Typ | Max | Unit | +| ---------------- | -------------------------------------------- | --- | --- | --- | ---- | +| Vcc | Input Voltage from Portenta | 3.2 | 3.3 | 3.4 | V | +| VGNSS | Active GNSS Antenna Bias Voltage | 2.9 | 3 | 3.1 | V | +| TOP | Operating Temperature 2 | -40 | 25 | 85 | °C | + +**(1):** See Portenta datasheet +**(2):** Temperatures under -30°C may cause instability in the TX62 operation. + + + +### Power Consumption +| Symbol | Description | Min | Typ | Max | Unit | +| ----------------------- | ------------------------------------------------------------------------------------- | --- | --- | --- | ---- | +| PSTDBY | Power consumption in standby | | TBC | | mW | +| PGPS | Power consumption for GPS geo-location at 1 Hz | | TBC | | mW | +| PCLOUD | Power consumption for sending data to Arduino Cloud at 1 Hz | | TBC | | mW | +| PGPSCLOUD_LP | Power consumption for GPS geo-location and sending data to Arduino Cloud once per hour | | TBC | | mW | + +## Functional Overview +### Block Diagram +![Portenta Cat. M1/NB IoT GNSS Shield Block Diagram](assets/thalesShieldBlockDiagram.svg) + +### Board Topology +**Top View** +![Portenta Cat. M1/NB IoT GNSS Shield Top View](assets/thalesShieldTopTopology.svg) + +| **Ref.** | **Description** | **Ref.** | **Description** | +| -------- | ----------------------------------------------------- | -------- | ------------------------------------------------- | +| DL1 | SMLP34RGB2W3 RGB LED | J1,J2 | Female High Density Connector | +| J7 | U.FL-R-SMT-1(60) micro UFL Cellular Antenna Connector | J8 | U.FL-R-SMT-1(60) micro UFL GNSS Antenna Connector | +| PB1 | TL3340AF160QG Mode Select button | PB2 | TL3340AF160QG Reset button | +| U1 | TX62-W Cellular-GNSS Module | U2,U5,U7 | 74LVCH2T45GT Level Translator | + +**Back View** +![Portenta Cat. M1/NB IoT GNSS Shield Back View](assets/thalesShieldBackTopology.svg) + +| **Ref.** | **Description** | **Ref.** | **Description** | +| -------- | ----------------------------- | -------- | ----------------------------------------------- | +| J3, J4 | Male High Density Connectors | J6 | SIM8060-6-0-14-00-A Hinged Nano SIM card module | +| U3,U4,U6 | 74LVCH2T45GT Level Translator | U8 | TC1185-3.0VCT713 3V 150mA LDO IC | + + +### Cellular Connectivity +The **Arduino® Portenta Cat. M1/NB IoT GNSS Shield** provide access to various cellular networks via the TX62-W Module (U1). It is possible to connect an external cellular antenna via a micro UFL connector (J7). Both SMS and data transfer functionality is are provided. SMS messages can be stored in the SIM card module. The modem is addressable via AT commands. Modem status is provided by the RGB LED (DL1). +**Note:** The Portenta Cat. M1/NB IoT GNSS Shield requires a physical nano SIM for cellular connectivity. eSIM is not supported at this time. + +### Positioning +Four major GNSS systems are supported by the **Arduino® Portenta Cat. M1/NB IoT GNSS Shield**. NMEA protocol is used for transmission of GNSS information. An active antenna can be connected via the micro UFL connector (J8) and has a bias voltage of 3.0V. +**Note:** GNSS and cellular services cannot be used simultaneously. +### Power Tree +![Portenta Cat. M1/NB IoT GNSS Shield Power Tree](assets/thalesShieldPowerTree.svg) +Power to the **Arduino® Portenta Cat. M1/NB IoT GNSS Shield** is provided by the host Portenta board via the high density connector. A 3.0V voltage is provided via TC1185-3.0VCT713 (U8) for the active GNSS antenna. + +## Board Operation + +**Note:** The **Arduino® Portenta Cat. M1/NB IoT GNSS Shield** requires a Portenta/MKR host board to operate. + +### Sample Sketches +Sample sketches for the **Arduino® Portenta Cat. M1/NB IoT GNSS Shield** can be found either in the “Examples” menu in the Arduino® IDE or in the “Documentation” section of the Arduino® Pro website **[4]** + +### Online Resources +Now that you have gone through the basics of what you can do with the board you can explore the endless possibilities it provides by checking exciting projects on ProjectHub **[5]**, the Arduino® Library Reference **[6]** and the online store **[7]** where you will be able to complement your board with sensors, actuators and more. + +## Mechanical Information +![Portenta Cat. M1/NB IoT GNSS Shield Mechanical Dimensions](assets/thalesShieldMeMech.svg) + +## Connector Pinouts +![Portenta Cat. M1/NB IoT GNSS Shield Pinouts](assets/thalesPinout.svg) + + +## Certifications +### Declaration of Conformity CE DoC (EU) +We declare under our sole responsibility that the products above are in conformity with the +essential requirements of the following EU Directives and therefore qualify for free movement +within markets comprising the European Union (EU) and European Economic Area (EEA). +Radio Equipment Directive (RED) 2014/53/EU + +We declare under our sole responsibility that the products above are in conformity with the +essential requirements of the following EU Directives and therefore qualify for free movement +within markets comprising the European Union (EU) and European Economic Area (EEA). +Radio Equipment Directive (RED) 2014/53/EU + + +| **Substance** | **Maximum Limit (ppm)** | +| -------------------------------------- | ----------------------- | +| Lead (Pb) | 1000 | +| Cadmium (Cd) | 100 | +| Mercury (Hg) | 1000 | +| Hexavalent Chromium (Cr6+) | 1000 | +| Poly Brominated Biphenyls (PBB) | 1000 | +| Poly Brominated Diphenyl ethers (PBDE) | 1000 | +| Bis(2-Ethylhexyl} phthalate (DEHP) | 1000 | +| Benzyl butyl phthalate (BBP) | 1000 | +| Dibutyl phthalate (DBP) | 1000 | +| Diisobutyl phthalate (DIBP) | 1000 | + +Exemptions : No exemptions are claimed. + +Arduino Boards are fully compliant with the related requirements of European Union Regulation (EC) 1907 /2006 concerning the Registration, Evaluation, Authorization and Restriction of Chemicals (REACH). We declare none of the SVHCs (https://echa.europa.eu/web/guest/candidate-list-table), the Candidate List of Substances of Very High Concern for authorization currently released by ECHA, is present in all products (and also package) in quantities totaling in a concentration equal or above 0.1%. To the best of our knowledge, we also declare that our products do not contain any of the substances listed on the "Authorization List" (Annex XIV of the REACH regulations) and Substances of Very High Concern (SVHC) in any significant amounts as specified by the Annex XVII of Candidate list published by ECHA (European Chemical Agency) 1907 /2006/EC. + +### Conflict Minerals Declaration +As a global supplier of electronic and electrical components, Arduino is aware of our obligations with regards to laws and regulations regarding Conflict Minerals, specifically the Dodd-Frank Wall Street Reform and Consumer Protection Act, Section 1502. Arduino does not directly source or process conflict minerals such as Tin, Tantalum, Tungsten, or Gold. Conflict minerals are contained in our products in the form of solder, or as a component in metal alloys. As part of our reasonable due diligence Arduino has contacted component suppliers within our supply chain to verify their continued compliance with the regulations. Based on the information received thus far we declare that our products contain Conflict Minerals sourced from conflict-free areas. + +## FCC Caution +Any Changes or modifications not expressly approved by the party responsible for compliance could void the user’s authority to operate the equipment. + +This device complies with part 15 of the FCC Rules. Operation is subject to the following two conditions: + +(1) This device may not cause harmful interference + +(2) this device must accept any interference received, including interference that may cause undesired operation. + +**FCC RF Radiation Exposure Statement:** + +1. This Transmitter must not be co-located or operating in conjunction with any other antenna or transmitter. + +2. This equipment complies with RF radiation exposure limits set forth for an uncontrolled environment. + +3. This equipment should be installed and operated with minimum distance 20cm between the radiator & your body. + +English: +User manuals for license-exempt radio apparatus shall contain the following or equivalent notice in a conspicuous location in the user manual or alternatively on the device or both. This device complies with Industry Canada license-exempt RSS standard(s). Operation is subject to the following two conditions: + +(1) this device may not cause interference + +(2) this device must accept any interference, including interference that may cause undesired operation of the device. + +French: +Le présent appareil est conforme aux CNR d’Industrie Canada applicables aux appareils radio exempts de licence. L’exploitation est autorisée aux deux conditions suivantes: + +(1) l’appareil nedoit pas produire de brouillage + +(2) l’utilisateur de l’appareil doit accepter tout brouillage radioélectrique subi, même si le brouillage est susceptible d’en compromettre le fonctionnement. + +**IC SAR Warning:** + +English +This equipment should be installed and operated with minimum distance 20 cm between the radiator and your body. + +French: +Lors de l’ installation et de l’ exploitation de ce dispositif, la distance entre le radiateur et le corps est d ’au moins 20 cm. + +**Important:** The operating temperature of the EUT can’t exceed 85℃ and shouldn’t be lower than -40℃. + +Hereby, Arduino S.r.l. declares that this product is in compliance with essential requirements and other relevant provisions of Directive 201453/EU. This product is allowed to be used in all EU member states. + +| Frequency bands | Typical Output Power | +| --------------- | -------------------- | +| 600-2100 MHz | +20 dBm ± 2 dB | + + +## Company Information + + +| Company name | Arduino S.r.l | +| --------------- | ------------------------------------------ | +| Company Address | Via Andrea Appiani, 25 20900 MONZA (Italy) | + +## Reference Documentation + +| Ref | Link | +| ---------------------------------- | --------------------------------------------------------------------------------------------------- | +| Arduino® IDE (Desktop) | https://www.arduino.cc/en/Main/Software | +| Arduino® IDE (Cloud) | https://create.arduino.cc/editor | +| Arduino® Cloud IDE Getting Started | https://create.arduino.cc/projecthub/Arduino_Genuino/getting-started-with-arduino-web-editor-4b3e4a | +| Arduino® Pro Website | https://www.arduino.cc/pro | +| Project Hub | https://create.arduino.cc/projecthub?by=part&part_id=11332&sort=trending | +| Library Reference | https://github.com/arduino/ArduinoCore-mbed/tree/master/libraries/GSM | +| Online Store | https://store.arduino.cc/ | + +## Revision History + +| **Date** | **Revision** | **Changes** | +| ---------- | ------------ | --------------- | +| 07-06-2021 | 01 | Initial Version | diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/downloads/ASX00027-datasheet.pdf b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/downloads/ASX00027-datasheet.pdf new file mode 100644 index 0000000000..00e7fe2343 Binary files /dev/null and b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/downloads/ASX00027-datasheet.pdf differ diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/downloads/ASX00027-full-pinout.pdf b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/downloads/ASX00027-full-pinout.pdf new file mode 100644 index 0000000000..fc3626045c Binary files /dev/null and b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/downloads/ASX00027-full-pinout.pdf differ diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/downloads/ASX00027-schematics.pdf b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/downloads/ASX00027-schematics.pdf new file mode 100644 index 0000000000..80d1ab787f Binary files /dev/null and b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/downloads/ASX00027-schematics.pdf differ diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/essentials.md b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/essentials.md new file mode 100644 index 0000000000..a3daba33b7 --- /dev/null +++ b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/essentials.md @@ -0,0 +1,19 @@ + + + A quick guide to installing your board with the Arduino IDE. + + + + + + The complete Arduino sketches from the Pro tutorials. + + + + + Built-in Examples are sketches included in the Arduino IDE and demonstrate all basic Arduino commands. + + Discover interesting articles, principles and techniques related to the Arduino ecosystem. + + Arduino programming language can be divided in three main parts: functions, values (variables and constants), and structure. + \ No newline at end of file diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/features.md b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/features.md new file mode 100644 index 0000000000..20e52e1469 --- /dev/null +++ b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/features.md @@ -0,0 +1,26 @@ + + +The Portenta CAT.M1/NBIOT GNSS SHIELD brings cellular communication and localization on the Portenta H7 boards. The shield leverages a **Cinterion TX62** wireless module designed for highly efficient, low-power IoT applications to deliver optimized bandwidth and performance. To use the GNSS functions you will need an antenna like [this one](https://uk.farnell.com/siretta/echo19-0-1m-ufl-s-s-17/embedded-antenna-1-575ghz-ufl/dp/2717675?ost=echo19). + + + + + + +NB-IoT and Cat-M1 are both 3GPP standardized technologies built on next generation network architecture for low power IoT connectivity. + + + + + +The Portenta Cat.M1/NB IoT GNSS Shield has been specifically designed to provide reliable connectivity to the Portenta family of boards for a wide range of telemetry applications. + + + + + +Gain direct access to the TX62 hardware using the various pads provided on the shield. + + + + diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/image.svg b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/image.svg new file mode 100644 index 0000000000..bb02071b0e --- /dev/null +++ b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/image.svg @@ -0,0 +1,739 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/interactive/ASX00027-pinout.png b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/interactive/ASX00027-pinout.png new file mode 100644 index 0000000000..4a8ed373f1 Binary files /dev/null and b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/interactive/ASX00027-pinout.png differ diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/product.md b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/product.md new file mode 100644 index 0000000000..91a610ff11 --- /dev/null +++ b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/product.md @@ -0,0 +1,8 @@ +--- +title: Portenta Cat. M1/NB IoT GNSS Shield +url_shop: https://store.arduino.cc/portenta-h7 +url_guide: /software/ide-v1/tutorials/getting-started/cores/arduino-mbed_portenta +core: arduino:mbed_portenta +--- + +Unleash global connectivity and localization capabilities of your Portenta or MKR board with the Arduino® Portenta Cat. M1/NB IoT GNSS Shield. This shield enables cellular connectivity to both Cat. M1 and NB-IoT networks with the option to use eSIM technology. Easily track your valuable assets across the city worldwide with your choice of GPS, GLONASS, Galileo or BeiDou. \ No newline at end of file diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tech-specs.md b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tech-specs.md new file mode 100644 index 0000000000..41170047cf --- /dev/null +++ b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tech-specs.md @@ -0,0 +1 @@ +Here you will find the technical specifications for the Arduino® Portenta Cat. M1/NB IoT GNSS Shield. \ No newline at end of file diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tech-specs.yml b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tech-specs.yml new file mode 100644 index 0000000000..9ad404e9af --- /dev/null +++ b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tech-specs.yml @@ -0,0 +1,16 @@ +Board: + Name: Arduino® Portenta Cat. M1/NB IoT GNSS Shield + SKU: ASX00027 +Connectivity: + LoRa Modem: TX62-W Cellular-GNSS Module + ESLOV connector: SM05B-SRSS-TB +Communication: + UART: Yes + I2C: Yes + SPI: Yes +Power: + Operating voltage: 3.3V +Dimensions: + Width: 25 mm + Length: 66 mm + Weight: 9 g diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tutorials/cheat-sheet/assets/ASX00027-pinout.png b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tutorials/cheat-sheet/assets/ASX00027-pinout.png new file mode 100644 index 0000000000..4a8ed373f1 Binary files /dev/null and b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tutorials/cheat-sheet/assets/ASX00027-pinout.png differ diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tutorials/cheat-sheet/assets/NMEA_output.png b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tutorials/cheat-sheet/assets/NMEA_output.png new file mode 100644 index 0000000000..94d3a5cadf Binary files /dev/null and b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tutorials/cheat-sheet/assets/NMEA_output.png differ diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tutorials/cheat-sheet/assets/featured.png b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tutorials/cheat-sheet/assets/featured.png new file mode 100644 index 0000000000..7cbb018ca3 Binary files /dev/null and b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tutorials/cheat-sheet/assets/featured.png differ diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tutorials/cheat-sheet/cheat-sheet.md b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tutorials/cheat-sheet/cheat-sheet.md new file mode 100644 index 0000000000..2f54197ccd --- /dev/null +++ b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tutorials/cheat-sheet/cheat-sheet.md @@ -0,0 +1,293 @@ +--- +title: 'Arduino® Portenta Cat. M1/NB IoT GNSS Shield Cheat Sheet' +description: 'Learn how to set up the Arduino® Portenta Cat. M1/NB IoT GNSS Shield and get a quick overview of the functionality. Obtain information regarding pins and how to use the different communication technologies.' +tags: + - Installation + - Cat. M1 + - NB IoT + - GNSS +author: 'Pablo Marquínez' +hardware: + - hardware/04pro/shields/portenta-cat-m1-nb-iot-gnss-shield +software: + - ide-v1 + - ide-v2 + - web-editor +--- + +![The Arduino® Portenta Cat. M1/NB IoT GNSS Shield](assets/featured.png) + +The **Arduino® Portenta Cat. M1/NB IoT GNSS Shield** is a board that enables cellular connectivity with both Cat. M1 and NB-IoT networks. Easily track your valuable assets across the city or worldwide with your choice of the GPS, GLONASS, Galileo or BeiDou Satellite navigation system. + +This article is a collection of guides, API calls and tutorials that can help you get started with the Arduino® Portenta Cat. M1/NB IoT GNSS Shield board. You can also visit the [documentation product page for the Arduino® Portenta Cat. M1/NB IoT GNSS Shield](/hardware/portenta-cat-m1-nb-iot-gnss-shield) for more in-depth tutorials about the different features. + +## Core + +The Arduino® Portenta Cat. M1/NB IoT GNSS Shield uses the libraries from the [Arduino Mbed OS Portenta core](https://github.com/arduino/ArduinoCore-mbed). + +***The libraries are included in the mbed Core version greater than 2.6.1*** + +## Installation + +### Arduino IDE 1.8.X + +The Arduino® Portenta Cat. M1/NB IoT GNSS Shield can be programmed through the **Classic Arduino IDE 1.8.X**. To install your board, you can check out the guide below: + +- [Installing the Arduino Mbed OS Portenta Boards core](/software/ide-v1/tutorials/getting-started/cores/arduino-mbed_portenta) + +### Arduino IDE 2.0.X + +The Arduino® Portenta Cat. M1/NB IoT GNSS Shield can be programmed through the **Arduino IDE 2**. To install your board, you can check out the guide below: + +- [How to use the board manager with the Arduino IDE 2.0](https://www.arduino.cc/en/Tutorial/getting-started-with-ide-v2/ide-v2-board-manager) + +### Web Editor + +The board can be programmed through the **Web Editor**. To get started with your board, you will only need to install a plugin, which is explained in the guide below: + +- [Getting started with the Web Editor](/cloud/web-editor/tutorials/getting-started/getting-started-web-editor) + +## Pins +As a Portenta family Shield it uses the High density pins to be available for the Portenta board which is being connected. +![The pinout of the Arduino® Portenta Cat. M1/NB IoT GNSS Shield.](assets/ASX00027-pinout.png) + +## GSM + +### Requirements + +The GSM Feature requires: +* An antenna (e.g [Dipole antenna, at the arduino store](https://store.arduino.cc/products/dipole-pentaband-waterproof-antenna?queryID=52d9fdab80e7fcace62aae924c084a93&_gl=1*msh8uc*_ga*MjA5OTMyMzAwMC4xNjIxNTE1OTY3*_ga_NEXN8H46L5*MTYzMDkzMzQ3NS40NS4xLjE2MzA5MzM5MTAuMA..)) at the **RF OUT** antenna connector on the top side of the shield. +* SIM Card capable of running with the CatM1 specifications (check with your provider if your Card has that feature) + +To check if our setup it's working we can open an example sketch from the GSM library inside the Mbed Portenta Core. Under **Examples > GSM > GSMClient** we open a sketch that connects to the SIM card provider, then connects to a webpage and downloads the content of it to display it inside the Serial Monitor. + +Make sure you go to the `arduino_secrets.h` tab and: +* Enter the PIN of your SIM card and store it at `SECRET_PIN`. +* Check the mobile APN of your SIM card provider, e.g "online.provider.com" and save it inside the `SECRET_APN` + +After finishing this setup compile and upload the program. If everything went fine you should see the HTML content of the web page printed in the serial monitor. +***Note: Sometimes it takes time to connect to the provider's APN, please be patient, it can take up to 30 minutes. If you cannot connect after that time, make sure you entered the correct SIM pin and the APN. If the issue persists, contact your provider and make sure they have CAT M1 enabled on your SIM card.*** + +### API + +To get familiar with the commands, you can have a look at the [MKR GSM library](https://www.arduino.cc/en/Reference/GSM) which uses the same API. + +This library contains some commands that are quite different, that's because it is using mbed APIs. In this case it uses the NetworkInterface, CellularContext and CellularDevice classes. For more information about their API visit [https://os.mbed.com/docs/mbed-os/v6.14/apis/network-interface-apis.html](https://os.mbed.com/docs/mbed-os/v6.14/apis/network-interface-apis.html). + + + +| Command | Information | +| :----------------------------------------------------: | :----------------------------------------------------------: | +| `GSM.begin(PIN, APN, USERNAME, PASSWORD, CATNB/CATM1)` | Unlock the SIM card using the PIN parameter and connects to the provider. | +| `GSMClient`| Client constructor, on the examples we define it as client | +| `GSM.getTime()`|Returns the time, you can set a new one with setTime()| +| `GSM.getLocalTime()`| Returns the local time| +| `GSM.setTime()`| Set the time, it will be saved and it can be read with getTime() | +| `GSM.debug()`| After this command, the Serial monitor will output more detailed info about the GSM class commands, connections, etc... | +| `GSMClient.connect(server,port)` | Connect to a remote server | +| `GSMClient.available()` | Check if the server that is connected to has some bytes ready to be read | +| `GSMClient.read()` | Returns data from the server | +| `GSMClient.stop()` | Disconnects from the server | + +#### Connect to Your Provider + +You need to enter the Pin code and the APN link of your provider. +The user name and password depends on the provider you have. + +This sketch will initialize the SIM card and connect to your provider's network + +```cpp +#include + +char pin[] = SECRET_PIN; //example "1234" +char apn[] = SECRET_APN; //example "live.provider.com" +char username[] = SECRET_USERNAME; +char pass[] = SECRET_PASSWORD; + +void setup() { + Serial.begin(115200); + while(!Serial) {} + + if(GSM.begin(pin, apn, username, pass, CATM1)){ + Serial.println("connected"); + // ... + } +} +``` + +#### Send a HTTP GET Request and Receive Data + +The following sketch will connect to your provider and use a HTTP GET request to get the data from the server you connect to. In this case it connects to "example.com" and prints out the content through the Serial monitor. + +```cpp +#include + +REDIRECT_STDOUT_TO(Serial); + +char pin[] = SECRET_PIN; //example "1234" +char apn[] = SECRET_APN; //example "live.provider.com" +char username[] = SECRET_USERNAME; +char pass[] = SECRET_PASSWORD; + +const char server[] = "www.example.com"; +const char* ip_address; +int port = 80; + +GSMClient client; + +void setup() { + Serial.begin(115200); + while(!Serial) {} + + GSM.begin(pin, apn, username, pass, CATNB); + + Serial.println("\nStarting connection to server..."); + // if you get a connection, report back via serial: + if (client.connect(server, port)) { + Serial.println("connected to server"); + // Make a HTTP request: + client.println("GET / HTTP/1.1"); + client.print("Host: "); + client.println(server); + client.println("Connection: close"); + client.println(); + } else { + Serial.println("unable to connect to server"); + } + +} + +void loop() { + + // if there are incoming bytes available + // from the server, read them and print them: + while (client.available()) { + char c = client.read(); + Serial.write(c); + } + + // if the server's disconnected, stop the client: + if (!client.connected()) { + Serial.println(); + Serial.println("disconnecting from server."); + client.stop(); + + // do nothing forevermore: + while (true); + } + +} +``` + +## GPS + +### Requirements + +The GSM Feature requires: +* A GPS active antenna (e.g [GPS active antenna 28dB](https://www.digikey.com/en/products/detail/adafruit-industries-llc/960/5353630)) at the **GNS ANT** antenna connector on the Top side of the shield. +* You may need a connector converter from the active GPS antenna, we used this one [Coaxial to SMA](https://www.digikey.com/en/products/detail/taoglas-limited/CAB.719/3664639) + +To check if our setup it's working we can open an example inside the GSM library from the Mbed Portenta Core, going to **Examples > GSM > GNSSClient** we will open an sketch that connects to the SIM card provider and initialize the active GPS antenna, then it will print out GPS readings. + +Make sure you go to the `arduino_secrets.h` tab and: +* introduce the PIN of the SIM card you are using and store it at `SECRET_PIN`. +* Browse to your IT provider and check the mobile APN link, e.g "online.provider.com" save it inside the `SECRET_APN` + +>**Note:** Sometimes it needs time to connect to the provider's APN, please be patient, it can take up to 30 minutes. If you can not connect after that time, make sure you introduced the correct SIM pin and the APN, if the issue continues, contact with your provider and make sure they have CAT M1 enabled on your SIM card. + +### API + + +| Command | Information | +| :--------------------------------------------------: | :----------------------------------------------------------: | +| `GPS.begin()` | Initialize the GPS modem | +| `GPS.end()` | Turn OFF the GPS modem. | +| `GPS.available()` | Check if the GPS has new data to be read. | +| `GPS.read()` | Returns a `char` with the reading from the GPS module. | +| `GPS.readAndPrint()` | Output data on the Serial monitor, only if there is new data.| +| `GPS.readAndDrop()` | Read the data and do nothing with it. | +| `GPS.checkGNSSEngine()` | Check if the GNSS modem is receiving data correctly. | + + +#### Get GPS Data + +We included an example inside the GSM example that connects to the GSM provider, then initialize the GPS antenna, gets the data and print it out on the Serial monitor. + +Open the example by going to **Examples > GSM > GNSSClient** + +The sketch: +```cpp + #include + #include + + REDIRECT_STDOUT_TO(Serial); + + #include "arduino_secrets.h" + char pin[] = SECRET_PIN; + char apn[] = SECRET_APN; + char username[] = SECRET_USERNAME; + char pass[] = SECRET_PASSWORD; + + void setup() { + Serial.begin(115200); + while (!Serial) {} + //GSM.debug(Serial); + Serial.println("\nStarting connection to GSM..."); + GSM.begin(pin, apn, username, pass, CATNB); + + Serial.println("\nEnable GNSS Engine..."); + GPS.begin(); //start and enable the GNSS engine + Serial.println("\nGNSS Engine enabled..."); + } + + void loop() { + if(GPS.available()){ + Serial.print((char) GPS.read()); + delay(1); + } + + delay(1000); + } +``` +***As you previously done, you need to set up the GSM info and fill the `arduino_secrets.h`*** + +***Remember to connect to the GSM provider and secondly connect to the GNSS (mandatory).*** + +You will see the **NMEA** data on the Serial monitor. +![NMEA log example Serial Monitor](assets/NMEA_output.png) + +#### Low Power GPS + +The GPS antenna is active, that means that it needs power to function as it has electronics inside of it. +One way to save power on your project is enabling only the GPS module when it is needed to read the data. + +You can do so as follows: + +```cpp + //Start the GPS module + GPS.begin(); + + // Print data + if(GPS.available()){ + Serial.print((char) GPS.read()); + delay(1); + } + + //stop and disable the GNSS engine + GPS.end(); +``` +***By using this method, you don't need to initialize the GPS inside the `setup()`*** + +## Conclusion + +This cheat sheet is written as a quick reference, to look up the GSM and GPS feature of this product. For a more in-depth walkthrough experience please have a look at the other tutorials. + +## Troubleshooting + +### Getting Compiling Errors Using GPS and GSM + +Make sure you included first the `GPS.h` library and then the `GSM.h` + +### Can't Upload the Sketch + +Sometimes if the GPS module is getting readings, you will not be able to upload a new sketch, double tap the reset button on your Potenta H7 and upload the new sketch. \ No newline at end of file diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tutorials/getting-started/assets/Antenna_Cat_M1.svg b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tutorials/getting-started/assets/Antenna_Cat_M1.svg new file mode 100644 index 0000000000..10e6a53992 --- /dev/null +++ b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tutorials/getting-started/assets/Antenna_Cat_M1.svg @@ -0,0 +1,745 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tutorials/getting-started/assets/Connect_Cat_M1_to_Portenta_H7.svg b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tutorials/getting-started/assets/Connect_Cat_M1_to_Portenta_H7.svg new file mode 100644 index 0000000000..362cd7b349 --- /dev/null +++ b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tutorials/getting-started/assets/Connect_Cat_M1_to_Portenta_H7.svg @@ -0,0 +1,1623 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tutorials/getting-started/getting-started.md b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tutorials/getting-started/getting-started.md new file mode 100644 index 0000000000..3bbe9f93d4 --- /dev/null +++ b/content/hardware/04.pro/shields/portenta-cat-m1-nb-iot-gnss-shield/tutorials/getting-started/getting-started.md @@ -0,0 +1,95 @@ +--- +title: 'Getting Started with the Portenta Cat. M1/NB IoT GNSS Shield' +difficulty: easy +description: "Learn how to use GSM networks to connect to a server and print it's content in the serial monitor." +tags: + - Installation + - GSM + - CATM1 + - NBIOT +author: 'Benjamin Dannegård' +hardware: + - hardware/04.pro/boards/portenta-h7 + - hardware/04pro/shields/portenta-cat-m1-nb-iot-gnss-shield + - _snippets/hardware/dipole-antenna + - _snippets/hardware/sim-card +software: + - ide-v1 + - ide-v2 + - web-editor +--- + +## Introduction + +This tutorial will show how to connect the Portenta Cat. M1/NB IoT GNSS shield to the Portenta H7, connect to a website using NBIoT or Cat-M1 technology and print the website's HTML content in the serial monitor. This will help you quickly find out if the setup successfully connects to mobile networks. + +***Note: This tutorial was created in Sweden, and as a result, the available networks are only Swedish network operators. The results will vary depending on what location you are in.*** + +## Goals + +The goals of this project are: + +- Learn how to connect the board and the shield. +- Connect to the GSM network with Cat-M1 or NBIoT. +- Print HTML content in the Serial Monitor. + +## Hardware & Software Needed + +- Arduino IDE ([online](https://create.arduino.cc/) or [offline](https://www.arduino.cc/en/main/software)). +- [Portenta H7](https://store.arduino.cc/products/portenta-h7) +- [Portenta Cat. M1/NB IoT GNSS Shield]() +- [Dipole Antenna](https://store.arduino.cc/antenna) (or equivalent product with the same frequency range). + +## Instructions + +### Circuit + +First insert the SIM card into the SIM card slot at the bottom of the Portenta Cat. M1/NB IoT GNSS Shield. The image below shows where to connect the [dipole antenna](https://store.arduino.cc/antenna) to the shield. It should connect to the antenna connector marked **RF OUT**. + +![Connect the antenna to the Portenta Cat. M1 shield](assets/Antenna_Cat_M1.svg) + +Now connect the shield to the Portenta H7. Do this by attaching it to the HD connectors at the bottom of the Portenta H7 board. Like the image shows below, the top and bottom high density connectors on the shield are connected to the corresponding ones on the underside of the H7 board. Press firmly to let it snap in. Once attached, plug the Portenta H7 into your computer using a USB C cable. + +![Connect the Portenta Cat. M1 shield with the Portenta H7](assets/Connect_Cat_M1_to_Portenta_H7.svg) + +### Arduino IDE + +Make sure that you have the latest **Arduino Mbed OS Portenta core** installed. You can install it with the board manager under **Tools > Board > Board Manager...**. With the core installed and the board selected, navigate to **file > Examples > GSM > GSMClient**. This is the example sketch we will use to test out the Cat-M1 or NBIoT connection. + +### Programming the Board + +Go to the **arduino_secrets.h** tab that opens with the example and enter the PIN of the SIM card you are using into the `SECRET_PIN` variable. Check your SIM card provider's mobile APN, e.g "online.provider.com" save it inside `SECRET_APN`. + +***Note: A standard pre-paid SIM card typically have 0000 or 1234 as a pin code. This varies from operator to operator, it is important to find out this before uploading the code. Otherwise, too many unsuccessful attempts may block the SIM card.*** + +Using `GSM.begin()` will start the GSM module using the pin and APN entered in **arduino_secrets.h**. To decide whether to use NBIoT or Cat-M1 technology we need to change the last argument. Use either `CATNB` for NBIoT or `CATM1` for Cat-M1. If you are unsure what technology to use, check with your SIM card provider to see what technology they support. + +```arduino +GSM.begin(pin, apn, username, pass, CATNB); +``` + +When the GSM module is started we can then proceed to connect to a remote server using the server url defined in the example. The port to connect to is also defined. It is set to `80` as default. + +```arduino +client.connect(server,port) +``` + +### Result of Sketch + +After finishing this setup, compile and upload the program. You should see the HTML content of the server printed in the serial monitor. As default the server is set as `example.com`. Feel free to change this and take a look at how it prints different web pages. + +### Troubleshoot + +If the code is not working, there are some common issues we can troubleshoot: + +- We have entered the wrong pin number. +- We are out of coverage (no signal). +- SIM card may not be activated. + +## Next Step + +This is a basic example of what the Portenta Cat. M1/NB IoT GNSS Shield is capable of. A good next step could be to try out the GNSS functionality. To use the GNSS functionality you will need a different antenna from the one used in this tutorial (see product page). If you would rather use the same set up as in this tutorial, but with more advanced functionality, try to send an SMS to a cellphone using the GSM connection. + +## Conclusion + +This tutorial showed how to attach the Portenta Cat. M1/NB IoT GNSS Shield to the Portenta H7. It also showed how to upload an example sketch that helps to confirm that the set up works. The website to connect to can easily be changed in the sketch. Make sure to take a look at our other tutorials for this product. diff --git a/content/hardware/05.nicla/boards/nicla-sense-me/datasheet/datasheet.md b/content/hardware/05.nicla/boards/nicla-sense-me/datasheet/datasheet.md index cfaf072db1..c789a9cd1f 100644 --- a/content/hardware/05.nicla/boards/nicla-sense-me/datasheet/datasheet.md +++ b/content/hardware/05.nicla/boards/nicla-sense-me/datasheet/datasheet.md @@ -125,15 +125,6 @@ The Nicla form factor has been specifically developed at Arduino® as a standard **Note 3:** If the internal VDDIO_EXT is disabled, it is possible to supply it externally. -### Power Consumption -| Symbol | Description | Min | Typ | Max | Unit | -| -------------------- | --------------------------------------------------------------------------------------- | --- | --- | --- | ---- | -| PSTDBY | Power consumption in standby | | TBC | | mW | -| PBLINK | Power consumption with blink sketch | | TBC | | mW | -| PSENSE | Power consumption for polling all sensors at 1 Hz | | TBC | | mW | -| PSENSE_LP | Low Power consumption for polling all sensors once per hour | | TBC | | mW | - - ## Functional Overview ### Block Diagram diff --git a/content/learn/07.built-in-libraries/04.software-serial/software-serial.md b/content/learn/07.built-in-libraries/04.software-serial/software-serial.md index 59defba09a..7f3d16145c 100644 --- a/content/learn/07.built-in-libraries/04.software-serial/software-serial.md +++ b/content/learn/07.built-in-libraries/04.software-serial/software-serial.md @@ -7,7 +7,7 @@ tags: [Serial] The SoftwareSerial library allows serial communication on other digital pins of an Arduino board, using software to replicate the functionality (hence the name "SoftwareSerial"). It is possible to have multiple software serial ports with speeds up to 115200 bps. A parameter enables inverted signaling for devices which require that protocol. -The version of SoftwareSerial included in 1.0 and later is based on the [NewSoftSerial library](http://arduiniana.org/libraries/newsoftserial/) by Mikal Hart. +The version of SoftwareSerial included in 1.0 and later is based on the [NewSoftSerial library](http://arduiniana.org/libraries/newsoftserial/) by 'Mikal Hart'. To use this library: