diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/compatibility.yml b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/compatibility.yml
new file mode 100644
index 0000000000..d6ed813844
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/compatibility.yml
@@ -0,0 +1,8 @@
+software:
+ - arduino-ide
+ - arduino-cli
+ - web-editor
+hardware:
+ boards: ~
+ carriers: ~
+ shields: ~
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/datasheet/assets/blesenseRev2_topo.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/datasheet/assets/blesenseRev2_topo.png
new file mode 100644
index 0000000000..1e5092a2b7
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/datasheet/assets/blesenseRev2_topo.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/datasheet/assets/featured.jpg b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/datasheet/assets/featured.jpg
new file mode 100644
index 0000000000..797d04c44c
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/datasheet/assets/featured.jpg differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/datasheet/assets/outline.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/datasheet/assets/outline.png
new file mode 100644
index 0000000000..9ebede92b5
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/datasheet/assets/outline.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/datasheet/assets/pinout.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/datasheet/assets/pinout.png
new file mode 100644
index 0000000000..47d013e5f0
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/datasheet/assets/pinout.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/datasheet/assets/powerTree.svg b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/datasheet/assets/powerTree.svg
new file mode 100644
index 0000000000..1ac49e4a7e
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/datasheet/assets/powerTree.svg
@@ -0,0 +1,76 @@
+
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/datasheet/assets/topologyBot.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/datasheet/assets/topologyBot.png
new file mode 100644
index 0000000000..d652b8745c
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/datasheet/assets/topologyBot.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/datasheet/datasheet.md b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/datasheet/datasheet.md
new file mode 100644
index 0000000000..10526adf18
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/datasheet/datasheet.md
@@ -0,0 +1,380 @@
+---
+identifier: ABX00069
+title: Arduino® Nano 33 BLE Sense Rev2
+type: maker
+---
+
+
+
+# Description
+
+The Arduino Nano 33 BLE Sense Rev2 is a miniature sized module containing a NINA B306 module, based on Nordic nRF52480 and containing a Cortex M4F. The BMI270 and BMM150 jointly provide a 9 axis IMU. The module can either be mounted as a DIP component (when mounting pin headers), or as a SMT component, directly soldering it via the castellated pads.
+
+# Target Areas
+
+Maker, enhancements, IoT application
+
+# Features
+
+- **NINA B306 Module**
+ - **Processor**
+ - 64 MHz Arm® Cortex®-M4F (with FPU)
+ - 1 MB Flash + 256 KB RAM
+ - **Bluetooth® 5 multiprotocol radio**
+ - 2 Mbps
+ - CSA #2
+ - Advertising Extensions
+ - Long Range
+ - +8 dBm TX power
+ - -95 dBm sensitivity
+ - 4.8 mA in TX (0 dBm)
+ - 4.6 mA in RX (1 Mbps)
+ - Integrated balun with 50 Ω single-ended output
+ - IEEE 802.15.4 radio support
+ - Thread
+ - Zigbee
+ - **Peripherals**
+ - Full-speed 12 Mbps USB
+ - NFC-A tag
+ - Arm CryptoCell CC310 security subsystem
+ - QSPI/SPI/TWI/I²S/PDM/QDEC
+ - High speed 32 MHz SPI
+ - Quad SPI interface 32 MHz
+ - EasyDMA for all digital interfaces
+ - 12-bit 200 ksps ADC
+ - 128 bit AES/ECB/CCM/AAR co-processor
+- **BMI270** 6-axis IMU (Accelerometer and Gyroscope)
+ - 16-bit
+ - 3-axis accelerometer with ±2g/±4g/±8g/±16g range
+ - 3-axis gyroscope with ±125dps/±250dps/±500dps/±1000dps/±2000dps range
+- **BMM150** 3-axis IMU (Magnetometer)
+ - 3-axis digital geomagnetic sensor
+ - 0.3μT resolution
+ - ±1300μT (x,y-axis), ±2500μT (z-axis)
+- **LPS22HB** (Barometer and temperature sensor)
+ - 260 to 1260 hPa absolute pressure range with 24 bit precision
+ - High overpressure capability: 20x full-scale
+ - Embedded temperature compensation
+ - 16-bit temperature data output
+ - 1 Hz to 75 Hz output data rateInterrupt functions: Data Ready, FIFO flags, pressure thresholds
+- **HS3003** Temperature & humidity sensor
+ - 0-100% relative humidity range
+ - Humidity accuracy: ±1.5%RH, typical (HS3001, 10 to 90%RH,25°C)
+ - Temperature sensor accuracy: ±0.1°C, typical
+ - Up to 14-bit humidity and temperature output data
+- **APDS-9960** (Digital proximity, Ambient light, RGB and Gesture Sensor)
+ - Ambient Light and RGB Color Sensing with UV and IR blocking filters
+ - Very high sensitivity – Ideally suited for operation behind dark glass
+ - Proximity Sensing with Ambient light rejection
+ - Complex Gesture Sensing
+- **MP34DT06JTR** (Digital Microphone)
+ - AOP = 122.5 dbSPL
+ - 64 dB signal-to-noise ratio
+ - Omnidirectional sensitivity
+ - –26 dBFS ± 3 dB sensitivity
+- **MP2322** DC-DC
+ - Regulates input voltage from up to 21V with a minimum of 65% efficiency @minimum load
+ - More than 85% efficiency @12V
+
+# Contents
+
+## The Board
+
+As all Nano form factor boards, Nano 33 BLE Sense Rev2 does not have a battery charger but can be powered through USB or headers.
+
+**NOTE:** Arduino Nano 33 BLE Sense Rev2 only supports 3.3V I/Os and is **NOT** 5V tolerant so please make sure you are not directly connecting 5V signals to this board or it will be damaged. Also, as opposed to Arduino Nano boards that support 5V operation, the 5V pin does NOT supply voltage but is rather connected, through a jumper, to the USB power input.
+
+### Ratings
+
+#### Recommended Operating Conditions
+
+| Symbol | Description | Min | Max |
+|--------|--------------------------------------------------|-----------------|----------------|
+| | Conservative thermal limits for the whole board: | -40 °C ( 40 °F) | 85°C ( 185 °F) |
+
+### Power Consumption
+
+| Symbol | Description | Min | Typ | Max | Unit |
+|--------|-------------------------------------|-----|-----|-----|------|
+| PBL | Power consumption with busy loop | | TBC | | mW |
+| PLP | Power consumption in low power mode | | TBC | | mW |
+| PMAX | Maximum Power Consumption | | TBC | | mW |
+
+
+
+
+## Functional Overview
+
+### Board Topology
+
+Top:
+
+
+| **Ref.** | **Description** | **Ref.** | **Description** |
+|----------|---------------------------------------------------|----------|----------------------------------|
+| U1 | NINA-B306 Module Bluetooth® Low Energy 5.0 Module | U6 | MP2322GQH Step Down Converter |
+| U2 | BMI270 Sensor IMU | PB1 | IT-1185AP1C-160G-GTR Push button |
+| U3 | MP34DT06JTR MEMS Microphone | U8 | HS3003 Humidity Sensor |
+| U7 | BMM150 Magnetometer IC | DL1 | Led L |
+| U5 | APDS-9660 Ambient Module | DL2 | Led Power |
+|U9|LPS22HBTR Pressure Sensor IC|||
+
+Bottom:
+
+
+| **Ref.** | **Description** | **Ref.** | **Description** |
+|----------|-----------------|----------|-----------------|
+| SJ1 | VUSB Jumper | SJ2 | D7 Jumper |
+| SJ3 | 3v3 Jumper | SJ4 | D8 Jumper |
+
+### Processor
+
+The Main Processor is an Arm® Cortex®-M4F running at up to 64MHz. Most of its pins are connected to the external headers, however some are reserved for internal communication with the wireless module and the on-board internal I2C peripherals (IMU and Crypto).
+
+**NOTE**: As opposed to other Arduino Nano boards, pins A4 and A5 have an internal pull up and default to be used as an I2C Bus so usage as analog inputs is not recommended.
+
+### IMU
+
+The Arduino Nano 33 BLE Sense Rev2 provides IMU capabilities with 9-axis, by combination of the BMI270 and BMM150 ICs. The BMI270 includes both a three axis gryroscope as well as an three axis accelerometer, while the BMM150 is capable of sensing magnetic field variations in all three dimensions. The information obtained can be used for measuring raw movement parameters as well as for machine learning.
+
+### LPS22HB (U9) Barometer and Temperature Sensor
+
+The LPS22HB pressure sensor IC (U9) includes both a piezoresistive absolute pressure sensor together with a temperature sensor integrated into a small chip. The pressure sensor (U9) interfaces with the main microcontroller (U1) via an I2C interface. The sensing element is composed of a micromachined suspended membrane for measuring absolute pressure, and includes a Wheatstone bridge internally for measuring the the piezoresistive elements. The temperature perturbations are compensated via an included temperature sensor on-chip. The absolute pressure can range from 260 to 1260 hPa. Pressure data can be polled via I2C at up to 24-bits, while temperature data can be polled at up to 16-bits.
+The Arduino_LPS22HB library provides a ready to use implementation of the I2C protocol with this chip.
+
+### HS3003 (U8) Relative Humidity and Temperature Sensor
+
+The HS3003 (U8) is a MEMS sensors, designed to provide accurate readings of relative humidity and temperature in a small package. Temperature-compensation and calibration is performed on-chip, without requiring external circuitry. The HS3003 can measure the relative humidity from 0% to 100%RH with fast response times (under 4 seconds). The included on-chip temperature sensor (used for compensation) is has a temperature accuracy of ±0.1°C.
+U8 communicates via the main microcontroller via an I2C bus.
+
+#### Gesture Detection
+
+Gesture detection utilizes four directional photodiodes to sense reflected IR energy (sourced by the integrated LED) to convert physical motion information (i.e. velocity, direction and distance) to a digital information. The architecture of the gesture engine features automatic activation (based on Proximity engine results), ambient light subtraction, cross-talk cancellation, dual 8-bit data converters, power saving inter-conversion delay, 32-dataset FIFO, and interrupt driven I2C communication. The gesture engine accommodates a wide range of mobile device gesturing requirements: simple UP-DOWN-RIGHT-LEFT gestures or more complex gestures can be accurately sensed. Power consumption and noise are minimized with adjustable IR LED timing.
+
+#### Proximity Detection
+
+The Proximity detection feature provides distance measurement (E.g. mobile device screen to user’s ear) by photodiode detection of reflected IR energy (sourced by the integrated LED). Detect/release events are interrupt driven, and occur whenever proximity result crosses upper and/ or lower threshold settings. The proximity engine features offset adjustment registers to compensate for system offset caused by unwanted IR energy reflections appearing at the sensor. The IR LED intensity is factory trimmed to eliminate the need for end-equipment calibration due to component variations. Proximity results are further improved by automatic ambient light subtraction.
+
+#### Color and ALS Detection
+
+The Color and ALS detection feature provides red, green, blue and clear light intensity data. Each of the R, G, B, C channels have a UV and IR blocking filter and a dedicated data converter producing16-bit data simultaneously. This architecture allows applications to accurately measure ambient light and sense color which enables devices to calculate color temperature and control display backlight.
+
+### Digital Microphone
+
+The MP34DT06JTR is an ultra-compact, low-power, omnidirectional, digital MEMS microphone built with a capacitive sensing element and an IC interface.
+
+The sensing element, capable of detecting acoustic waves, is manufactured using a specialized silicon micromachining process dedicated to produce audio sensors
+
+### Power Tree
+
+The board can be powered via USB connector, VIN or VUSB pins on headers.
+
+
+
+**NOTE:** Since VUSB feeds VIN via a Schottky diode and a DC-DC regulator specified minimum input voltage is 4.5V the minimum supply voltage from USB has to be increased to a voltage in the range between 4.8V to 4.96V depending on the current being drawn.
+
+## Board Operation
+
+### Getting Started - IDE
+
+If you want to program your Arduino Nano 33 BLE Sense Rev2 while offline you need to install the Arduino Desktop IDE [1] To connect the Arduino Nano 33 BLE Sense Rev2 to your computer, you’ll need a Micro-B USB cable. This also provides power to the board, as indicated by the LED.
+
+### Getting Started - Arduino Web Editor
+
+All Arduino boards, including this one, work out-of-the-box on the Arduino Web Editor, by just installing a simple plugin.
+
+The Arduino Web Editor is hosted online, therefore it will always be up-to-date with the latest features and support for all boards. Follow to start coding on the browser and upload your sketches onto your board.
+
+### Getting Started - Arduino IoT Cloud
+
+All Arduino IoT enabled products are supported on Arduino IoT Cloud which allows you to Log, graph and analyze sensor data, trigger events, and automate your home or business.
+
+### Sample Sketches
+
+Sample sketches for the Arduino Nano 33 BLE Sense Rev2 can be found either in the “Examples” menu in the Arduino IDE or in the “Documentation” section of the Arduino Pro website.
+
+### 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, the Arduino Library Reference and the on line store where you will be able to complement your board with sensors, actuators and more.
+
+### Board Recovery
+
+All Arduino boards have a built-in bootloader which allows flashing the board via USB. In case a sketch locks up the processor and the board is not reachable anymore via USB it is possible to enter bootloader mode by double-tapping the reset button right after power up.
+
+## Connector Pinouts
+
+
+
+### USB
+
+| Pin | **Function** | **Type** | **Description** |
+|-----|--------------|--------------|----------------------------------------------------------------------------------------|
+| 1 | VUSB | Power | Power Supply Input. If board is powered via VUSB from header this is an Output **(1)** |
+| 2 | D- | Differential | USB differential data - |
+| 3 | D+ | Differential | USB differential data + |
+| 4 | ID | Analog | Selects Host/Device functionality |
+| 5 | GND | Power | Power Ground |
+
+### Headers
+
+The board exposes two 15 pin connectors which can either be assembled with pin headers or soldered through castellated vias.
+
+| Pin | **Function** | **Type** | **Description** |
+|-----|--------------|--------------|-------------------------------------------------------------------------------------|
+| 1 | D13 | Digital | GPIO |
+| 2 | +3V3 | Power Out | Internally generated power output to external devices |
+| 3 | AREF | Analog | Analog Reference; can be used as GPIO |
+| 4 | A0/DAC0 | Analog | ADC in/DAC out; can be used as GPIO |
+| 5 | A1 | Analog | ADC in; can be used as GPIO |
+| 6 | A2 | Analog | ADC in; can be used as GPIO |
+| 7 | A3 | Analog | ADC in; can be used as GPIO |
+| 8 | A4/SDA | Analog | ADC in; I2C SDA; Can be used as GPIO **(1)** |
+| 9 | A5/SCL | Analog | ADC in; I2C SCL; Can be used as GPIO **(1)** |
+| 10 | A6 | Analog | ADC in; can be used as GPIO |
+| 11 | A7 | Analog | ADC in; can be used as GPIO |
+| 12 | VUSB | Power In/Out | Normally NC; can be connected to VUSB pin of the USB connector by shorting a jumper |
+| 13 | RST | Digital In | Active low reset input (duplicate of pin 18) |
+| 14 | GND | Power | Power Ground |
+| 15 | VIN | Power In | Vin Power input |
+| 16 | TX | Digital | USART TX; can be used as GPIO |
+| 17 | RX | Digital | USART RX; can be used as GPIO |
+| 18 | RST | Digital | Active low reset input (duplicate of pin 13) |
+| 19 | GND | Power | Power Ground |
+| 20 | D2 | Digital | GPIO |
+| 21 | D3/PWM | Digital | GPIO; can be used as PWM |
+| 22 | D4 | Digital | GPIO |
+| 23 | D5/PWM | Digital | GPIO; can be used as PWM |
+| 24 | D6/PWM | Digital | GPIO, can be used as PWM |
+| 25 | D7 | Digital | GPIO |
+| 26 | D8 | Digital | GPIO |
+| 27 | D9/PWM | Digital | GPIO; can be used as PWM |
+| 28 | D10/PWM | Digital | GPIO; can be used as PWM |
+| 29 | D11/MOSI | Digital | SPI MOSI; can be used as GPIO |
+| 30 | D12/MISO | Digital | SPI MISO; can be used as GPIO |
+
+### Debug
+
+On the bottom side of the board, under the communication module, debug signals are arranged as 3x2 test pads with 100 mil pitch with pin 4 removed. Pin 1 is depicted in Figure 3 – Connector Positions
+
+| Pin | **Function** | **Type** | **Description** |
+|-----|--------------|------------|-------------------------------------------------------------------|
+| 1 | +3V3 | Power Out | Internally generated power output to be used as voltage reference |
+| 2 | SWD | Digital | nRF52480 Single Wire Debug Data |
+| 3 | SWCLK | Digital In | nRF52480 Single Wire Debug Clock |
+| 5 | GND | Power | Power Ground |
+| 6 | RST | Digital In | Active low reset input |
+
+## Mechanical Information
+
+### Board Outline and Mounting Holes
+
+The board measures are mixed between metric and imperial. Imperial measures are used to maintain 100 mil pitch grid between pin rows to allow them to fit a breadboard whereas board length is Metric
+
+
+
+## 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).
+
+### Declaration of Conformity to EU RoHS & REACH 211 01/19/2021
+
+Arduino boards are in compliance with RoHS 2 Directive 2011/65/EU of the European Parliament and RoHS 3 Directive 2015/863/EU of the Council of 4 June 2015 on the restriction of the use of certain hazardous substances in electrical and electronic equipment.
+
+| 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 (), 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 2014/53/EU. This product is allowed to be used in all EU member states.
+
+| Frequency bands | Maximum output power (ERP) |
+|-----------------|----------------------------|
+| 863-870Mhz | TBD |
+
+## Company Information
+
+| Company name | Arduino S.r.l |
+|-----------------|-----------------------------------------|
+| Company Address | Via Andrea Appiani 25 20900 MONZA Italy |
+
+## Reference Documentation
+
+| Reference | **Link** |
+|---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Arduino IDE (Desktop) | |
+| Arduino IDE (Cloud) | |
+| Cloud IDE Getting Started | |
+| Forum | |
+| Nina B306 | |
+| Arduino_LPS22HB Library | |
+| Arduino_APDS9960 Library | |
+| ProjectHub | |
+| Library Reference | |
+
+## Revision History
+
+| Date | **Revision** | **Changes** |
+|------------|--------------|---------------------------------------|
+| 10/11/2022 | 3 | Updated to account for Rev2 changes: LSM9DS1 -> BMI270+Bmm150, HTS221 -> HS3003, MPM3610 -> MP2322, PCB modification |
+| 08/03/2022 | 2 | Reference documentation links updates |
+| 04/27/2021 | 1 | General datasheet updates |
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/downloads/ABX00069-cad-files.zip b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/downloads/ABX00069-cad-files.zip
new file mode 100644
index 0000000000..cb10abe9c9
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/downloads/ABX00069-cad-files.zip differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/downloads/ABX00069-datasheet-2.pdf b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/downloads/ABX00069-datasheet-2.pdf
new file mode 100644
index 0000000000..e94127dbb1
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/downloads/ABX00069-datasheet-2.pdf differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/downloads/schematics.pdf b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/downloads/schematics.pdf
new file mode 100644
index 0000000000..da22f8c547
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/downloads/schematics.pdf differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/essentials.md b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/essentials.md
new file mode 100644
index 0000000000..8559146779
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/essentials.md
@@ -0,0 +1,54 @@
+
+
+ All you need to know to get started with your new Arduino board.
+
+
+
+ Learn about the Nano 33 BLE Sense's onboard sensors, supported serial & wireless protocols, pins and much more.
+
+
+
+ Learn how to create your own custom hardware that is compatible with the Arduino Nano Family.
+
+
+
+ Discover interesting projects from the community based on the Nano 33 BLE Sense board.
+
+
+
+
+
+
+
+The ArduinoBLE library is designed for Arduino boards that have hardware enabled for Bluetooth® Low Energy and Bluetooth® 4.0 and above.
+
+
+
+The Arduino_BMI270_BMM150 library is designed to be used with the BMI270_BMM150 IMU system, which includes a 3-axis accelerometer, 3-axis gyroscope and a 3-axis magnetometer.
+
+
+
+The HS300x library is designed for reading temperature and humidity values from the HS300x sensor.
+
+
+
+The PDM library allows you to use PDM (Pulse-density modulation) microphones, like the MP34DT05 onboard the Arduino Nano 33 BLE Sense.
+
+
+
+The Arduino_APDS9960 library allows you to use the APDS9960 sensor available on the Arduino Nano 33 BLE Sense to read gestures, color, light intensity and proximity.
+
+
+
+
+
+
+ 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/03.nano/boards/nano-33-ble-sense-rev2/features.md b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/features.md
new file mode 100644
index 0000000000..cd22df6c09
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/features.md
@@ -0,0 +1,67 @@
+
+
+The Arduino Nano 33 BLE Sense Rev2 is a great choice for any beginner, maker or professional to get started with embedded machine learning. It is build upon the [nRF52840 microcontroller](https://content.arduino.cc/assets/Nano_BLE_MCU-nRF52840_PS_v1.1.pdf) and runs on **Arm® Mbed™ OS**. The Nano 33 BLE Sense not only features the possibility to connect via **Bluetooth® Low Energy** but also comes equipped with **sensors** to detect color, proximity, motion, temperature, humidity, audio and more.
+
+
+
+
+
+
+
+
+ A powerful 2.4 GHz Bluetooth® 5 low energy module from u-blox, with an internal antenna.
+
+
+
+
+
+
+ The combined BMI270 and BMM150 provides a 9-axis inertial measurement unit featuring a 3D accelerometer, gyroscope and magnetometer and allows you to detect orientation, motion or vibrations in your project.
+
+
+
+
+
+
+ This board can be programmed with the Python programming language via the OpenMV IDE.
+
+
+
+
+
+
+ The MP34DT06JTR microphone allows to capture and analyze sound in real time and can be used to create a voice interface for your project.
+
+
+
+
+
+
+ The APDS-9960 chip allows for measuring digital proximity and ambient light as well as for detecting RGB colors and gestures.
+
+
+
+
+
+
+ The LPS22HB picks up on barometric pressure and allows for a 24-bit pressure data output between 260 to 1260 hPa. This data can also be processed to calculate the height above sea level of the current location.
+
+
+
+
+
+
+ The HS3003 capacitive digital sensor measures relative humidity and temperature. It has a temperature accuracy of ± 0.2 °C suited to detect ambient temperature.
+
+
+
+
+
+
+
+ This board is compatible with Lauterbach TRACE32 debugger, and a free license can be obtained using the boards serial number.
+
+
+
+
+
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/image.svg b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/image.svg
new file mode 100644
index 0000000000..cf1877b4b6
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/image.svg
@@ -0,0 +1,731 @@
+
+
\ No newline at end of file
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/interactive/ABX00069-altium.zip b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/interactive/ABX00069-altium.zip
new file mode 100644
index 0000000000..cb10abe9c9
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/interactive/ABX00069-altium.zip differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/interactive/ABX00069-pinout.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/interactive/ABX00069-pinout.png
new file mode 100644
index 0000000000..1e4a42f20e
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/interactive/ABX00069-pinout.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/product.md b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/product.md
new file mode 100644
index 0000000000..fbf17373d5
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/product.md
@@ -0,0 +1,11 @@
+---
+title: Nano 33 BLE Sense Rev2
+url_shop: https://store.arduino.cc/arduino-nano-33-ble-sense-rev2
+url_guide: /software/ide-v1/installing-mbed-os-nano-boards
+core: arduino:mbed_nano
+forumCategorySlug: '/hardware/nano-family/nano-33-ble-sense-rev2/160'
+certifications: [FCC, IC, REACH, CE, RoHS, WEEE, RCM, UKCA]
+productCode: '032'
+---
+
+The Arduino Nano 33 BLE Sense Rev2 combines a tiny form factor, different environment sensors and the possibility to run AI using TinyML and TensorFlow™ Lite. Whether you are looking at creating your first embedded ML application or you want to use Bluetooth® Low Energy to connect your project to your phone, the Nano 33 BLE Sense Rev2 will make that journey easy.
\ No newline at end of file
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/suggestions.md b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/suggestions.md
new file mode 100644
index 0000000000..c27a857782
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/suggestions.md
@@ -0,0 +1,21 @@
+
+
+ Learn how to create a soundmeter using the built-in microphone on the Nano 33 BLE Sense.
+
+
+
+ Learn how to measure and print out the humidity and temperature values of your surroundings using the Nano 33 BLE Sense
+
+
+
+
+
+ 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/03.nano/boards/nano-33-ble-sense-rev2/tech-specs.md b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tech-specs.md
new file mode 100644
index 0000000000..90f93d0b84
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tech-specs.md
@@ -0,0 +1,7 @@
+**Please read: operating voltage**
+
+The microcontroller on the Arduino Nano 33 BLE Sense Rev2 runs at 3.3V, which means that you must never apply more than 3.3V to its Digital and Analog pins. Care must be taken when connecting sensors and actuators to assure that this limit of 3.3V is never exceeded. Connecting higher voltage signals, like the 5V commonly used with the other Arduino boards, will damage the Arduino Nano 33 BLE Sense Rev2.
+
+To avoid such risk with existing projects, where you should be able to pull out a Nano and replace it with the new Nano 33 BLE Sense Rev2, we have the 5V pin on the header, positioned between RST and A7 that is not connected as default factory setting. This means that if you have a design that takes 5V from that pin, it won't work immediately, as a precaution we put in place to draw your attention to the 3.3V compliance on digital and analog inputs.
+
+5V on that pin is available only when two conditions are met: you make a solder bridge on the two pads marked as VUSB and you power the Nano 33 BLE Sense Rev2 through the USB port. If you power the board from the VIN pin, you won't get any regulated 5V and therefore even if you do the solder bridge, nothing will come out of that 5V pin. The 3.3V, on the other hand, is always available and supports enough current to drive your sensors. Please make your designs so that sensors and actuators are driven with 3.3V and work with 3.3V digital IO levels. 5V is now an option for many modules and 3.3V is becoming the standard voltage for electronic ICs.
\ No newline at end of file
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tech-specs.yml b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tech-specs.yml
new file mode 100644
index 0000000000..ce861742bc
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tech-specs.yml
@@ -0,0 +1,35 @@
+Board:
+ Name: Arduino® Nano 33 BLE Sense Rev2
+ SKU: ABX00069
+Microcontroller: nRF52840
+USB connector: Micro USB
+Pins:
+ Built-in LED Pin: 13
+ Digital I/O Pins: 14
+ Analog input pins: 8
+ PWM pins: 5
+ External interrupts: All digital pins
+Connectivity:
+ Bluetooth®: NINA-B306
+Sensors:
+ IMU: BMI270 (3-axis accelerometer + 3-axis gyroscope) + BMM150 (3-axis Magnetometer)
+ Microphone: MP34DT06JTR
+ Gesture, light, proximity: APDS9960
+ Barometric pressure: LPS22HB
+ Temperature, humidity: HS3003
+Communication:
+ UART: RX/TX
+ I2C: A4 (SDA), A5 (SCL)
+ SPI: D11 (COPI), D12 (CIPO), D13 (SCK). Use any GPIO for Chip Select (CS).
+Power:
+ I/O Voltage: 3.3V
+ Input voltage (nominal): 5-18V
+ DC Current per I/O Pin: 10 mA
+Clock speed:
+ Processor: nRF52840 64MHz
+Memory:
+ nRF52840: 256 KB SRAM, 1MB flash
+Dimensions:
+ Weight: 5gr
+ Width: 18 mm
+ Length: 45 mm
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/barometric-sensor b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/barometric-sensor
new file mode 120000
index 0000000000..2ab35746dd
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/barometric-sensor
@@ -0,0 +1 @@
+../../nano-33-ble-sense/tutorials/barometric-sensor
\ No newline at end of file
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/ble-device-to-device b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/ble-device-to-device
new file mode 120000
index 0000000000..c2e1ac40f4
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/ble-device-to-device
@@ -0,0 +1 @@
+../../nano-33-ble-sense/tutorials/ble-device-to-device
\ No newline at end of file
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/bluetooth b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/bluetooth
new file mode 120000
index 0000000000..96128fab05
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/bluetooth
@@ -0,0 +1 @@
+../../nano-33-ble-sense/tutorials/bluetooth
\ No newline at end of file
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_ble.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_ble.png
new file mode 100644
index 0000000000..b020599288
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_ble.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_gesture.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_gesture.png
new file mode 100644
index 0000000000..a4cbb7c7d9
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_gesture.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_imu.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_imu.png
new file mode 100644
index 0000000000..65f7491746
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_imu.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_microphone.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_microphone.png
new file mode 100644
index 0000000000..e4878103eb
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_microphone.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_pressure.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_pressure.png
new file mode 100644
index 0000000000..56463f50cc
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_pressure.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_rev2.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_rev2.png
new file mode 100644
index 0000000000..fae939ce71
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_rev2.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_temperature.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_temperature.png
new file mode 100644
index 0000000000..e0be7d16aa
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_temperature.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_vusb.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_vusb.png
new file mode 100644
index 0000000000..ded30e7408
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/Nano33_ble_sense_vusb.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/pinout.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/pinout.png
new file mode 100644
index 0000000000..1e4a42f20e
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/assets/pinout.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/ble-cheat-sheet.md b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/ble-cheat-sheet.md
new file mode 100644
index 0000000000..85519da4fe
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/cheat-sheet/ble-cheat-sheet.md
@@ -0,0 +1,538 @@
+---
+title: 'Nano 33 BLE Sense Rev2 Cheat Sheet'
+description: 'Learn how to set up the Nano 33 BLE Sense Rev2, get a quick overview of the components, information regarding pins and how to use different Serial (SPI, I2C, UART) and Wireless (Wi-Fi, Bluetooth®) protocols.'
+tags:
+ - Installation
+ - I2C
+ - SPI
+ - UART
+ - Bluetooth®
+ - IMU
+author: 'Benjamin Dannegård'
+libraries:
+ - name: Arduino BMI270_BMM150
+ url: https://www.arduino.cc/reference/en/libraries/arduino_bmi270_bmm150/
+ - name: Arduino HS300x
+ url: https://www.arduino.cc/en/Reference/ArduinoHS300x
+ - name: Arduino APDS9960
+ url: https://www.arduino.cc/en/Reference/ArduinoAPDS9960
+ - name: Arduino SPI
+ url: https://www.arduino.cc/en/reference/SPI
+ - name: Arduino Wire
+ url: https://www.arduino.cc/en/Reference/Wire
+ - name: ArduinoBLE
+ url: https://www.arduino.cc/en/Reference/ArduinoBLE
+hardware:
+ - hardware/03.nano/boards/nano-33-ble-sense-rev2
+software:
+ - ide-v1
+ - ide-v2
+ - web-editor
+ - iot-cloud
+---
+
+
+
+This article is a collection of guides, API calls, libraries and tutorials that can help you get started with the Nano 33 BLE Sense Rev2 board.
+
+You can also visit the [documentation platform for the Nano 33 BLE Sense Rev2](/hardware/nano-33-ble-sense-rev2).
+
+## Core
+
+The Nano 33 BLE Sense Rev2 uses the [Arduino Mbed OS Nano Boards core](https://github.com/arduino/ArduinoCore-mbed).
+
+## Datasheet
+
+The full datasheet is available as a downloadable PDF from the link below:
+
+- [Download the Arduino Nano 33 BLE Sense Rev2 datasheet](docs.arduino.cc/resources/datasheets/ABX00069-datasheet.pdf)
+
+## Installation
+
+### Arduino IDE 1.8.X
+
+The Nano 33 BLE Sense Rev2 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 Nano Boards core](/software/ide-v1/tutorials/getting-started/cores/arduino-mbed_nano)
+
+### Arduino IDE 2.0.X
+
+The Nano 33 BLE Sense Rev2 can be programmed through the **Arduino IDE 2.0.X**. To install your board, you can check out the guide below:
+
+- [How to use the board manager with the Arduino IDE 2.0](/software/ide-v2/tutorials/ide-v2-board-manager)
+
+### Web Editor
+
+The Nano 33 BLE Sense Rev2 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)
+
+## Using OpenMV IDE
+
+If you want to use your board with MicroPython and OpenMV. Follow the tutorial below.
+
+- [Getting started with OpenMV with Nano 33 BLE Sense Rev2](/tutorials/nano-33-ble-sense/getting-started-omv)
+
+If you want an overlook of the functions and features that MicroPython provides, take a look at the tutorial below.
+
+- [MicroPython functions and syntax guide](/tutorials/nano-33-ble-sense/ble-sense-python-api)
+
+### Forcing Bootloader
+
+There is a risk that the uploading process gets stuck during an upload. If this happens, we can double-tap the reset button, to forcefully trigger the bootloader.
+
+## Pins
+
+
+
+### Analog Pins
+
+The Nano 33 BLE Sense Rev2 has 8 analog pins, that can be used through the `analogRead()` function.
+
+```arduino
+value = analogRead(pin, value);
+```
+
+***Please note: pin `A4` and `A5` should be used for I2C only.***
+
+
+### PWM Pins
+
+Pins **D2-D12** and **A0-A7** supports PWM (Pulse Width Modulation).
+***Pins A4, A5 and D11, D12 are not recommended for PWM as they have I2C & SPI buses attached.***
+
+```arduino
+analogWrite(pin, value);
+```
+
+### Digital Pins
+
+There are a total of 14 digital pins.
+
+
+To use them, we first need to define them inside the `void setup()` function of our sketch.
+
+
+```arduino
+pinMode(pin, INPUT); //configured as an input
+pinMode(pin, OUTPUT); //configured as an output
+pinMode(pin, INPUT_PULLUP); //uses the internal 10k ohm resistor
+```
+
+To read the state of a digital pin:
+
+```arduino
+state = digitalRead(pin);
+```
+
+To write a state to a digital pin:
+
+```arduino
+digitalWrite(pin, HIGH);
+```
+
+### 5V Pin
+
+The microcontroller on the Arduino Nano 33 BLE Sense Rev2 runs at 3.3V, which means that you must never apply more than 3.3V to its Digital and Analog pins. Care must be taken when connecting sensors and actuators to assure that this limit of 3.3V is never exceeded. Connecting higher voltage signals, like the 5V commonly used with the other Arduino boards, will damage the Arduino Nano 33 BLE Sense Rev2.
+
+To avoid such risk with existing projects, where you should be able to pull out a Nano and replace it with the new Nano 33 BLE Sense, we have the 5V pin on the header, positioned between RST and A7 that is not connected as default factory setting. This means that if you have a design that takes 5V from that pin, it won't work immediately, as a precaution we put in place to draw your attention to the 3.3V compliance on digital and analog inputs.
+
+5V on that pin is available only when two conditions are met: you make a solder bridge on the two pads marked as VUSB and you power the Nano 33 BLE Sense Rev2 through the USB port. If you power the board from the VIN pin, you won't get any regulated 5V and therefore even if you do the solder bridge, nothing will come out of that 5V pin. The 3.3V, on the other hand, is always available and supports enough current to drive your sensors. Please make your designs so that sensors and actuators are driven with 3.3V and work with 3.3V digital IO levels. 5V is now an option for many modules and 3.3V is becoming the standard voltage for electronic ICs.
+
+
+
+## IMU
+
+
+
+### BMI270 and BMM150
+
+The Arduino Nano 33 BLE Sense Rev2 Inertial Measurement Unit system is made up of two separate IMUs, a 6-axis BMI270 and a 3-axis BMM150, effectively giving you a 9-axis IMU system. This allows you to detect orientation, motion, or vibrations in your project.
+
+### BMI270 and BMM150 Library
+
+To access the data from the IMU system, we need to install the [BMI270_BMM150](https://github.com/arduino-libraries/Arduino_BMI270_BMM150) library, which comes with examples that can be used directly with the Nano 33 BLE Sense Rev2.
+
+It can be installed directly from the library manager through the IDE of your choice. To use it, we need to include it at the top of the sketch:
+
+```arduino
+#include "Arduino_BMI270_BMM150.h"
+```
+
+And to initialize the library, we can use the following command inside `void setup()`.
+
+```arduino
+ if (!IMU.begin()) {
+ Serial.println("Failed to initialize IMU!");
+ while (1);
+ }
+```
+
+### Accelerometer
+
+The accelerometer data can be accessed through the following commands:
+
+```arduino
+ float x, y, z;
+
+ if (IMU.accelerationAvailable()) {
+ IMU.readAcceleration(x, y, z);
+ }
+```
+
+### Gyroscope
+
+The gyroscope data can be accessed through the following commands:
+
+```arduino
+ float x, y, z;
+
+ if (IMU.gyroscopeAvailable()) {
+ IMU.readGyroscope(x, y, z);
+ }
+```
+
+### Magnetometer
+
+The magnetometer data can be accessed through the following commands:
+
+```arduino
+ float x, y, z;
+
+ IMU.readMagneticField(x, y, z);
+```
+
+### Tutorials
+
+If you want to learn more on how to use the IMU, please check out the tutorial below:
+
+- [Accessing IMU gyroscope data with Nano 33 BLE Sense Rev2](/tutorials/nano-33-ble-sense-rev2/imu_gyroscope)
+- [Accessing IMU accelerometer data with Nano 33 BLE Sense Rev2](/tutorials/nano-33-ble-sense-rev2/imu_accelerometer)
+- [Accessing IMU magnetometer data with Nano 33 BLE Sense Rev2](/tutorials/nano-33-ble-sense-rev2/imu_magnetometer)
+
+## Proximity and Gesture Detection
+
+
+
+### APDS9960
+
+The **APDS9960** chip allows for measuring digital proximity and ambient light as well as for detecting RGB colors and gestures.
+
+### APDS9960 Library
+
+To access the data from the APDS9960 module, we need to install the [APDS9960](https://github.com/arduino-libraries/Arduino_APDS9960) library, which comes with examples that can be used directly with the Nano 33 BLE Sense Rev2.
+
+It can be installed directly from the library manager through the IDE of your choice. To use it, we need to include it at the top of the sketch:
+
+```arduino
+#include
+```
+
+And to initialize the library, we can use the following command inside `void setup()`.
+
+```arduino
+if (!APDS.begin()) {
+ Serial.println("Error initializing APDS9960 sensor!");
+}
+```
+
+Then we check if there is data available from the proximity sensor. If there is we can print the value in the serial monitor. The value can range between 0-255, where 0 is close and 255 is far away. If it prints the value -1, it indicates an error.
+
+```arduino
+if (APDS.proximityAvailable()) {
+ Serial.println(APDS.readProximity());
+}
+```
+
+### Tutorials
+
+If you want to learn more on how to use the proximity sensor, please check out the tutorial below:
+
+- [Proximity Detection with the Nano 33 BLE Sense](https://docs.arduino.cc/tutorials/nano-33-ble-sense/proximity_sensor)
+- [Gesture Recognition with the Nano 33 BLE Sense](https://docs.arduino.cc/tutorials/nano-33-ble-sense/gesture_sensor)
+
+## Temperature and Humidity Sensor
+
+
+
+### HS3003
+
+The **HS3003** capacitive digital sensor measures relative humidity and temperature. It has a temperature accuracy of ± 0.5 °C (between 15-40 °C) and is thereby perfectly suited to detect ambient temperature.
+
+### HS3003 Library
+
+To access the data from the HS3003 module, we need to install the [HS3003](https://github.com/arduino-libraries/Arduino_HS3003) library, which comes with examples that can be used directly with the Nano 33 BLE Sense Rev2.
+
+It can be installed directly from the library manager through the IDE of your choice. To use it, we need to include it at the top of the sketch:
+
+```arduino
+#include
+```
+
+And to initialize the library, we can use the following command inside `void setup()`.
+
+```arduino
+if (!HS300x.begin()) {
+ Serial.println("Failed to initialize humidity temperature sensor!");
+}
+```
+
+Then we can print our values in the serial monitor to check the temperature and humidity values.
+
+```arduino
+Serial.println(HS300x.readTemperature());
+Serial.println(HS300x.readHumidity());
+```
+
+### Tutorial
+
+If you want to learn more on how to use the temperature and humidity sensor, please check out the tutorial below:
+
+- [Reading Temperature & Humidity on Nano 33 BLE Sense Rev2](https://docs.arduino.cc/tutorials/nano-33-ble-sense-rev2/humidity_and_temperature_sensor)
+
+## Pressure Sensor
+
+
+
+### LPS22HB
+
+The **LPS22HB** picks up on barometric pressure and allows for a 24-bit pressure data output between 260 to 1260 hPa. This data can also be processed to calculate the height above sea level of the current location.
+
+### LPS22HB Library
+
+To access the data from the LPS22HB module, we need to install the [LPS22HB](https://github.com/arduino-libraries/Arduino_LPS22HB) library, which comes with examples that can be used directly with the Nano 33 BLE Sense Rev2.
+
+It can be installed directly from the library manager through the IDE of your choice. To use it, we need to include it at the top of the sketch:
+
+```arduino
+#include
+```
+
+And to initialize the library, we can use the following command inside `void setup()`.
+
+```arduino
+if (!BARO.begin()) {
+ Serial.println("Failed to initialize pressure sensor!");
+}
+```
+
+Then we can read the values from the sensor using the code below.
+
+```arduino
+BARO.readPressure();
+```
+
+### Tutorial
+
+If you want to learn more on how to use the temperature and humidity sensor, please check out the tutorial below:
+
+- [Access Barometric Pressure Sensor Data on Nano 33 BLE Sense Rev2](https://docs.arduino.cc/tutorials/nano-33-ble-sense-rev2/barometric_sensor)
+
+## Microphone
+
+
+
+### MP34DT06JTR
+
+The **MP34DT06JTR** is a compact, low-power omnidirectional digital MEMS microphone with an IC interface. It has a 64 dB signal-to-noise ratio, is capable of sensing acoustic waves and can operate in temperatures of -40 °C to +85 °C.
+
+### PDM Library
+
+To access the data from the MP34DT06JTR, we need to use the [PDM](https://www.arduino.cc/en/Reference/PDM) library that is included in the **Arduino Mbed OS Nano Boards** core. If the core is installed, you will find an example that works by browsing **File > Examples > PDM > PDMSerialPlotter**.
+
+***Please note: The sampling frequency in the PDMSerialPlotter example is set to 16000 Hz. If the microphone appears to not be working (monitor is printing a value of -128), try to change this rate to 20000 Hz. You can change this at the top of the PDMSerialPlotter example sketch.***
+
+```arduino
+static const int frequency = 20000; //frequency at 20 KHz instead of 16 KHz
+```
+
+### Tutorial
+
+If you want to learn more on how to use the Microphone, please check out the tutorial below:
+
+- [Controlling the On-Board RGB LED with Microphone](https://docs.arduino.cc/tutorials/nano-33-ble-sense/microphone_sensor)
+
+## RGB
+
+To turn ON the pixels, write a `HIGH` state to the LED:
+
+```arduino
+digitalWrite(LEDR, HIGH); //RED
+digitalWrite(LEDG, HIGH); //GREEN
+digitalWrite(LEDB, HIGH); //BLUE
+```
+
+To turn OFF the pixels, write a `LOW` state to the LED:
+
+```arduino
+digitalWrite(LEDR, LOW); //RED
+digitalWrite(LEDG, LOW); //GREEN
+digitalWrite(LEDB, LOW); //BLUE
+```
+
+We can also choose a value between 255 - 0 to write to the LED:
+
+```arduino
+analogWrite(LEDR, 72); //GREEN
+analogWrite(LEDG, 122); //BLUE
+analogWrite(LEDB, 234); //RED
+```
+
+## Communication
+
+Like other Arduino® products, the Nano 33 BLE Sense Rev2 features dedicated pins for different protocols.
+
+### SPI
+
+The pins used for SPI (Serial Peripheral Interface) on the Nano 33 BLE Sense Rev2 are the following:
+
+- (CIPO) - D12
+- (COPI) - D11
+- (SCK) - D13
+- (CS/SS) - Any GPIO
+
+***The signal names MOSI, MISO and SS has been replaced by COPI (Controller Out, Peripheral In), CIPO (Controller In, Peripheral Out) and CS (Chip Select).***
+
+To use SPI, we first need to include the [SPI](https://www.arduino.cc/en/reference/SPI) library.
+
+```arduino
+#include
+```
+
+Inside `void setup()` we need to initialize the library.
+
+```arduino
+SPI.begin();
+```
+
+And to write to the device:
+
+```arduino
+ digitalWrite(chipSelectPin, LOW); //pull down the CS pin
+
+ SPI.transfer(address); // address for device, for example 0x00
+ SPI.transfer(value); // value to write
+
+ digitalWrite(chipSelectPin, HIGH); // pull up the CS pin
+```
+
+
+### I2C
+
+The pins used for I2C (Inter-Integrated Circuit) on the Nano 33 BLE Sense Rev2 are the following:
+
+- (SDA) - A4
+- (SCL) - A5
+
+To use I2C, we can use the [Wire](https://www.arduino.cc/en/Reference/wire) library, which we need to include at the top of our sketch.
+
+```arduino
+#include
+```
+
+Inside `void setup()` we need to initialize the library.
+
+```arduino
+Wire.begin();
+```
+
+And to write something to a device connected via I2C, we can use the following commands:
+
+```arduino
+ Wire.beginTransmission(1); //begin transmit to device 1
+ Wire.write(byte(0x00)); //send instruction byte
+ Wire.write(val); //send a value
+ Wire.endTransmission(); //stop transmit
+```
+
+### UART
+
+The pins used for UART (Universal asynchronous receiver-transmitter) are the following:
+
+- (Rx) - D0
+- (Tx) - D1
+
+To send and receive data through UART, we will first need to set the baud rate inside `void setup()`.
+
+```arduino
+Serial1.begin(9600);
+```
+
+To read incoming data, we can use a while loop() to read each individual character and add it to a string.
+
+```arduino
+ while(Serial1.available()){
+ delay(2);
+ char c = Serial1.read();
+ incoming += c;
+ }
+```
+
+And to write something, we can use the following command:
+
+```arduino
+Serial1.write("Hello world!");
+```
+
+## Connectivity
+
+The Nano 33 BLE Sense Rev2 supports Bluetooth® through the [u-blox NINA-B306](https://docs.arduino.cc/resources/datasheets/NINA-B3-series.pdf) module. To use this module, we can use the [ArduinoBLE](https://www.arduino.cc/en/Reference/ArduinoBLE) library.
+
+
+
+## Bluetooth®
+
+To enable Bluetooth® on the Nano 33 BLE Sense Rev2, we can use the [ArduinoBLE](https://www.arduino.cc/en/Reference/ArduinoBLE) library, and include it at the top of our sketch:
+
+```arduino
+#include
+```
+
+Set the service and characteristic:
+
+```arduino
+BLEService ledService("180A"); // BLE LED Service
+BLEByteCharacteristic switchCharacteristic("2A57", BLERead | BLEWrite);
+```
+
+Set advertised name and service:
+
+```arduino
+ BLE.setLocalName("Nano 33 BLE Sense Rev2");
+ BLE.setAdvertisedService(ledService);
+```
+
+Start advertising:
+
+```arduino
+BLE.advertise();
+```
+
+Listen for Bluetooth® Low Energy peripherals to connect:
+
+```arduino
+BLEDevice central = BLE.central();
+```
+
+### Tutorials
+
+- [Controlling Nano 33 BLE Sense Rev2 RGB LED via Bluetooth®](/tutorials/nano-33-ble-sense/bluetooth)
+
+## USB Keyboard
+
+To use the board as a keyboard, you can refer to the [USBHID](https://github.com/arduino/ArduinoCore-mbed/tree/master/libraries/USBHID) library that can be found inside the core.
+
+You first need to include the libraries and create an object:
+
+```arduino
+#include "PluggableUSBHID.h"
+#include "USBKeyboard.h"
+
+USBKeyboard Keyboard;
+```
+
+Then use the following command to write something:
+
+```arduino
+Keyboard.printf("This is Nano 33 speaking!");
+```
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/community-projects b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/community-projects
new file mode 120000
index 0000000000..0086171e0f
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/community-projects
@@ -0,0 +1 @@
+../../nano-33-ble-sense/tutorials/community-projects
\ No newline at end of file
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/edge-impulse b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/edge-impulse
new file mode 120000
index 0000000000..f9671a04cc
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/edge-impulse
@@ -0,0 +1 @@
+../../nano-33-ble-sense/tutorials/edge-impulse
\ No newline at end of file
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/gesture-sensor b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/gesture-sensor
new file mode 120000
index 0000000000..1a8379325c
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/gesture-sensor
@@ -0,0 +1 @@
+../../nano-33-ble-sense/tutorials/gesture-sensor
\ No newline at end of file
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/BoardsManager.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/BoardsManager.png
new file mode 100644
index 0000000000..70f5f6ed44
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/BoardsManager.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/Untitled-2-1024x578.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/Untitled-2-1024x578.png
new file mode 100644
index 0000000000..f9e388bc40
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/Untitled-2-1024x578.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/colab.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/colab.png
new file mode 100644
index 0000000000..ce6dd06858
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/colab.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/create-lib.gif b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/create-lib.gif
new file mode 100644
index 0000000000..58bb7d33b3
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/create-lib.gif differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/ezgif-1-c5bdaa9f0bee.gif b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/ezgif-1-c5bdaa9f0bee.gif
new file mode 100644
index 0000000000..d3e82dc72d
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/ezgif-1-c5bdaa9f0bee.gif differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/gestureClassifier.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/gestureClassifier.png
new file mode 100644
index 0000000000..b88684c0a9
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/gestureClassifier.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/libManager.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/libManager.png
new file mode 100644
index 0000000000..3b40465015
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/libManager.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/micro.gif b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/micro.gif
new file mode 100644
index 0000000000..8834f5fd96
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/micro.gif differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/modelTab.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/modelTab.png
new file mode 100644
index 0000000000..5ae41c7d44
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/modelTab.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/nanosenseble.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/nanosenseble.png
new file mode 100644
index 0000000000..6936a76ed2
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/nanosenseble.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/plot-1.gif b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/plot-1.gif
new file mode 100644
index 0000000000..a3d2efa763
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/plot-1.gif differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/trainingData.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/trainingData.png
new file mode 100644
index 0000000000..13ab3e06f7
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/trainingData.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/upload.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/upload.png
new file mode 100644
index 0000000000..03ae6c1721
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/assets/upload.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/get-started-with-machine-learning.md b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/get-started-with-machine-learning.md
new file mode 100644
index 0000000000..a42db54ffb
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/get-started-with-machine-learning/get-started-with-machine-learning.md
@@ -0,0 +1,486 @@
+---
+title: 'Get Started With Machine Learning on Arduino'
+difficulty: intermediate
+compatible-products: [nano-33-ble-sense-rev2]
+description: 'Learn how to train and use machine learning models with the Arduino Nano 33 BLE Sense Rev2'
+tags:
+ - Machine learning
+ - Tensorflow Lite Micro
+author: 'Sandeep Mistry and Dominic Pajak'
+libraries:
+ - name: Arduino_TensorFlowLite
+ url: https://www.arduino.cc/reference/en/libraries/arduino_tensorflowlite/
+ - name: Arduino_BMI270_BMM150
+ url: https://www.arduino.cc/reference/en/libraries/arduino_bmi270_bmm150/
+hardware:
+ - hardware/03.nano/boards/nano-33-ble-sense-rev2
+software:
+ - web-editor
+ - Arduino IDE
+ - Google Colab
+---
+***This post was originally published by Sandeep Mistry and Dominic Pajak on the [TensorFlow blog](https://medium.com/tensorflow/how-to-get-started-with-machine-learning-on-arduino-7daf95b4157).***
+## Introduction
+
+[Arduino](https://www.arduino.cc/) is on a mission to make machine learning simple enough for anyone to use. We’ve been working with the TensorFlow Lite team over the past few months and are excited to show you what we’ve been up to together: bringing TensorFlow Lite Micro to the [Arduino Nano 33 BLE Sense Rev2](https://store.arduino.cc/arduino-nano-33-ble-sense-rev2). In this article, we’ll show you how to install and run several new [TensorFlow Lite Micro](https://www.tensorflow.org/lite/microcontrollers/overview) examples that are now available in the [Arduino Library Manager](https://www.arduino.cc/en/guide/libraries).
+
+The first tutorial below shows you how to install a neural network on your Arduino board to recognize simple voice commands.
+
+
+
+Next, we’ll introduce a more in-depth tutorial you can use to train your own custom gesture recognition model for Arduino using TensorFlow in Colab. This material is based on a practical workshop held by Sandeep Mistry and Don Coleman, an updated version of which is [now online](https://github.com/arduino/ArduinoTensorFlowLiteTutorials/tree/master/GestureToEmoji).
+
+If you have previous experience with Arduino, you may be able to get these tutorials working within a couple of hours. If you’re entirely new to microcontrollers, it may take a bit longer.
+
+
+
+We’re excited to share some of the first examples and tutorials, and to see what you will build from here. Let’s get started!
+
+
+
+**Note:** The following projects are based on TensorFlow Lite for Microcontrollers which is currently experimental within the [TensorFlow repo](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/experimental/micro). This is still a new and emerging field!
+
+## Goals
+- Learn the fundamentals of TinyML implementation and training.
+- Use the [BMI270_BMM150](https://www.arduino.cc/reference/en/libraries/arduino_bmi270_bmm150/) and [Arduino_TensorFlowLite](https://www.arduino.cc/reference/en/libraries/arduino_tensorflowlite/) libraries
+
+## Hardware & Software Needed
+- An [Arduino Nano 33 BLE Sense Rev2](https://store.arduino.cc/nano-33-ble-sense) board
+- A Micro USB cable to connect the Arduino board to your desktop machine
+- To program your board, you can use the [Arduino Web Editor](https://www.arduino.cc/en/main/software) or install the [Arduino IDE](https://www.arduino.cc/en/main/software). We’ll give you more details on how to set these up in the following sections
+
+The Arduino Nano 33 BLE Sense Rev2 has a variety of onboard sensors meaning potential for some cool TinyML applications:
+
+- Voice – digital microphone
+- Motion – 9-axis IMU (accelerometer, gyroscope, magnetometer)
+- Environmental – temperature, humidity and pressure
+- Light – brightness, color and object proximity
+
+Unlike classic Arduino Uno, the board combines a microcontroller with onboard sensors which means you can address many use cases without additional hardware or wiring. The board is also small enough to be used in end applications like wearables. As the name suggests it has Bluetooth® Low Energy connectivity so you can send data (or inference results) to a laptop, mobile app or other Bluetooth® Low Energy boards and peripherals.
+
+**Tip: Sensors on a USB stick** – Connecting the BLE Sense board over USB is an easy way to capture data and add multiple sensors to single board computers without the need for additional wiring or hardware – a nice addition to a Raspberry Pi, for example.
+
+## Microcontrollers and TinyML
+Microcontrollers, such as those used on Arduino boards, are low-cost, single chip, self-contained computer systems. They’re the invisible computers embedded inside billions of everyday gadgets like wearables, drones, 3D printers, toys, rice cookers, smart plugs, e-scooters, washing machines. The trend to connect these devices is part of what is referred to as the Internet of Things.
+
+Arduino is an open-source platform and community focused on making microcontroller application development accessible to [everyone](https://create.arduino.cc/projecthub). The [board](https://store.arduino.cc/usa/nano-33-ble-sense) we’re using here has an Arm Cortex-M4 microcontroller running at 64 MHz with 1 MB Flash memory and 256 KB of RAM. This is tiny in comparison to cloud, PC, or mobile but reasonable by microcontroller standards.
+
+
+
+There are practical reasons you might want to squeeze ML on microcontrollers, including:
+
+- Function – wanting a smart device to act quickly and locally (independent of the Internet).
+- Cost – accomplishing this with simple, lower cost hardware.
+- Privacy – not wanting to share all sensor data externally.
+- Efficiency – smaller device form-factor, energy-harvesting or longer battery life.
+
+There’s a final goal which we’re building towards that is very important:
+
+- Machine learning can make microcontrollers accessible to developers who don’t have a background in embedded development
+
+On the machine learning side, there are techniques you can use to fit neural network models into memory constrained devices like microcontrollers. One of the key steps is the [quantization of the weights](https://petewarden.com/2016/05/03/how-to-quantize-neural-networks-with-tensorflow/) from floating point to 8-bit integers. This also has the effect of making inference quicker to calculate and more applicable to lower clock-rate devices.
+
+TinyML is an emerging field and there is still work to do – but what’s exciting is there’s a vast unexplored application space out there. Billions of microcontrollers combined with all sorts of sensors in all sorts of places which can lead to some seriously creative and valuable TinyML applications in the future.
+
+## TensorFlow Lite for Microcontrollers Examples
+The inference examples for TensorFlow Lite for Microcontrollers are now packaged and available through the Arduino Library Manager making it possible to include and run them on Arduino in a few clicks. In this section we’ll show you how to run them. The examples are:
+
+- micro_speech – speech recognition using the onboard microphone
+- magic_wand – gesture recognition using the onboard IMU
+- person_detection – person detection using an external ArduCam camera
+
+For more background on the examples you can take a look at the source in the [TensorFlow repository](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/experimental/micro). The models in these examples were previously trained. The tutorials below show you how to deploy and run them on an Arduino. In the next section, we’ll discuss training.
+
+## How to Run the Examples Using Arduino Create Web Editor.
+Once you connect your Arduino Nano 33 BLE Sense Rev2 to your desktop machine with a USB cable you will be able to compile and run the following TensorFlow examples on the board by using the [Arduino Create](https://create.arduino.cc/editor) web editor:
+
+
+
+## Focus On The Speech Recognition Example
+One of the first steps with an Arduino board is getting the LED to flash. Here, we’ll do it with a twist by using TensorFlow Lite Micro to recognise voice keywords. It has a simple vocabulary of “yes” and “no.” Remember this model is running locally on a microcontroller with only 256 KB of RAM, so don’t expect commercial ‘voice assistant’ level accuracy – it has no Internet connection and on the order of 2000x less local RAM available.
+
+Note the board can be battery powered as well. As the Arduino can be connected to motors, actuators and more this offers the potential for voice-controlled projects.
+
+
+
+## How To Run The Examples Using the Arduino IDE
+
+Alternatively you can use try the same inference examples using Arduino IDE application.
+
+First, follow the instructions in the next section Setting up the Arduino IDE.
+
+In the Arduino IDE, you will see the examples available via the **File > Examples > Arduino_TensorFlowLite** menu in the ArduinoIDE.
+
+Select an example and the sketch will open. To compile, upload and run the examples on the board, and click the arrow icon:
+
+
+
+## Training a TensorFlow Lite Micro Model For Arduino
+
+
+
+Next we will use ML to enable the Arduino board to recognise gestures. We’ll capture motion data from the Arduino Nano 33 BLE Sense Rev2 board, import it into TensorFlow to train a model, and deploy the resulting classifier onto the board.
+
+The idea for this tutorial was based on Charlie Gerard’s awesome [Play Street Fighter with body movements using Arduino and Tensorflow.js](https://medium.com/@devdevcharlie/play-street-fighter-with-body-movements-using-arduino-and-tensorflow-js-6b0e4734e118). In Charlie’s example, the board is streaming all sensor data from the Arduino to another machine which performs the gesture classification in Tensorflow.js. We take this further and “TinyML-ify” it by performing gesture classification on the Arduino board itself. This is made easier in our case as the Arduino Nano 33 BLE Sense Rev2 board we’re using has a more powerful Arm Cortex-M4 processor, and an on-board IMU.
+
+We’ve adapted the tutorial below, so no additional hardware is needed – the sampling starts on detecting movement of the board. The original version of the tutorial adds a breadboard and a hardware button to press to trigger sampling. If you want to get into a little hardware, you can follow that version [instead](https://github.com/sandeepmistry/aimldevfest-workshop-2019).
+
+## IDE Setup
+
+**1.** First, let's make sure we have the drivers for the Nano 33 BLE boards installed. If we are using the online IDE, there is no need to install anything, if you are using the offline IDE, we need to install it manually. This can be done by navigating to **Tools > Board > Board Manager...**, search for **Arduino Mbed OS Nano Boards**, and install it.
+
+
+
+**2.** Also, let's make sure we have all the libraries we need installed. If we are using the online IDE, there is no need to install anything. If we are using the offline IDE, this can be done by navigating to **Tools > Manage libraries...**, search for **Arduino_TensorFlowLite** and **Arduino_BMI270_BMM150**, and install them both.
+
+
+
+There are more detailed [Getting Started](https://www.arduino.cc/en/Guide/NANO33BLESense) and [Troubleshooting](https://www.arduino.cc/en/Guide/Troubleshooting) guides on the Arduino site if you need help.
+
+## Streaming Sensor Data From the Arduino Board
+
+First, we need to capture some training data. You can capture sensor data logs from the Arduino board over the same USB cable you use to program the board with your laptop or PC.
+
+Arduino boards run small applications (also called sketches) which are compiled from .ino format Arduino source code, and programmed onto the board using the Arduino IDE or Arduino Create.
+
+With the sketch we are creating we will do the following:
+
+- Monitor the board’s accelerometer and gyroscope
+- Trigger a sample window on detecting significant linear acceleration of the board
+- Sample for one second at 119Hz, outputting CSV format data over USB
+- Loop back and monitor for the next gesture
+
+**The sensors we choose to read from the board, the sample rate, the trigger threshold, and whether we stream data output as CSV, JSON, binary or some other format are all customizable in the sketch running on the Arduino. There is also scope to perform signal preprocessing and filtering on the device before the data is output to the log – this we can cover in another blog. For now, you can just upload the sketch and get sampling.**
+
+The complete sketch can be found below:
+
+```
+/*
+ IMU Capture
+ This example uses the on-board IMU to start reading acceleration and gyroscope
+ data from on-board IMU and prints it to the Serial Monitor for one second
+ when the significant motion is detected.
+ You can also use the Serial Plotter to graph the data.
+ The circuit:
+ - Arduino Nano 33 BLE or Arduino Nano 33 BLE Sense Rev2 board.
+ Created by Don Coleman, Sandeep Mistry
+ Modified by Dominic Pajak, Sandeep Mistry
+ This example code is in the public domain.
+*/
+
+#include
+
+const float accelerationThreshold = 2.5; // threshold of significant in G's
+const int numSamples = 119;
+
+int samplesRead = numSamples;
+
+void setup() {
+ Serial.begin(9600);
+ while (!Serial);
+
+ if (!IMU.begin()) {
+ Serial.println("Failed to initialize IMU!");
+ while (1);
+ }
+
+ // print the header
+ Serial.println("aX,aY,aZ,gX,gY,gZ");
+}
+
+void loop() {
+ float aX, aY, aZ, gX, gY, gZ;
+
+ // wait for significant motion
+ while (samplesRead == numSamples) {
+ if (IMU.accelerationAvailable()) {
+ // read the acceleration data
+ IMU.readAcceleration(aX, aY, aZ);
+
+ // sum up the absolutes
+ float aSum = fabs(aX) + fabs(aY) + fabs(aZ);
+
+ // check if it's above the threshold
+ if (aSum >= accelerationThreshold) {
+ // reset the sample read count
+ samplesRead = 0;
+ break;
+ }
+ }
+ }
+
+ // check if the all the required samples have been read since
+ // the last time the significant motion was detected
+ while (samplesRead < numSamples) {
+ // check if both new acceleration and gyroscope data is
+ // available
+ if (IMU.accelerationAvailable() && IMU.gyroscopeAvailable()) {
+ // read the acceleration and gyroscope data
+ IMU.readAcceleration(aX, aY, aZ);
+ IMU.readGyroscope(gX, gY, gZ);
+
+ samplesRead++;
+
+ // print the data in CSV format
+ Serial.print(aX, 3);
+ Serial.print(',');
+ Serial.print(aY, 3);
+ Serial.print(',');
+ Serial.print(aZ, 3);
+ Serial.print(',');
+ Serial.print(gX, 3);
+ Serial.print(',');
+ Serial.print(gY, 3);
+ Serial.print(',');
+ Serial.print(gZ, 3);
+ Serial.println();
+
+ if (samplesRead == numSamples) {
+ // add an empty line if it's the last sample
+ Serial.println();
+ }
+ }
+ }
+}
+```
+
+## Visualizing Live Sensor Data Log From the Arduino Board
+With that done we can now visualize the data coming off the board. We’re not capturing data yet this is just to give you a feel for how the sensor data capture is triggered and how long a sample window is. This will help when it comes to collecting training samples.
+
+- In the Arduino IDE, open the Serial Plotter **Tools > Serial Plotter**
+- If you get an error that the board is not available, reselect the port:
+**Tools > Port > portname (Arduino Nano 33 BLE)**
+- Pick up the board and practice your punch and flex gestures
+- You’ll see it only sample for a one second window, then wait for the next gesture
+- You should see a live graph of the sensor data capture (see GIF below)
+
+
+
+**When you’re done be sure to close the Serial Plotter window – this is important as the next step won’t work otherwise.**
+
+## Capturing Gesture Training Data
+To capture data as a CSV log to upload to TensorFlow, you can use **Arduino IDE > Tools > Serial Monitor** to view the data and export it to your desktop machine:
+
+- Reset the board by pressing the small white button on the top
+- Pick up the board in one hand (picking it up later will trigger sampling)
+- In the Arduino IDE, open the Serial Monitor Tools > Serial Monitor
+- If you get an error that the board is not available, reselect the port:
+- Tools > Port > portname (Arduino Nano 33 BLE)
+- Make a punch gesture with the board in your hand (Be careful whilst doing this!)
+- Make the outward punch quickly enough to trigger the capture
+- Return to a neutral position slowly so as not to trigger the capture again
+- Repeat the gesture capture step 10 or more times to gather more data
+- Copy and paste the data from the Serial Console to new text file called punch.csv
+- Clear the console window output and repeat all the steps above, this time with a flex gesture in a file called flex.csv
+- Make the inward flex fast enough to trigger capture returning slowly each time
+
+**Note:** the first line of your two csv files should contain the fields aX,aY,aZ,gX,gY,gZ.
+
+
+
+***Linux tip:*** *If you prefer you can redirect the sensor log outputform the Arduino straight to .csv file on the command line. With the Serial Plotter / Serial MOnitor windows close use:
+```
+ $ cat /dev/cu.usbmodem[nnnnn] > sensorlog.csv
+```
+
+## Training in TensorFlow
+We’re going to use [Google Colab](https://colab.research.google.com/) to train our machine learning model using the data we collected from the Arduino board in the previous section. Colab provides a Jupyter notebook that allows us to run our TensorFlow training in a web browser.
+
+
+
+
+- Set up Python environment
+- Upload the punch.csv and flex.csv data
+- Parse and prepare the data
+- Build and train the model
+- Convert the trained model to TensorFlow Lite
+- Encode the model in an Arduino header file
+
+The final step of the colab is generates the model.h file to download and include in our Arduino IDE gesture classifier project in the next section:
+
+
+
+Let’s open the notebook in Colab and run through the steps in the cells – [arduino_tinyml_workshop.ipynb](https://colab.research.google.com/github/arduino/ArduinoTensorFlowLiteTutorials/blob/master/GestureToEmoji/arduino_tinyml_workshop.ipynb)
+
+## Classifying IMU Data
+Next we will use model.h file we just trained and downloaded from Colab in the previous section in our Arduino IDE project:
+
+We will be starting a new sketch, you will find the complete code below:
+```
+/*
+ IMU Classifier
+ This example uses the on-board IMU to start reading acceleration and gyroscope
+ data from on-board IMU, once enough samples are read, it then uses a
+ TensorFlow Lite (Micro) model to try to classify the movement as a known gesture.
+ Note: The direct use of C/C++ pointers, namespaces, and dynamic memory is generally
+ discouraged in Arduino examples, and in the future the TensorFlowLite library
+ might change to make the sketch simpler.
+ The circuit:
+ - Arduino Nano 33 BLE or Arduino Nano 33 BLE Sense Rev2 board.
+ Created by Don Coleman, Sandeep Mistry
+ Modified by Dominic Pajak, Sandeep Mistry
+ This example code is in the public domain.
+*/
+
+#include "Arduino_BMI270_BMM150.h"
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "model.h"
+
+const float accelerationThreshold = 2.5; // threshold of significant in G's
+const int numSamples = 119;
+
+int samplesRead = numSamples;
+
+// global variables used for TensorFlow Lite (Micro)
+tflite::MicroErrorReporter tflErrorReporter;
+
+// pull in all the TFLM ops, you can remove this line and
+// only pull in the TFLM ops you need, if would like to reduce
+// the compiled size of the sketch.
+tflite::AllOpsResolver tflOpsResolver;
+
+const tflite::Model* tflModel = nullptr;
+tflite::MicroInterpreter* tflInterpreter = nullptr;
+TfLiteTensor* tflInputTensor = nullptr;
+TfLiteTensor* tflOutputTensor = nullptr;
+
+// Create a static memory buffer for TFLM, the size may need to
+// be adjusted based on the model you are using
+constexpr int tensorArenaSize = 8 * 1024;
+byte tensorArena[tensorArenaSize] __attribute__((aligned(16)));
+
+// array to map gesture index to a name
+const char* GESTURES[] = {
+ "punch",
+ "flex"
+};
+
+#define NUM_GESTURES (sizeof(GESTURES) / sizeof(GESTURES[0]))
+
+void setup() {
+ Serial.begin(9600);
+ while (!Serial);
+
+ // initialize the IMU
+ if (!IMU.begin()) {
+ Serial.println("Failed to initialize IMU!");
+ while (1);
+ }
+
+ // print out the samples rates of the IMUs
+ Serial.print("Accelerometer sample rate = ");
+ Serial.print(IMU.accelerationSampleRate());
+ Serial.println(" Hz");
+ Serial.print("Gyroscope sample rate = ");
+ Serial.print(IMU.gyroscopeSampleRate());
+ Serial.println(" Hz");
+
+ Serial.println();
+
+ // get the TFL representation of the model byte array
+ tflModel = tflite::GetModel(model);
+ if (tflModel->version() != TFLITE_SCHEMA_VERSION) {
+ Serial.println("Model schema mismatch!");
+ while (1);
+ }
+
+ // Create an interpreter to run the model
+ tflInterpreter = new tflite::MicroInterpreter(tflModel, tflOpsResolver, tensorArena, tensorArenaSize, &tflErrorReporter);
+
+ // Allocate memory for the model's input and output tensors
+ tflInterpreter->AllocateTensors();
+
+ // Get pointers for the model's input and output tensors
+ tflInputTensor = tflInterpreter->input(0);
+ tflOutputTensor = tflInterpreter->output(0);
+}
+
+void loop() {
+ float aX, aY, aZ, gX, gY, gZ;
+
+ // wait for significant motion
+ while (samplesRead == numSamples) {
+ if (IMU.accelerationAvailable()) {
+ // read the acceleration data
+ IMU.readAcceleration(aX, aY, aZ);
+
+ // sum up the absolutes
+ float aSum = fabs(aX) + fabs(aY) + fabs(aZ);
+
+ // check if it's above the threshold
+ if (aSum >= accelerationThreshold) {
+ // reset the sample read count
+ samplesRead = 0;
+ break;
+ }
+ }
+ }
+
+ // check if the all the required samples have been read since
+ // the last time the significant motion was detected
+ while (samplesRead < numSamples) {
+ // check if new acceleration AND gyroscope data is available
+ if (IMU.accelerationAvailable() && IMU.gyroscopeAvailable()) {
+ // read the acceleration and gyroscope data
+ IMU.readAcceleration(aX, aY, aZ);
+ IMU.readGyroscope(gX, gY, gZ);
+
+ // normalize the IMU data between 0 to 1 and store in the model's
+ // input tensor
+ tflInputTensor->data.f[samplesRead * 6 + 0] = (aX + 4.0) / 8.0;
+ tflInputTensor->data.f[samplesRead * 6 + 1] = (aY + 4.0) / 8.0;
+ tflInputTensor->data.f[samplesRead * 6 + 2] = (aZ + 4.0) / 8.0;
+ tflInputTensor->data.f[samplesRead * 6 + 3] = (gX + 2000.0) / 4000.0;
+ tflInputTensor->data.f[samplesRead * 6 + 4] = (gY + 2000.0) / 4000.0;
+ tflInputTensor->data.f[samplesRead * 6 + 5] = (gZ + 2000.0) / 4000.0;
+
+ samplesRead++;
+
+ if (samplesRead == numSamples) {
+ // Run inferencing
+ TfLiteStatus invokeStatus = tflInterpreter->Invoke();
+ if (invokeStatus != kTfLiteOk) {
+ Serial.println("Invoke failed!");
+ while (1);
+ return;
+ }
+
+ // Loop through the output tensor values from the model
+ for (int i = 0; i < NUM_GESTURES; i++) {
+ Serial.print(GESTURES[i]);
+ Serial.print(": ");
+ Serial.println(tflOutputTensor->data.f[i], 6);
+ }
+ Serial.println();
+ }
+ }
+ }
+}
+```
+
+- Create a new tab in the IDE. When asked name it model.h
+- Open the model.h tab and paste in the version you downloaded from Colab
+
+
+
+- Upload the sketch: Sketch > Upload
+- Open the Serial Monitor: Tools > Serial Monitor
+- Perform some gestures
+- The confidence of each gesture will be printed to the Serial Monitor (0 = low confidence, 1 = high confidence)
+- Congratulations you’ve just trained your first ML application for Arduino!
+
+
+
+For added fun the [Emoji_Button.ino](https://github.com/arduino/ArduinoTensorFlowLiteTutorials/blob/master/GestureToEmoji/ArduinoSketches/Emoji_Button/Emoji_Button.ino) example shows how to create a USB keyboard that prints an emoji character in Linux and macOS. Try combining the [Emoji_Button.ino](https://github.com/arduino/ArduinoTensorFlowLiteTutorials/blob/master/GestureToEmoji/ArduinoSketches/Emoji_Button/Emoji_Button.ino) example with the [IMU_Classifier.ino](https://github.com/arduino/ArduinoTensorFlowLiteTutorials/blob/master/GestureToEmoji/ArduinoSketches/IMU_Classifier/IMU_Classifier.ino) sketch to create a gesture controlled emoji keyboard.
+
+## Conclusion
+It’s an exciting time with a lot to learn and explore in TinyML. We hope this blog has given you some idea of the potential and a starting point to start applying it in your own projects. Be sure to let us know what you build and [share it](https://create.arduino.cc/projecthub) with the Arduino community.
+
+For a comprehensive background on TinyML and the example applications in this article, we recommend Pete Warden and Daniel Situnayake’s new O’Reilly book “[TinyML: Machine Learning with TensorFlow on Arduino and Ultra-Low Power Microcontrollers](https://www.oreilly.com/library/view/tinyml/9781492052036/).”
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/getting-started-omv b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/getting-started-omv
new file mode 120000
index 0000000000..318d108ce9
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/getting-started-omv
@@ -0,0 +1 @@
+../../nano-33-ble-sense/tutorials/getting-started-omv
\ No newline at end of file
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/humidity-and-temperature-sensor/assets/nano33BS_01_board_port.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/humidity-and-temperature-sensor/assets/nano33BS_01_board_port.png
new file mode 100644
index 0000000000..ada5d1b349
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/humidity-and-temperature-sensor/assets/nano33BS_01_board_port.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/humidity-and-temperature-sensor/assets/nano33BS_01_printing_values.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/humidity-and-temperature-sensor/assets/nano33BS_01_printing_values.png
new file mode 100644
index 0000000000..f9a55c3763
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/humidity-and-temperature-sensor/assets/nano33BS_01_printing_values.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/humidity-and-temperature-sensor/assets/nano33BS_01_temp_sensor.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/humidity-and-temperature-sensor/assets/nano33BS_01_temp_sensor.png
new file mode 100644
index 0000000000..e0be7d16aa
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/humidity-and-temperature-sensor/assets/nano33BS_01_temp_sensor.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/humidity-and-temperature-sensor/content.md b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/humidity-and-temperature-sensor/content.md
new file mode 100644
index 0000000000..2f39b3e763
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/humidity-and-temperature-sensor/content.md
@@ -0,0 +1,195 @@
+---
+title: 'Reading Temperature & Humidity on Nano 33 BLE Sense Rev2'
+difficulty: beginner
+compatible-products: [nano-33-ble-sense]
+description: 'Learn how to measure and print out the humidity and temperature values of your surroundings using the Nano 33 BLE Sense Rev2'
+tags:
+ - Humidity
+ - Temperature
+ - Sensor
+author: 'Jose Garcia'
+libraries:
+ - name: Arduino H2300x
+ url: https://www.arduino.cc/en/Reference/ArduinoHS300x
+hardware:
+ - hardware/03.nano/boards/nano-33-ble-sense-rev2
+software:
+ - ide-v1
+ - ide-v2
+ - web-editor
+---
+
+In this tutorial we will use an **Arduino Nano 33 BLE Sense Rev2** board to measure and print out the humidity and temperature values of your surroundings, made possible by the embedded **HS3003** sensor.
+
+
+## Goals
+The goals of this project are:
+- Learn how to output raw sensor data from the Arduino Nano 33 BLE Sense Rev2.
+- Use the HS300x library.
+- Print temperature and humidity values in the Serial Monitor when they are within a certain range.
+- Create your own temperature and humidity monitor.
+
+
+
+## Hardware & Software Needed
+* Arduino Nano 33 BLE Sense Rev2.
+* This project uses no external sensors or components.
+* [IDE 2.0](https://www.arduino.cc/en/software#future-version-of-the-arduino-ide)
+
+
+
+## The HS3003 Sensor
+
+
+
+Temperature sensors are components that convert physical temperature into digital data. Likewise, humidity sensors are able to measure atmospheric moisture levels and translate that into electrical signal. As such, temperature and humidity sensors are essential for environmental monitoring especially in and around sensitive electronic equipment.
+
+The HS3003 is an ultra-compact sensor for relative humidity and temperature. We will use the I2C protocol to communicate with the sensor and get data from it. The sensor's range of different values are the following:
+
+- Humidity accuracy: ± 3.5% rH, 20 to +80% rH
+- Humidity range: 0 to 100 %
+- Temperature accuracy: ± 0.5 °C,15 to +40 °C
+- Temperature range: -40 to 120°C
+
+These types of sensors are used more than you would think and are found in various everyday objects!
+
+Some of the useful ways they are used are seen in the following applications:
+- Air conditioning, heating and ventilation.
+- Air humidifiers.
+- Refrigerators.
+- Wearable devices.
+- Smart home automation.
+- Industrial automation.
+- Respiratory equipment.
+- Asset and goods tracking.
+
+
+If you want to read more about the HTS221 sensor you can take a look at the [datasheet](https://content.arduino.cc/assets/REN_HS300x-Datasheet_DST.pdf)
+
+
+
+## Creating the Program
+
+**1. Setting up**
+
+Let's start by opening the [Arduino Web Editor](https://create.arduino.cc/editor), click on the **Libraries** tab, search for the **HS300x** library, then in **Examples**, open the **ReadSensors** example. Once the sketch is open, rename it as **Temp_Humidity**.
+
+**2. Connecting the board**
+
+Now, connect the Arduino Nano 33 BLE Sense Rev2 to the computer to check that the Web Editor recognises it, if so, the board and port should appear as shown in the image. If they don't appear, follow the [instructions](https://create.arduino.cc/getting-started/plugin/welcome) to install the plugin that will allow the Editor to recognise your board.
+
+
+
+
+**3. Printing temperature and humidity values **
+
+Now we will need to modify the code of the example in order to print the temperature and humidity values only when 0,5ºC degree has changed or the humidity has changed at least 1%. To do so, let's initialize the following variables before the `setup()` function.
+
+```arduino
+float old_temp = 0;
+float old_hum = 0;
+```
+
+In the `setup()`, the `HS300x.begin()` function inside an `if` statement will print a message, as a string, in case the sensor has not been properly initialized.
+
+Then, in the `loop()`, let's modify the example code by adding the following portion of code after the `HTS.readTemperature()` and `HTS.readHumidity()` functions respectively.
+
+```arduino
+ // check if the range values in temperature are bigger than 0,5 ºC
+ // and if the range values in humidity are bigger than 1%
+ if (abs(old_temp - temperature) >= 0.5 || abs(old_hum - humidity) >= 1 )
+ {
+ old_temp = temperature;
+ old_hum = humidity;
+ // print each of the sensor values
+ Serial.print("Temperature = ");
+ Serial.print(temperature);
+ Serial.println(" °C");
+ Serial.print("Humidity = ");
+ Serial.print(humidity);
+ Serial.println(" %");
+ Serial.println();
+ }
+```
+
+With this part of the code, we will print out the temperature and humidity values when the temperature increases or decreases more than 0,5ºC , or, when the humidity values change up or down more than 1%.
+
+**4. Complete code**
+
+If you choose to skip the code building section, the complete code can be found below:
+
+```arduino
+/*
+ HS300x - Read Sensors
+
+ This example reads data from the on-board HS300x sensor of the
+ Nano 33 BLE Sense Rev2 and prints the temperature and humidity sensor
+ values to the Serial Monitor once a second.
+
+ The circuit:
+ - Arduino Nano 33 BLE Sense Rev2
+
+ This example code is in the public domain.
+*/
+
+#include
+
+float old_temp = 0;
+float old_hum = 0;
+
+void setup() {
+ Serial.begin(9600);
+ while (!Serial);
+
+ if (!HS300x.begin()) {
+ Serial.println("Failed to initialize humidity temperature sensor!");
+ while (1);
+ }
+}
+
+void loop() {
+ // read all the sensor values
+ float temperature = HS300x.readTemperature();
+ float humidity = HS300x.readHumidity();
+if (abs(old_temp - temperature) >= 0.5 || abs(old_hum - humidity) >= 1 )
+ {
+ // print each of the sensor values
+ Serial.print("Temperature = ");
+ Serial.print(temperature);
+ Serial.println(" °C");
+
+ Serial.print("Humidity = ");
+ Serial.print(humidity);
+ Serial.println(" %");
+
+ // print an empty line
+ Serial.println();
+
+ // wait 1 second to print again
+ delay(1000);
+ }
+}
+
+```
+
+
+
+## Testing It Out
+
+After you have successfully verified and uploaded the sketch to the board, open the Serial Monitor from the menu on the left. You will now see the new values printed. If you want to test out whether it is working, you could slightly breathe (exhale) on your board and watch new values when the humidity, as well as the temperature, levels rise or decrease. The following image shows how the data should be displayed.
+
+
+
+
+### Troubleshoot
+
+Sometimes errors occur, if the project is not working as intended there are some common issues we can troubleshoot:
+- Missing a bracket or a semicolon.
+- If your Arduino board is not recognised, check that the Create plugin is running properly on your computer
+- Accidental interruption of cable connection.
+
+
+## Conclusion
+
+In this simple tutorial we learned how to read temperature and humidity values from the **HS3003** sensor using the [HS300x library](https://github.com/arduino-libraries/Arduino_HS300x), and how to use the sensor embedded in the Arduino Nano 33 BLE Sense Rev2 board, to measure and print out humidity and temperature values from the environment.
+
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/i2c b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/i2c
new file mode 120000
index 0000000000..ca84e006ce
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/i2c
@@ -0,0 +1 @@
+../../nano-33-ble-sense/tutorials/i2c
\ No newline at end of file
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-accelerometer/assets/nano33BS_02_IMU.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-accelerometer/assets/nano33BS_02_IMU.png
new file mode 100644
index 0000000000..65f7491746
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-accelerometer/assets/nano33BS_02_IMU.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-accelerometer/assets/nano33BS_02_acceleration.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-accelerometer/assets/nano33BS_02_acceleration.png
new file mode 100644
index 0000000000..fc4f5bdf3e
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-accelerometer/assets/nano33BS_02_acceleration.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-accelerometer/assets/nano33BS_02_board_port.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-accelerometer/assets/nano33BS_02_board_port.png
new file mode 100644
index 0000000000..b9dab51754
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-accelerometer/assets/nano33BS_02_board_port.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-accelerometer/assets/nano33BS_02_illustration.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-accelerometer/assets/nano33BS_02_illustration.png
new file mode 100644
index 0000000000..5bcd766202
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-accelerometer/assets/nano33BS_02_illustration.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-accelerometer/assets/nano33BS_02_include_library.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-accelerometer/assets/nano33BS_02_include_library.png
new file mode 100644
index 0000000000..d8034dd18d
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-accelerometer/assets/nano33BS_02_include_library.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-accelerometer/assets/nano33BS_02_printing_values.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-accelerometer/assets/nano33BS_02_printing_values.png
new file mode 100644
index 0000000000..45a7291327
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-accelerometer/assets/nano33BS_02_printing_values.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-accelerometer/content.md b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-accelerometer/content.md
new file mode 100644
index 0000000000..86143694f0
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-accelerometer/content.md
@@ -0,0 +1,265 @@
+---
+title: 'Accessing Accelerometer Data on Nano 33 BLE Sense Rev2'
+difficulty: intermediate
+compatible-products: [nano-33-ble-sense-rev2]
+description: 'Learn how to measure the relative position of the Nano 33 BLE Sense Rev2 through the BMi270 and BMM150 IMU system.'
+tags:
+ - IMU
+ - Accelerometer
+author: 'Nefeli Alushi'
+libraries:
+ - name: Arduino BMI270_BMM150
+ url: https://www.arduino.cc/reference/en/libraries/arduino_bmi270_bmm150/
+hardware:
+ - hardware/03.nano/boards/nano-33-ble-sense-rev2
+software:
+ - web-editor
+ - ide-v1
+ - ide-v2
+---
+
+This tutorial will focus on the IMU system with the **BMI270 and BMM150** modules on the Arduino Nano 33 BLE Sense Rev2, in order to measure the relative position of the board. This will be achieved by utilizing the values of the accelerometer's axes and later print the return values through the Arduino IDE Serial Monitor.
+
+
+## Goals
+
+The goals of this project are:
+- Understand how the IMU system on the Arduino Nano 33 BLE Sense Rev2 works.
+- Use the BMI270_BMM150 library.
+- Read the raw data of the accelerometer sensor.
+- Convert the raw data into board positions.
+- Print out live data through the Serial Monitor.
+
+
+## Hardware & Software Needed
+* This project uses no external sensors or components.
+* In this tutorial we will use the Arduino Create Web Editor to program the board.
+
+
+## The IMU System on Arduino Nano 33 BLE Sense Rev2
+
+IMU stands for: inertial measurement unit. It is an electronic device that measures and reports a body's specific force, angular rate and the orientation of the body, using a combination of accelerometers, gyroscopes, and oftentimes magnetometers. In this tutorial we will learn about the IMU system that is included in the Arduino Nano 33 BLE Sense Rev2 Board.
+
+
+
+The IMU system on the Arduino Nano 33 BLE Sense Rev2 is a combination of two modules, the 6-axis BMI270, and the 3-axis BMM150, that together add up to a combined 9-axis IMU system that can measure acceleration, as well as rotation and magnetic fields all in 3D space.
+
+
+### The BMI270_BMM150 Library
+The Arduino BMI270_BMM150 library allows us to use the Arduino Nano 33 BLE Rev2 IMU system without having to go into complicated programming. The library takes care of the sensor initialization and sets its values as follows:
+
+- **Accelerometer** range is set at [-4, +4]g -/+0.122 mg.
+- **Gyroscope** range is set at [-2000, +2000] dps +/-70 mdps.
+- **Magnetometer** range is set at [-400, +400] uT +/-0.014 uT.
+- **Accelerometer** Output data rate is fixed at 104 Hz.
+- **Gyroscope** Output data rate is fixed at 104 Hz.
+- **Magnetometer** Output data rate is fixed at 20 Hz.
+
+If you want to read more about the sensor modules that make up the IMU system, find the datasheet for the BMI270 and the BMM150 here.
+
+
+### Accelerometer
+
+An accelerometer is an electromechanical device used to measure acceleration forces. Such forces may be static, like the continuous force of gravity or, as is the case with many mobile devices, dynamic to sense movement or vibrations.
+
+
+
+In this example, we will use the accelerometer as a "level" that will provide information about the position of the board. With this application we will be able to read what the relative position of the board is as well as the degrees, by tilting the board up, down, left or right.
+
+
+
+## Creating the Program
+
+**1. Setting up**
+
+Let's start by opening the Arduino Web Editor, click on the **Libraries** tab and search for the **BMI270_BMM150** library. Then in **> Examples**, open the **SimpleAccelerometer** sketch and once it opens, rename it as **Accelerometer**.
+
+
+
+**2. Connecting the board**
+
+Now, connect the Arduino Nano 33 BLE Sense Rev2 to the computer and make sure that the Web Editor recognizes it, if so, the board and port should appear as shown in the image below. If they don't appear, follow the [instructions](https://create.arduino.cc/getting-started/plugin/welcome) to install the plugin that will allow the Editor to recognize your board.
+
+
+
+
+**3. Printing the relative position**
+
+Now we will need to modify the code on the example, in order to print the relative position of the board as we move it in different angles.
+
+Let's start by initializing the the x, y, z axes as `float` data types, and the `int degreesX = 0;` and `int degreesY = 0;` variables before the `setup()`.
+
+In the `setup()` we should **remove** the following lines of code:
+
+
+```arduino
+Serial.println();
+Serial.println("Acceleration in G's");
+Serial.println("X\tY\tZ");
+```
+
+Since the raw values of the three axes will not be required, we can remove the lines which will print these. Similarly, we should **remove** the following lines from the `loop()`:
+
+
+```arduino
+Serial.print(x);
+Serial.print('\t');
+Serial.print(y);
+Serial.print('\t');
+Serial.println(z);
+```
+
+Instead, in the `loop()` we tell the sensor to begin reading the values for the three axes. In this example we will not be using the readings from the Z axis as it is not required for this application to function, therefore you could remove it.
+
+After the `IMU.readAcceleration` initialization, we add four `if` statements for the board's different positions. The statements will calculate the direction in which the board will be tilting towards, as well as provide the axe's degree values.
+
+```arduino
+if(x > 0.1){
+ x = 100*x;
+ degreesX = map(x, 0, 97, 0, 90);
+ Serial.print("Tilting up ");
+ Serial.print(degreesX);
+ Serial.println(" degrees");
+ }
+ if(x < -0.1){
+ x = 100*x;
+ degreesX = map(x, 0, -100, 0, 90);
+ Serial.print("Tilting down ");
+ Serial.print(degreesX);
+ Serial.println(" degrees");
+ }
+ if(y > 0.1){
+ y = 100*y;
+ degreesY = map(y, 0, 97, 0, 90);
+ Serial.print("Tilting left ");
+ Serial.print(degreesY);
+ Serial.println(" degrees");
+ }
+ if(y < -0.1){
+ y = 100*y;
+ degreesY = map(y, 0, -100, 0, 90);
+ Serial.print("Tilting right ");
+ Serial.print(degreesY);
+ Serial.println(" degrees");
+ }
+
+```
+
+Lastly, we `Serial.print` the results value and add a `delay(1000);`.
+
+>**Note:** For the following code to properly work, the board's facing direction and inclination during the initialization of the code, need to be specific. More information will be shared on the "testing it out" section.
+
+
+
+
+**4. Complete code**
+
+If you choose to skip the code building section, the complete code can be found below:
+
+```arduino
+/*
+ Arduino BMI270_BMM150 - Simple Accelerometer
+
+ This example reads the acceleration values from the BMI270_BMM150
+ sensor and continuously prints them to the Serial Monitor
+ or Serial Plotter.
+
+ The circuit:
+ - Arduino Nano 33 BLE Sense Rev2
+
+ created 10 Jul 2019
+ by Riccardo Rizzo
+
+ This example code is in the public domain.
+*/
+
+#include "Arduino_BMI270_BMM150.h"
+
+float x, y, z;
+int degreesX = 0;
+int degreesY = 0;
+
+void setup() {
+ Serial.begin(9600);
+ while (!Serial);
+ Serial.println("Started");
+
+ if (!IMU.begin()) {
+ Serial.println("Failed to initialize IMU!");
+ while (1);
+ }
+
+ Serial.print("Accelerometer sample rate = ");
+ Serial.print(IMU.accelerationSampleRate());
+ Serial.println(" Hz");
+}
+
+void loop() {
+ float x, y, z;
+
+ if (IMU.accelerationAvailable()) {
+ IMU.readAcceleration(x, y, z);
+
+if(x > 0.1){
+ x = 100*x;
+ degreesX = map(x, 0, 97, 0, 90);
+ Serial.print("Tilting up ");
+ Serial.print(degreesX);
+ Serial.println(" degrees");
+ }
+ if(x < -0.1){
+ x = 100*x;
+ degreesX = map(x, 0, -100, 0, 90);
+ Serial.print("Tilting down ");
+ Serial.print(degreesX);
+ Serial.println(" degrees");
+ }
+ if(y > 0.1){
+ y = 100*y;
+ degreesY = map(y, 0, 97, 0, 90);
+ Serial.print("Tilting left ");
+ Serial.print(degreesY);
+ Serial.println(" degrees");
+ }
+ if(y < -0.1){
+ y = 100*y;
+ degreesY = map(y, 0, -100, 0, 90);
+ Serial.print("Tilting right ");
+ Serial.print(degreesY);
+ Serial.println(" degrees");
+ }
+ }
+}
+
+}
+```
+
+
+## Testing It Out
+In order to get a correct reading of the board data, before uploading the sketch to the board hold the board in your hand, from the side of the USB port. The board should be facing up and "pointing" away from you. The image below illustrates the board's position and how it works:
+
+
+
+Now, you can verify and upload the sketch to the board and open the Monitor from the menu on the left.
+
+If you tilt the board upwards, downwards, right or left, you will see the results printing every second according to the direction of your movement!
+
+
+Here is a screenshot of the sketch returning these values:
+
+
+
+
+### Troubleshoot
+
+Sometimes errors occur, if the code is not working there are some common issues we can troubleshoot:
+- Missing a bracket or a semicolon.
+- Arduino board connected to the wrong port.
+- Accidental interruption of cable connection.
+- The initial position of the board is not as instructed. In this case you can refresh the page and try again.
+
+
+
+## Conclusion
+
+In this simple tutorial we learned what an IMU sensor module is, how to use the **BMI270_BMM150** library, and how to use an Arduino Nano 33 BLE Sense Rev2 to get data. Furthermore, we utilized the 3-axis accelerometer sensor, in order to measure and print out the degrees and relative position of the board.
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-gyroscope/assets/nano33BS_03_IMU.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-gyroscope/assets/nano33BS_03_IMU.png
new file mode 100644
index 0000000000..65f7491746
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-gyroscope/assets/nano33BS_03_IMU.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-gyroscope/assets/nano33BS_03_board_port.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-gyroscope/assets/nano33BS_03_board_port.png
new file mode 100644
index 0000000000..3c1ceed673
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-gyroscope/assets/nano33BS_03_board_port.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-gyroscope/assets/nano33BS_03_gyroscope.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-gyroscope/assets/nano33BS_03_gyroscope.png
new file mode 100644
index 0000000000..3d0fa9c35e
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-gyroscope/assets/nano33BS_03_gyroscope.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-gyroscope/assets/nano33BS_03_illustration.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-gyroscope/assets/nano33BS_03_illustration.png
new file mode 100644
index 0000000000..ce659e6d3b
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-gyroscope/assets/nano33BS_03_illustration.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-gyroscope/assets/nano33BS_03_include_library.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-gyroscope/assets/nano33BS_03_include_library.png
new file mode 100644
index 0000000000..d8034dd18d
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-gyroscope/assets/nano33BS_03_include_library.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-gyroscope/assets/nano33BS_03_printing_values.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-gyroscope/assets/nano33BS_03_printing_values.png
new file mode 100644
index 0000000000..557f95e24a
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-gyroscope/assets/nano33BS_03_printing_values.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-gyroscope/content.md b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-gyroscope/content.md
new file mode 100644
index 0000000000..89b539a8f0
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-gyroscope/content.md
@@ -0,0 +1,244 @@
+---
+title: 'Accessing Gyroscope Data on Nano 33 BLE Sense Rev2'
+difficulty: intermediate
+compatible-products: [nano-33-ble-sense-rev2]
+description: "Learn how to measure the direction of force to emulate an object's crash using the Nano 33 BLE Sense Rev2."
+tags:
+ - IMU
+ - Gyroscope
+author: 'Nefeli Alushi'
+libraries:
+ - name: Arduino BMI270_BMM150
+ url: https://www.arduino.cc/reference/en/libraries/arduino_bmi270_bmm150/
+hardware:
+ - hardware/03.nano/boards/nano-33-ble-sense-rev2
+software:
+ - web-editor
+---
+
+This tutorial will focus on the 3-axis gyroscope sensor of the IMU system on the Arduino Nano 33 BLE Sense Rev2, in order to measure the direction of force on the board to emulate an object's crash. This will be achieved by utilizing the values of the gyroscope's axes and later print the return values through the Arduino IDE Serial Monitor.
+
+
+## Goals
+
+The goals of this project are:
+- Understand how the IMU system on the Arduino Nano 33 BLE Sense Rev2 works.
+- Use the BMI270_BMM150 library.
+- Read data from the gyroscope's sensor.
+- Convert the raw data into direction of force.
+- Print out live data through the Serial Monitor.
+
+
+## Hardware & Software Needed
+
+* This project uses no external sensors or components.
+* In this tutorial we will use the Arduino Create Web Editor to program the board.
+
+
+## The BMI270 & BMM150 Inertial Modules
+
+IMU stands for: inertial measurement unit. It is an electronic device that measures and reports a body's specific force, angular rate and the orientation of the body, using a combination of accelerometers, gyroscopes, and oftentimes magnetometers. In this tutorial we will learn a bit more of the IMU system that is included in the Arduino Nano 33 BLE Sense Rev2 Board.
+
+
+
+The IMU system on the Arduino Nano 33 BLE Sense Rev2 is a combination of two modules, the 6-axis BMI270, and the 3-axis BMM150, that together add up to a combined 9-axis IMU system that can measure acceleration, as well as rotation and magnetic fields all in 3D space.
+
+
+### The Library
+The Arduino BMI270_BMM150 library allows us to use the Arduino Nano 33 BLE Sense Rev2 IMU modules without having to go into complicated programming. The library takes care of the sensor initialization and sets its values as follows:
+
+- **Accelerometer** range is set at [-4, +4]g -/+0.122 mg.
+- **Gyroscope** range is set at [-2000, +2000] dps +/-70 mdps.
+- **Magnetometer** range is set at [-400, +400] uT +/-0.014 uT.
+- **Accelerometer** output data rate is fixed at 104 Hz.
+- **Gyroscope** output data rate is fixed at 104 Hz.
+- **Magnetometer** output data rate is fixed at 20 Hz.
+
+If you want to read more about the sensor modules that make up the IMU system, find the datasheet for the BMI270 and the BMM150 here.
+
+
+### Gyroscope
+A gyroscope sensor is a device that can measure and maintain the orientation and angular velocity of an object. Gyroscopes are more advanced than accelerometers, as they can measure the tilt and lateral orientation of an object, whereas an accelerometer can only measure its linear motion.
+
+
+
+Gyroscope sensors are also called "Angular Rate Sensors" or "Angular Velocity Sensors". Measured in degrees per second, angular velocity is the change in the rotational angle of the object per unit of time.
+
+In this example, we will use the gyroscope as an indicator for the direction of the force that is applied to the board. This will be achieved by swiftly moving the board for an instant in four directions: forward, backward, to the left and to the right. The results will be visible through the Serial Monitor.
+
+
+## Creating the Program
+
+**1. Setting up**
+
+Let's start by opening the [Arduino Web Editor](https://create.arduino.cc/editor), click on the **Libraries** tab and search for the **BMI270_BMM150** library. Then in **> Examples**, open the **SimpleGyroscope** sketch and once it opens, rename it as **Gyroscope**.
+
+
+
+
+**2. Connecting the board**
+
+Now, connect the Arduino Nano 33 BLE Sense Rev2 to the computer and make sure that the Web Editor recognizes it, if so, the board and port should appear as shown in the image below. If they don't appear, follow the [instructions](https://create.arduino.cc/getting-started/plugin/welcome) to install the plugin that will allow the Editor to recognize your board.
+
+
+
+
+**3. Printing the board's direction of force**
+
+Now we will need to modify the code on the example, in order to print the board's direction of force as we move it in different angles.
+
+Let's start by initializing the the x, y, z axes as `float` data types, and the `int plusThreshold = 30;` and `int minusThreshold = -30;` value threshold variables before the `setup()`.
+
+In the `setup()` we should **remove** the last line of code, as we won't print the raw values of the axes:
+
+```arduino
+Serial.println("X\tY\tZ");
+```
+
+Next, in the `loop()` we can **remove** the following, since we initialized in the beginning,
+
+```arduino
+float x, y, z;
+```
+
+as well as the following lines that won't be required:
+
+```arduino
+Serial.print(x);
+Serial.print('\t');
+Serial.print(y);
+Serial.print('\t');
+Serial.println(z);
+```
+
+Instead, we will add four `if` statements, following the already existing one that checks if the sensor is available and then reads the 3 axes.
+
+Here is the code we will add:
+
+```arduino
+if(y > plusThreshold)
+{
+Serial.println("Collision front");
+delay(500);
+}
+if(y < minusThreshold)
+{
+Serial.println("Collision back");
+delay(500);
+}
+if(x < minusThreshold)
+{
+Serial.println("Collision right");
+delay(500);
+}
+if(x > plusThreshold)
+{
+Serial.println("Collision left");
+delay(500);
+}
+```
+
+These `if` statements will check the x and y values of `plusThreshold` and `minusThreshold` that we defined in the beginning. According to these values the direction of the force that we move our board towards, will be printed.
+
+
+**4. Complete code**
+
+If you choose to skip the code building section, the complete code can be found below:
+
+```arduino
+/*
+ Arduino BMI270_BMM150 - Simple Gyroscope
+
+ This example reads the gyroscope values from the BMI270_BMM150
+ sensor and continuously prints them to the Serial Monitor
+ or Serial Plotter.
+
+ The circuit:
+ - Arduino Nano 33 BLE Sense Rev2
+
+ created 10 Jul 2019
+ by Riccardo Rizzo
+
+ This example code is in the public domain.
+*/
+
+#include "Arduino_BMI270_BMM150.h"
+
+float x, y, z;
+
+int plusThreshold = 30, minusThreshold = -30;
+
+void setup() {
+ Serial.begin(9600);
+ while (!Serial);
+ Serial.println("Started");
+
+ if (!IMU.begin()) {
+ Serial.println("Failed to initialize IMU!");
+ while (1);
+ }
+ Serial.print("Gyroscope sample rate = ");
+ Serial.print(IMU.gyroscopeSampleRate());
+ Serial.println(" Hz");
+ Serial.println();
+ Serial.println("Gyroscope in degrees/second");
+}
+
+void loop() {
+
+ if (IMU.gyroscopeAvailable()) {
+ IMU.readGyroscope(x, y, z);
+
+ if(y > plusThreshold)
+ {
+ Serial.println("Collision front");
+ delay(500);
+ }
+ if(y < minusThreshold)
+ {
+ Serial.println("Collision back");
+ delay(500);
+ }
+ if(x < minusThreshold)
+ {
+ Serial.println("Collision right");
+ delay(500);
+ }
+ if(x > plusThreshold)
+ {
+ Serial.println("Collision left");
+ delay(500);
+ }
+ }
+}
+
+```
+
+
+## Testing It Out
+In order to get a correct reading of the board data, before uploading the sketch to the board hold the board in your hand, from the side of the USB port. The board should be facing up and "pointing" away from you. The image below illustrates the board's position and how it works:
+
+
+
+Next, you can verify and upload the sketch to the board and open the Monitor from the menu on the left.
+
+Now with the board parallel to the ground you can swiftly move it towards one direction: forward, backwards, right or left. According to the movement of your choice, the results will print every second to your monitor!
+
+
+Here is a screenshot of the sketch returning these values:
+
+
+
+
+### Troubleshoot
+
+Sometimes errors occur, if the code is not working there are some common issues we can troubleshoot:
+- Missing a bracket or a semicolon.
+- Arduino board connected to the wrong port.
+- Accidental interruption of cable connection.
+
+
+## Conclusion
+
+In this simple tutorial we learned what an IMU sensor module is, how to use the **BMI270_BMM150** library, and how to use an Arduino Nano 33 BLE Sense Rev2 microcontroller, to measure and print out values from a gyroscope sensor. Furthermore, we created an application that detects the direction of force that we can apply to the board.
+
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-magnetometer/assets/nano33BS_04_IMU.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-magnetometer/assets/nano33BS_04_IMU.png
new file mode 100644
index 0000000000..65f7491746
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-magnetometer/assets/nano33BS_04_IMU.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-magnetometer/assets/nano33BS_04_board_port.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-magnetometer/assets/nano33BS_04_board_port.png
new file mode 100644
index 0000000000..f2ee29196f
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-magnetometer/assets/nano33BS_04_board_port.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-magnetometer/assets/nano33BS_04_illustration.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-magnetometer/assets/nano33BS_04_illustration.png
new file mode 100644
index 0000000000..3b8ee04f1c
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-magnetometer/assets/nano33BS_04_illustration.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-magnetometer/assets/nano33BS_04_include_library.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-magnetometer/assets/nano33BS_04_include_library.png
new file mode 100644
index 0000000000..6fa5d8b8a2
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-magnetometer/assets/nano33BS_04_include_library.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-magnetometer/assets/nano33BS_04_magnetometer.png b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-magnetometer/assets/nano33BS_04_magnetometer.png
new file mode 100644
index 0000000000..275ff9859c
Binary files /dev/null and b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-magnetometer/assets/nano33BS_04_magnetometer.png differ
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-magnetometer/content.md b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-magnetometer/content.md
new file mode 100644
index 0000000000..9f21dfab3a
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/imu-magnetometer/content.md
@@ -0,0 +1,182 @@
+---
+title: 'Accessing Magnetometer Data on Nano 33 BLE Sense Rev2'
+difficulty: intermediate
+compatible-products: [nano-33-ble-sense-rev2]
+description: 'Learn how to detect disturbances in the magnetic field around an electronic device using the Nano 33 BLE Sense Rev2 board.'
+tags:
+ - IMU
+ - Magnetometer
+author: 'Nefeli Alushi'
+libraries:
+ - name: Arduino_BMI270_BMM150
+ url: https://www.arduino.cc/reference/en/libraries/arduino_bmi270_bmm150/
+hardware:
+ - hardware/03.nano/boards/nano-33-ble-sense-rev2
+software:
+ - web-editor
+---
+
+
+## IMU Module
+
+This tutorial will focus on the 3-axis magnetometer sensor of the IMU system on the Arduino Nano 33 BLE Sense Rev2. The tutorial will utilize the IMU sensor in order to create an application that will detect changes and disturbances in the magnetic field around an appliance or electric device. This will be achieved by reading the values of the magnetometer's axes and blink the board's in-built LED according to the magnetic disturbances.
+
+
+## Goals
+
+The goals of this project are to:
+- Understand how the IMU system on the Arduino Nano 33 BLE Sense Rev2 works.
+- Use the BMI270_BMM150 library.
+- Measure the value of a magnetometer sensor.
+- Create visual feedback according to magnetic disturbance in the environment.
+- Convert the sensor's values in LED light intensity.
+
+
+## Hardware & Software Needed
+* This project uses no external sensors or components.
+* In this tutorial we will use the Arduino Create Web Editor to program the board.
+
+
+
+## The BMI270 & BMM150 Inertial Modules
+IMU stands for: inertial measurement unit. It is an electronic device that measures and reports a body's specific force, angular rate and the orientation of the body, using a combination of accelerometers, gyroscopes, and oftentimes magnetometers. In this tutorial we will learn a bit more about the built in IMU system of the Arduino Nano 33 BLE Sense Rev2.
+
+
+
+
+The IMU system on the Arduino Nano 33 BLE Sense Rev2 is a combination of two modules, the 6-axis BMI270, and the 3-axis BMM150, that together add up to a combined 9-axis IMU system that can measure acceleration, as well as rotation and magnetic fields all in 3D space.
+
+
+### The Library
+The [Arduino BMI270_BMM150 library](https://www.arduino.cc/reference/en/libraries/arduino_bmi270_bmm150/) allows us to use the Arduino Nano 33 BLE Sense Rev2 IMU module without having to go into complicated programming. The library takes care of the sensor initialization and sets its values as follows:
+
+- **Accelerometer** range is set at [-4, +4]g -/+0.122 mg.
+- **Gyroscope** range is set at [-2000, +2000] dps +/-70 mdps.
+- **Magnetometer** range is set at [-400, +400] uT +/-0.014 uT.
+- **Accelerometer** output data rate is fixed at 104 Hz.
+- **Gyroscope** output data rate is fixed at 104 Hz.
+- **Magnetometer** output data rate is fixed at 20 Hz.
+
+If you want to read more about the sensor modules that make up the IMU system, find the datasheet for the BMI270 and the BMM150 here.
+
+### Magnetometer
+A magnetometer is a device that measures magnetism, that is the direction, strength, or relative change of a magnetic field at a particular location.
+
+
+
+In this tutorial we will read the values X, Y and Z and provide visual feedback through the in-built LED according to the intensity of magnetism around an electric object's cord.
+
+
+## Creating the Program
+
+**1. Setting up**
+
+Let's start by opening the [Arduino Web Editor](https://create.arduino.cc/editor) and creating a new sketch, this can be named "magnetometer". Then, navigate to the **Libraries** tab, search for the **BMI270_BMM150** library and click on the **Include** button.
+
+
+
+
+**2. Connecting the board**
+
+Next, connect the Arduino Nano 33 BLE Sense Rev2 to the computer and make sure that the Web Editor recognizes it. If so, the board and port should appear as shown in the image below. If they don't appear, follow the [instructions](https://create.arduino.cc/getting-started/plugin/welcome) to install the plugin that will allow the Editor to recognize your board.
+
+
+
+
+**3. Identifying changes in the magnetic field**
+
+After including the library, we can begin by building the rest of the code.
+
+Let's start by defining the float variables `float x,y,z, ledvalue;` which will be needed for our code to work.
+
+In the `setup()` we only need to initialize the IMU sensor with the following code:
+```arduino
+if (!IMU.begin()) {
+ Serial.println("Failed to initialize IMU!");
+ while (1);
+ }
+```
+
+In the `loop()` we add the function `IMU.readMagneticField(x, y, z);` in order to read the values of the three axes on the IMU.
+Next we will add an `if` statement that checks if the magnetic field detected by the board is positive or negative (it will depend on the orientation of the board). If the magnetic field is negative, we convert the ledvalue in a positive range with ledvalue = -(x); , meaning that it is a valid value for the built in LED.
+
+Lastly, we use the command `analogWrite(LED_BUILTIN, ledvalue);` to set the intensity of the LED according to the disturbance in the magnetic field, and add a small delay.
+
+
+
+**4. Complete code**
+
+The complete code can be found below:
+
+```arduino
+/*
+ Arduino BMI270_BMM150 - Magnetometer
+
+ This example reads the magnetometer's values from the LSM9DS1 sensor
+ and `analogWrite` the built-in LED according to the intensity of
+ the magnetic field surrounding electrical devices.
+
+ The circuit:
+ - Arduino Nano 33 BLE Sense
+
+ Created by Benjamin Dannegård
+ 4 Dec 2020
+
+ This example code is in the public domain.
+*/
+
+
+#include "Arduino_BMI270_BMM150.h"
+float x,y,z, ledvalue;
+
+void setup() {
+ if (!IMU.begin()) {
+ Serial.println("Failed to initialize IMU!");
+ while (1);
+ }
+}
+
+void loop() {
+
+ // read magnetic field in all three directions
+ IMU.readMagneticField(x, y, z);
+
+ if(x < 0)
+ {
+ ledvalue = -(x);
+ }
+ else{
+ ledvalue = x;
+ }
+
+ analogWrite(LED_BUILTIN, ledvalue);
+ delay(500);
+}
+```
+
+
+
+## Testing It Out
+
+After you have successfully verified and uploaded the sketch to the board, it's time to put it to the test. You can choose an electric appliance at home or any object that runs with electrical current. For example, in this tutorial we will use a laptop charger to test it out.
+
+Place your board on top of the laptop's charging cord for 5-10 seconds and then move it away from it for some seconds again. While the board is close to the cord you should notice the (orange) built-in LED blinking. The intensity of the LED will vary according to the magnetic field detected.
+
+Here is a screenshot illustrating the board's position:
+
+
+
+However, there are other ways you can play around with this application. If you feel that the LED's brightness intensity is not visible enough you could experiment with other devices such as: electric kettle, toaster, TV or coffee machine. To do so, simply follow the same process and place the board close to the cable when the said device is active.
+
+### Troubleshoot
+
+Sometimes errors occur, if the code is not working there are some common issues we can troubleshoot:
+- Missing a bracket or a semicolon.
+- Arduino board connected to the wrong port.
+- Accidental interruption of cable connection.
+
+
+## Conclusion
+
+In this simple tutorial we learned what an IMU sensor module is, how to use the **BMI270_BMM150** library, and how to use an Arduino Nano 33 BLE Sense Rev2 microcontroller, to detect magnetic field disturbances with a magnetometer sensor. Furthermore, we created an application that controls the intensity of an LED according to the values read from an IMU sensor module.
+
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/microphone-sensor b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/microphone-sensor
new file mode 120000
index 0000000000..a7d7b0724f
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/microphone-sensor
@@ -0,0 +1 @@
+../../nano-33-ble-sense/tutorials/microphone-sensor
\ No newline at end of file
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/micropython-installation b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/micropython-installation
new file mode 120000
index 0000000000..04969d0b6f
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/micropython-installation
@@ -0,0 +1 @@
+../../nano-33-ble-sense/tutorials/micropython-installation
\ No newline at end of file
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/proximity-sensor b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/proximity-sensor
new file mode 120000
index 0000000000..0f3637e740
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/proximity-sensor
@@ -0,0 +1 @@
+../../nano-33-ble-sense/tutorials/proximity-sensor
\ No newline at end of file
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/rgb-sensor b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/rgb-sensor
new file mode 120000
index 0000000000..3a00ed4ff7
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/rgb-sensor
@@ -0,0 +1 @@
+../../nano-33-ble-sense/tutorials/rgb-sensor
\ No newline at end of file
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/trace-32 b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/trace-32
new file mode 120000
index 0000000000..c3d1a00b4b
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/trace-32
@@ -0,0 +1 @@
+../../nano-33-ble-sense/tutorials/trace-32
\ No newline at end of file
diff --git a/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/uart b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/uart
new file mode 120000
index 0000000000..8d1578b04b
--- /dev/null
+++ b/content/hardware/03.nano/boards/nano-33-ble-sense-rev2/tutorials/uart
@@ -0,0 +1 @@
+../../nano-33-ble-sense/tutorials/uart
\ No newline at end of file
diff --git a/content/hardware/03.nano/boards/nano-33-iot/datasheet/datasheet.md b/content/hardware/03.nano/boards/nano-33-iot/datasheet/datasheet.md
index 6397ebcc1d..06f7c7d043 100644
--- a/content/hardware/03.nano/boards/nano-33-iot/datasheet/datasheet.md
+++ b/content/hardware/03.nano/boards/nano-33-iot/datasheet/datasheet.md
@@ -6,7 +6,7 @@ type: maker

# Description
-Nano 33 IoT and Nano 33 IoT with headers is a miniature sized module containing a Cortex M0+ SAMD21 processor, a WiFi+BT module based on ESP32, a crypto chip which can securely store certificates and pre-shared keys and a 6 axis IMU. The module can either be mounted as a DIP component (when mounting pin headers), or as a SMT component, directly soldering it via the castellated pads.
+The Arduino Nano 33 IoT and Arduino Nano 33 IoT with headers are a miniature sized module containing a Cortex M0+ SAMD21 processor, a Wi-Fi®+Bluetooth® module based on ESP32, a crypto chip which can securely store certificates and pre-shared keys and a 6 axis IMU. The module can either be mounted as a DIP component (when mounting pin headers), or as a SMT component, directly soldering it via the castellated pads.
# Target areas:
Maker, enhancements, basic IoT application scenarios
diff --git a/static/resources/datasheets/MP34DT06JTR.pdf b/static/resources/datasheets/MP34DT06JTR.pdf
new file mode 100644
index 0000000000..bd8e2e73ab
Binary files /dev/null and b/static/resources/datasheets/MP34DT06JTR.pdf differ
diff --git a/static/resources/datasheets/REN_HS300x-Datasheet_DST.pdf b/static/resources/datasheets/REN_HS300x-Datasheet_DST.pdf
new file mode 100644
index 0000000000..3baf232baa
Binary files /dev/null and b/static/resources/datasheets/REN_HS300x-Datasheet_DST.pdf differ
diff --git a/static/resources/datasheets/bst-bmi270-ds000.pdf b/static/resources/datasheets/bst-bmi270-ds000.pdf
new file mode 100644
index 0000000000..7771dd0ee4
Binary files /dev/null and b/static/resources/datasheets/bst-bmi270-ds000.pdf differ
diff --git a/static/resources/datasheets/bst-bmm150-ds001.pdf b/static/resources/datasheets/bst-bmm150-ds001.pdf
new file mode 100644
index 0000000000..3381dce51d
Binary files /dev/null and b/static/resources/datasheets/bst-bmm150-ds001.pdf differ