diff --git a/content/datasheets/_index.md b/content/datasheets/_index.md
index a162dc8..abfa4eb 100644
--- a/content/datasheets/_index.md
+++ b/content/datasheets/_index.md
@@ -7,7 +7,7 @@ aliases:
- chapter/datasheets
---
-The follow pages contain all information relating to each product, for examples: pinouts, spec sheets, relevant examples and notes.
+The follow pages contain all information relating to each product, for example: pinouts, spec sheets, relevant examples and notes.
## Development Modules
diff --git a/content/datasheets/boards/deepsleep/README.md b/content/datasheets/boards/deepsleep/README.md
index e15df62..f766154 100644
--- a/content/datasheets/boards/deepsleep/README.md
+++ b/content/datasheets/boards/deepsleep/README.md
@@ -19,7 +19,7 @@ The pinout of the Deep Sleep Shield is available as a PDF File

{{% hint style="info" %}}
-To correctly connect a WiPy 2.0, LoPy or SiPy to the Deep Sleep Shield, align the white triangle on the Shield with the LED of the Pycom Device. Once the Pycom Device is seated onto the Deep Sleep Shield, this can then be connected to the Expansion Board
+To correctly connect a WiPy 2.0, LoPy or SiPy to the Deep Sleep Shield, align the white triangle on the Shield with the Pycom device's LED. Once the Pycom device is seated with the Deep Sleep Shield, this can then be connected to the Expansion Board
{{% /hint %}}

diff --git a/content/datasheets/boards/deepsleep/api.md b/content/datasheets/boards/deepsleep/api.md
index c4ea6c7..7269683 100644
--- a/content/datasheets/boards/deepsleep/api.md
+++ b/content/datasheets/boards/deepsleep/api.md
@@ -7,9 +7,9 @@ aliases:
- chapter/datasheets/boards/deepsleep/api
---
-This chapter describes the library which controls the Deep Sleep Shield. This includes the controls for external interrupts and timer setup of the deep sleep functionality.
+This chapter describes the library which controls the Deep Sleep Shield. This includes the controls for external interrupts and timer set-up of the deep sleep function.
-To use this library, please upload the associated [Deep Sleep Library](https://github.com/pycom/pycom-libraries/tree/master/deepsleep) to `/lib` on the target Pycom device.
+To use this library, please upload the associated [Deep Sleep Library](https://github.com/pycom/pycom-libraries/tree/master/deepsleep) to `/lib` on the relevant Pycom device.
## Quick Example
@@ -40,13 +40,13 @@ ds.go_to_sleep(60) # go to sleep for 60 seconds
## DeepSleep
-The Deep Sleep Shield allows for waking up via a user trigger and also via an external interrupt (i.e. Accelerometer, Button).
+The Deep Sleep Shield can be woken up via a user trigger, as well as an external interrupt \(i.e. Accelerometer, Button\).
### Constructors
#### class DeepSleep()
-Creates a DeepSleep object, that will control the board's sleep features. For example;
+Creates a DeepSleep object that will control the board's sleep features. For example;
```python
@@ -57,7 +57,7 @@ ds = DeepSleep()
#### deepsleep.enable\_auto\_poweroff()
-This method allows for a critical battery voltage to be set. For example, if the external power source (e.g. LiPo Cell) falls below `3.3V`, turn off the Pycom device. This is intended to protect the hardware from under voltage.
+This method sets a critical battery voltage. For example, if the external power source \(e.g. LiPo Cell\) falls below `3.3V`, the Pycom device will turn off. This is intended to protect the hardware from undervoltage.
#### deepsleep.enable\_pullups(pins)
@@ -77,15 +77,15 @@ This method allows for disabling pull-up pins that trigger on a rising voltage.
#### deepsleep.enable\_wake\_on\_fall(pins)
-This method allows for pull-up pins to trigger on a falling voltage. For example, if an external falling voltage triggers occurs, wake the Pycom device from Deep Sleep. `pins` may be passed into the method as a list, i.e. `['P17', 'P18']`.
+This method allows for pull-up pins to trigger on a falling voltage. For example, if an external falling voltage trigger occurs, the Pycom device is woken from Deep Sleep. `pins` may be passed into the method as a list, i.e. `['P17', 'P18']`.
#### deepsleep.disable\_wake\_on\_fall(pins)
-This method allows for disabling pull-up pins that trigger on a falling voltage. `pins` may be passed into the method as a list, i.e. `['P17', 'P18']`.
+This method can disable the pull-up pins that trigger on a falling voltage. `pins` may be passed into the method as a list, i.e. `['P17', 'P18']`.
#### deepsleep.get\_wake\_status()
-This method returns the status of the pins at wakeup from deep sleep. The method returns a `dict` with the states of `wake`, `P10`, `P17`, `P18`.
+This method returns the status of the pins at wakeup from Deep Sleep. The method returns a `dict` with the states of `wake`, `P10`, `P17`, `P18`.
#### deepsleep.set\_min\_voltage\_limit(value)
@@ -93,12 +93,12 @@ This method relates to the `enable_auto_poweroff` method and allows the user to
#### deepsleep.go\_to\_sleep(seconds)
-This method sends the board into deep sleep for a period of `seconds` or until an external interrupt has triggered (see `set_pullups`).
+This method sends the board into Deep Sleep for a period of `seconds` or until an external interrupt has triggered \(see `set_pullups`\).
#### deepsleep.hw\_reset()
-This method resets the PIC controller and resets it to the state previous to the pins/min-voltage being set.
+This method resets the PIC controller, resetting it to the state prior to the pins/min-voltage being set.
{{% hint style="info" %}}
-Please note that more functionality is being added weekly to these libraries. If a required feature is not available, feel free to contribute with a pull request at the [Pycom Libraries](https://github.com/pycom/pycom-libraries) GitHub repository.
+Please note that we add more functionality weekly to these libraries. If a required feature is not available, feel free to contribute with a pull request at the [Pycom Libraries](https://github.com/pycom/pycom-libraries) GitHub repository.
{{% /hint %}}
diff --git a/content/datasheets/boards/expansion2.md b/content/datasheets/boards/expansion2.md
index 0727f26..b43256f 100644
--- a/content/datasheets/boards/expansion2.md
+++ b/content/datasheets/boards/expansion2.md
@@ -25,12 +25,9 @@ The pinout of the Expansion Board is available as a PDF File

{{% hint style="danger" %}}
-Be gentle when plugging/unplugging from the USB connector. Whilst the USB connector is soldered and is relatively strong, if it breaks off it can be very difficult to fix.
+Be gentle when plugging and unplugging from the USB connector. Whilst the USB connector is soldered and is relatively strong, if it breaks off it can be very difficult to fix.
{{% /hint %}}
## Battery Charger
-The Expansion Board features a single cell Li-Ion/Li-Po charger. When the board is being powered via the micro USB connector, the Expansion Board will charge the battery (if connected). When the `CHG` jumper is present the battery will be charged at `450mA`. If this value is too high for your application, removing the jumper lowers the charge current to `100mA`.
-
-
-
+The Expansion Board features a single cell Li-Ion/Li-Po charger. When the board is being powered via the micro USB connector, the Expansion Board will charge the battery \(if connected\). When the `CHG` jumper is present, the battery will be charged at `450mA`. If this value is too high for your application, removing the jumper lowers the charge current to `100mA`.
diff --git a/content/datasheets/boards/expansion3.md b/content/datasheets/boards/expansion3.md
index c360aa0..0fc1cfa 100644
--- a/content/datasheets/boards/expansion3.md
+++ b/content/datasheets/boards/expansion3.md
@@ -24,12 +24,12 @@ The pinout of the Expansion Board is available as a PDF File

{{% hint style="danger" %}}
-Be gentle when plugging/unplugging from the USB connector. Whilst the USB connector is soldered and is relatively strong, if it breaks off it can be very difficult to fix.
+Be gentle when plugging and unplugging from the USB connector. Whilst the USB connector is soldered and is relatively strong, if it breaks off it can be very difficult to fix.
{{% /hint %}}
## Battery Charger
-The Expansion Board features a single cell Li-Ion/Li-Po charger. When the board is being powered via the micro USB connector, the Expansion Board will charge the battery (if connected). When the `CHG` jumper is present the battery will be charged at `450mA`. If this value is too high for your application, removing the jumper lowers the charge current to `100mA`.
+The Expansion Board features a single cell Li-Ion/Li-Po charger. When the board is being powered via the micro USB connector, the Expansion Board will charge the battery \(if connected\). When the `CHG` jumper is present, the battery will be charged at `450mA`. If this value is too high for your application, removing the jumper lowers the charge current to `100mA`.
{{% hint style="info" %}}
To use the battery, pull `P8/G15` high (connect to `3v3`). If you want to use the SD card as well, use a 10k pull-up.
@@ -37,13 +37,13 @@ To use the battery, pull `P8/G15` high (connect to `3v3`). If you want to use th
## Differences between v2.0 and v3.0
-* The FTDI chip as been replaced with a custom programmed PIC like on the
+* The FTDI chip as been replaced with a custom programmed PIC, similar to the
Pysense/Pytrack/Pyscan boards. This allows our firmware update tool to
automatically put the module into bootloader mode.
-* Added a "Safe boot" button to enter safe boot easier. This button connects
+* Added a "Safe Boot" button to enter more easily into safe boot. This button connects
`P12` to `3.3v` and if pressed and held while the reset button is pressed on
diff --git a/content/datasheets/boards/pyscan.md b/content/datasheets/boards/pyscan.md
index 8346e23..71149b9 100644
--- a/content/datasheets/boards/pyscan.md
+++ b/content/datasheets/boards/pyscan.md
@@ -21,7 +21,7 @@ The datasheet of the Pyscan is available as a PDF File.
* The accelerometer library is [here](https://github.com/pycom/pycom-libraries/blob/master/pytrack/lib/LIS2HH12.py)
{{% hint style="info" %}}
-For the time being, we recommend to upload the `MFRC630.mpy` file via FTP due to current limitations of Pymakr that will be fixed shortly.
+For the time being, we recommend uploading the `MFRC630.mpy` file via FTP due to current Pymakr limitations that will be fixed shortly.
{{% /hint %}}
Libraries for the rest of the components will be added soon.
@@ -36,7 +36,7 @@ Libraries for the rest of the components will be added soon.
The Windows 7 driver for Pyscan is located [here](/pytrackpysense/installation/firmware).
-For other Operating Systems there's no driver required.
+For other Operating Systems, no driver is required.
## Pinout
diff --git a/content/datasheets/development/fipy.md b/content/datasheets/development/fipy.md
index 9bf8dc5..20f129c 100644
--- a/content/datasheets/development/fipy.md
+++ b/content/datasheets/development/fipy.md
@@ -38,20 +38,20 @@ The pinout of the FiPy is available as a PDF File

{{% hint style="info" %}}
-Please note that the PIN assignments for UART1 (TX1/RX1), SPI (CLK, MOSI, MISO) and I2C (SDA, SCL) are defaults and can be changed in Software.
+Please note that the PIN assignments for UART1 \(TX1/RX1\), SPI \(CLK, MOSI, MISO\) and I2C \(SDA, SCL\) are defaults and can be changed via software.
{{% /hint %}}
## Notes
### WiFi
-By default, upon boot the FiPy will create a WiFi access point with the SSID `fipy-wlan-XXXX`, where `XXXX` is a random 4-digit number, and the password `www.pycom.io`.
+By default, upon booting up the FiPy will create a WiFi access point with the SSID `fipy-wlan-XXXX`, where `XXXX` is a random 4-digit number, and the password `www.pycom.io`.
-The RF switch that selects between the on-board and external antenna is connected to `P12`, for this reason using `P12` should be avoided unless WiFi is disabled in your application.
+The RF switch that chooses between the on-board and external antenna is connected to `P12`, so for this reason using `P12` should be avoided unless WiFi is disabled on your application.
### Power
-The `Vin` pin on the FiPy can be supplied with a voltage ranging from `3.5v` to `5.5v`. The `3.3v` pin on the other hand is output **only**, and must not be used to feed power into the FiPy, otherwise the on-board regulator will be damaged.
+The `Vin` pin on the FiPy can be supplied with a voltage ranging from `3.5v` to `5.5v`. The `3.3v` pin, on the other hand, is output **only** and must not be used to feed power into the FiPy otherwise the on-board regulator will be damaged.
### AT Commands
@@ -61,7 +61,7 @@ The AT commands for the Sequans Monarch modem on the FiPy are available in a PDF
## Tutorials
-Tutorials on how to the FiPy module can be found in the [examples](/tutorials/introduction) section of this documentation. The following tutorials might be of specific interest for the FiPy:
+Tutorials on how to the FiPy module can be found in the [examples](/tutorials/introduction) section of this documentation. The following tutorials might be of interest for those using the FiPy:
* [WiFi connection](/tutorials/all/wlan)
* [LoRaWAN node](/tutorials/lora/lorawan-abp)
diff --git a/content/datasheets/development/gpy.md b/content/datasheets/development/gpy.md
index 27b0b65..7171733 100644
--- a/content/datasheets/development/gpy.md
+++ b/content/datasheets/development/gpy.md
@@ -41,16 +41,16 @@ The pinout of the GPy is available as a PDF File

{{% hint style="info" %}}
-Please note that the PIN assignments for UART1 (TX1/RX1), SPI (CLK, MOSI, MISO) and I2C (SDA, SCL) are defaults and can be changed in Software.
+Please note that the PIN assignments for UART1 \(TX1/RX1\), SPI \(CLK, MOSI, MISO\) and I2C \(SDA, SCL\) are defaults and can be changed via software.
{{% /hint %}}
## Notes
### WiFi
-By default, upon boot the GPy will create a WiFi access point with the SSID `gpy-wlan-XXXX`, where `XXXX` is a random 4-digit number, and the password `www.pycom.io`.
+By default, upon booting up the GPy will create a WiFi access point with the SSID `gpy-wlan-XXXX`, where `XXXX` is a random 4-digit number, and the password `www.pycom.io`.
-The RF switch that selects between the on-board and external antenna is connected to `P12`, for this reason using `P12` should be avoided unless WiFi is disabled in your application.
+The RF switch that selects between the on-board and external antenna is connected to `P12`, so for this reason using `P12` should be avoided unless WiFi is disabled in your application.
### Power
@@ -64,7 +64,7 @@ The AT commands for the Sequans Monarch modem on the GPy are available in a PDF
## Tutorials
-Tutorials on how to the GPy module can be found in the [examples](/tutorials/introduction) section of this documentation. The following tutorials might be of specific interest for the GPy:
+Tutorials on how to the GPy module can be found in the [examples](/tutorials/introduction) section of this documentation. The following tutorials might be of interest for those using the GPy:
* [WiFi connection](/tutorials/all/wlan)
* [LTE CAT-M1](/tutorials/lte/cat-m1)
diff --git a/content/datasheets/development/lopy.md b/content/datasheets/development/lopy.md
index 7772f6f..ed5bb8f 100644
--- a/content/datasheets/development/lopy.md
+++ b/content/datasheets/development/lopy.md
@@ -33,14 +33,14 @@ The pinout of the LoPy is available as a PDF File

{{% hint style="info" %}}
-Please note that the PIN assignments for UART1 (TX1/RX1), SPI (CLK, MOSI, MISO) and I2C (SDA, SCL) are defaults and can be changed in Software.
+Please note that the PIN assignments for UART1 \(TX1/RX1\), SPI \(CLK, MOSI, MISO\) and I2C \(SDA, SCL\) are defaults and can be changed via software.
{{% /hint %}}
## Notes
### WiFi
-By default, upon boot the LoPy will create a WiFi access point with the SSID `lopy-wlan-XXXX`, where `XXXX` is a random 4-digit number, and the password `www.pycom.io`.
+By default, upon booting up the LoPy will create a WiFi access point with the SSID `lopy-wlan-XXXX`, where `XXXX` is a random 4-digit number and the password `www.pycom.io`.
### Power
@@ -48,11 +48,11 @@ The `Vin` pin on the LoPy can be supplied with a voltage ranging from `3.5v` to
### Deep Sleep
-Due to a couple issues with the LoPy design the module draws more current than it should while in deep sleep. The DC-DC switching regulator always stays in high performance mode which is used to provide the lowest possible output ripple when the modules is in use. In this mode, it draws a quiescent current of 10mA. When the regulator is put into ECO mode, the quiescent current goes down to 10uA. Unfortunately, the pin used to control this mode is out of the RTC domain, and therefore not usable during deep sleep. This causes the regulator to always stay in PWM mode, keeping its quiescent current at 10mA. Alongside this the flash chip doesn't enter power down mode because the CS pin is floating during deep sleep. This causes the flash chip to consume around 2mA of current. To work around this issue a ["deep sleep shield"](../../boards/deepsleep/) is available that attaches to the module and allows power to be cut off from the device. The device can then be re-enabled either on a timer or via pin interrupt. With the deep sleep shield the current consumption during deep sleep is between 7uA and 10uA depending on the wake sources configured.
+Due to a couple of issues with the LoPy design, the module draws more current than it should while in Deep Sleep. The DC-DC switching regulator always stays in high performance mode, which is used to provide the lowest possible output ripple when the module is in use. In this mode, it draws a quiescent current of 10mA. When the regulator is put into ECO mode the quiescent current drops to 10uA. Unfortunately, the pin used to control this mode is out of the RTC domain. This means that it is not usable during Deep Sleep. This results in the regulator remaining in PWM mode, keeping its quiescent current at 10mA. The flash chip also doesn't enter into power down mode as the CS pin floats during Deep Sleep. This causes the flash chip to consume around 2mA of current. To work around this issue a ["deep sleep shield"](../../boards/deepsleep/) is available that attaches to the module and allows power to be cut off from the device. The device can then be re-enabled either through a timer or via a pin interrupt. With the Deep Sleep Shield, the current consumption during deep sleep is between 7uA and 10uA depending on the wake sources configured.
## Tutorials
-Tutorials on how to the LoPy module can be found in the [examples](/tutorials/introduction) section of this documentation. The following tutorials might be of specific interest for the LoPy:
+Tutorials on the LoPy module can be found in the [examples](/tutorials/introduction) section of this documentation. The following tutorials might be of interest for those using the LoPy:
* [WiFi connection](/tutorials/all/wlan)
* [LoRaWAN node](/tutorials/lora/lorawan-abp)
diff --git a/content/datasheets/development/lopy4.md b/content/datasheets/development/lopy4.md
index 6faf822..3946e97 100644
--- a/content/datasheets/development/lopy4.md
+++ b/content/datasheets/development/lopy4.md
@@ -41,9 +41,9 @@ Please note that the PIN assignments for UART1 (TX1/RX1), SPI (CLK, MOSI, MISO)
### WiFi
-By default, upon boot the LoPy4 will create a WiFi access point with the SSID `lopy4-wlan-XXXX`, where `XXXX` is a random 4-digit number, and the password `www.pycom.io`.
+By default, upon booting up the LoPy4 will create a WiFi access point with the SSID `lopy4-wlan-XXXX`, where `XXXX` is a random 4-digit number and the password `www.pycom.io`.
-The RF switch that selects between the on-board and external antenna is connected to `P12`, for this reason using `P12` should be avoided unless WiFi is disabled in your application.
+The RF switch that chooses between the on-board and external antenna is connected to `P12`, so for this reason using `P12` should be avoided unless WiFi is disabled in your application.
### Power
@@ -51,7 +51,7 @@ The `Vin` pin on the LoPy4 can be supplied with a voltage ranging from `3.5v` to
## Tutorials
-Tutorials on how to the LoPy4 module can be found in the [examples](/tutorials/introduction) section of this documentation. The following tutorials might be of specific interest for the LoPy4:
+Tutorials on the LoPy4 module can be found in the [examples](/tutorials/introduction) section of this documentation. The following tutorials might be of interest for those using the LoPy4:
* [WiFi connection](/tutorials/all/wlan)
* [LoRaWAN node](/tutorials/lora/lorawan-abp)
diff --git a/content/datasheets/development/sipy.md b/content/datasheets/development/sipy.md
index 0834959..1d8d322 100644
--- a/content/datasheets/development/sipy.md
+++ b/content/datasheets/development/sipy.md
@@ -36,14 +36,14 @@ The pinout of the SiPy is available as a PDF File

{{% hint style="info" %}}
-Please note that the PIN assignments for UART1 (TX1/RX1), SPI (CLK, MOSI, MISO) and I2C (SDA, SCL) are defaults and can be changed in Software.
+Please note that the PIN assignments for UART1 \(TX1/RX1\), SPI \(CLK, MOSI, MISO\) and I2C \(SDA, SCL\) are defaults and can be changed via software.
{{% /hint %}}
## Notes
### WiFi
-By default, upon boot the SiPy will create a WiFi access point with the SSID `sipy-wlan-XXXX`, where `XXXX` is a random 4-digit number, and the password `www.pycom.io`.
+By default, upon booting up the SiPy will create a WiFi access point with the SSID `sipy-wlan-XXXX`, where `XXXX` is a random 4-digit number, and the password `www.pycom.io`.
### Power
@@ -51,11 +51,11 @@ The `Vin` pin on the SiPy can be supplied with a voltage ranging from `3.5v` to
### Deep Sleep
-Due to a couple issues with the SiPy design the module draws more current than it should while in deep sleep. The DC-DC switching regulator always stays in high performance mode which is used to provide the lowest possible output ripple when the modules is in use. In this mode, it draws a quiescent current of 10mA. When the regulator is put into ECO mode, the quiescent current goes down to 10uA. Unfortunately, the pin used to control this mode is out of the RTC domain, and therefore not usable during deep sleep. This causes the regulator to always stay in PWM mode, keeping its quiescent current at 10mA. Alongside this the flash chip doesn't enter power down mode because the CS pin is floating during deep sleep. This causes the flash chip to consume around 2mA of current. To work around this issue a ["deep sleep shield"](../../boards/deepsleep/) is available that attaches to the module and allows power to be cut off from the device. The device can then be re-enabled either on a timer or via pin interrupt. With the deep sleep shield the current consumption during deep sleep is between 7uA and 10uA depending on the wake sources configured.
+Due to a couple of issues with the SiPy design, the module draws more current than it should while in Deep Sleep. The DC-DC switching regulator always stays in high performance mode, which is used to provide the lowest possible output ripple when the module is in use. In this mode, it draws a quiescent current of 10mA. When the regulator is put into ECO mode the quiescent current drops to 10uA. Unfortunately, the pin used to control this mode is out of the RTC domain. This means that it is not usable during Deep Sleep. This results in the regulator remaining in PWM mode, keeping its quiescent current at 10mA. The flash chip also doesn't enter into power down mode as the CS pin floats during Deep Sleep. This causes the flash chip to consume around 2mA of current. To work around this issue a ["deep sleep shield"](../../boards/deepsleep/) is available that attaches to the module and allows power to be cut off from the device. The device can then be re-enabled either through a timer or via a pin interrupt. With the Deep Sleep Shield, the current consumption during deep sleep is between 7uA and 10uA depending on the wake sources configured.
## Tutorials
-Tutorials on how to the SiPy module can be found in the [examples](/tutorials/introduction) section of this documentation. The following tutorials might be of specific interest for the SiPy:
+Tutorials on the SiPy module can be found in the [examples](/tutorials/introduction) section of this documentation. The following tutorials might be of interest for those using the SiPy:
* [WiFi connection](/tutorials/all/wlan)
* [Sigfox](/tutorials/sigfox)
diff --git a/content/datasheets/development/wipy2.md b/content/datasheets/development/wipy2.md
index 21c30af..b6c8f37 100644
--- a/content/datasheets/development/wipy2.md
+++ b/content/datasheets/development/wipy2.md
@@ -35,14 +35,14 @@ The pinout of the WiPy2 is available as a PDF File.

{{% hint style="info" %}}
-Please note that the PIN assignments for UART1 (TX1/RX1), SPI (CLK, MOSI, MISO) and I2C (SDA, SCL) are defaults and can be changed in Software.
+Please note that the PIN assignments for UART1 \(TX1/RX1\), SPI \(CLK, MOSI, MISO\) and I2C \(SDA, SCL\) are defaults and can be changed via software.
{{% /hint %}}
## Notes
### WiFi
-By default, upon boot the WiPy2 will create a WiFi access point with the SSID `wipy-wlan-XXXX`, where `XXXX` is a random 4-digit number, and the password `www.pycom.io`.
+By default, upon booting up the WiPy2 will create a WiFi access point with the SSID `wipy-wlan-XXXX`, where `XXXX` is a random 4-digit number, and the password `www.pycom.io`.
### Power
@@ -50,11 +50,11 @@ The `Vin` pin on the WiPy2 can be supplied with a voltage ranging from `3.5v` to
### Deep Sleep
-Due to a couple issues with the WiPy2 design the module draws more current than it should while in deep sleep. The DC-DC switching regulator always stays in high performance mode which is used to provide the lowest possible output ripple when the modules is in use. In this mode, it draws a quiescent current of 10mA. When the regulator is put into ECO mode, the quiescent current goes down to 10uA. Unfortunately, the pin used to control this mode is out of the RTC domain, and therefore not usable during deep sleep. This causes the regulator to always stay in PWM mode, keeping its quiescent current at 10mA. Alongside this the flash chip doesn't enter power down mode because the CS pin is floating during deep sleep. This causes the flash chip to consume around 2mA of current. To work around this issue a ["deep sleep shield"](../../boards/deepsleep/) is available that attaches to the module and allows power to be cut off from the device. The device can then be re-enabled either on a timer or via pin interrupt. With the deep sleep shield the current consumption during deep sleep is between 7uA and 10uA depending on the wake sources configured.
+Due to a couple of issues with the WiPy2 design, the module draws more current than it should while in Deep Sleep. The DC-DC switching regulator always stays in high performance mode, which is used to provide the lowest possible output ripple when the module is in use. In this mode, it draws a quiescent current of 10mA. When the regulator is put into ECO mode the quiescent current drops to 10uA. Unfortunately, the pin used to control this mode is out of the RTC domain. This means that it is not usable during Deep Sleep. This results in the regulator remaining in PWM mode, keeping its quiescent current at 10mA. The flash chip also doesn't enter into power down mode as the CS pin floats during Deep Sleep. This causes the flash chip to consume around 2mA of current. To work around this issue a ["deep sleep shield"](../../boards/deepsleep/) is available that attaches to the module and allows power to be cut off from the device. The device can then be re-enabled either through a timer or via a pin interrupt. With the Deep Sleep Shield, the current consumption during deep sleep is between 7uA and 10uA depending on the wake sources configured.
## Tutorials
-Tutorials on how to the WiPy2 module can be found in the [examples](/tutorials/introduction) section of this documentation. The following tutorials might be of specific interest for the WiPy2:
+Tutorials on the WiPy2 module can be found in the [examples](/tutorials/introduction) section of this documentation. The following tutorials might be of interest for those using the WiPy2:
* [WiFi connection](/tutorials/all/wlan)
* [BLE](/tutorials/all/ble)
diff --git a/content/datasheets/development/wipy3.md b/content/datasheets/development/wipy3.md
index 744607b..58adafe 100644
--- a/content/datasheets/development/wipy3.md
+++ b/content/datasheets/development/wipy3.md
@@ -33,23 +33,23 @@ The pinout of the WiPy3 is available as a PDF File.

{{% hint style="info" %}}
-Please note that the PIN assignments for UART1 (TX1/RX1), SPI (CLK, MOSI, MISO) and I2C (SDA, SCL) are defaults and can be changed in Software.
+Please note that the PIN assignments for UART1 \(TX1/RX1\), SPI \(CLK, MOSI, MISO\) and I2C \(SDA, SCL\) are defaults and can be changed via software.
{{% /hint %}}
## Differences from WiPy 2.0
-* Deep sleep current draw fixed, now only 19.7µA
-* Upgraded RAM from 512KB to 4MB
-* Upgraded External FLASH from 4MB to 8MB
-* Antenna select pin moved from GPIO16 to GPIO21 (P12)
+* The Deep Sleep current draw is now fixed - it is only 19.7µA
+* The RAM has been upgraded from 512KB to 4MB
+* The External FLASH has been upgraded from 4MB to 8MB
+* The antenna select pin has moved from GPIO16 to GPIO21 \(P12\)
## Notes
### WiFi
-By default, upon boot the WiPy3 will create a WiFi access point with the SSID `wipy-wlan-XXXX`, where `XXXX` is a random 4-digit number, and the password `www.pycom.io`.
+By default, upon booting up the WiPy3 will create a WiFi access point with the SSID `wipy-wlan-XXXX`, where `XXXX` is a random 4-digit number, and the password `www.pycom.io`.
-The RF switch that selects between the on-board and external antenna is connected to `P12`, for this reason using `P12` should be avoided unless WiFi is disabled in your application.
+The RF switch that chooses between the on-board and external antenna is connected to `P12`, for this reason using `P12` should be avoided unless WiFi is disabled in your application.
### Power
@@ -57,7 +57,7 @@ The `Vin` pin on the WiPy3 can be supplied with a voltage ranging from `3.5v` to
## Tutorials
-Tutorials on how to the WiPy3 module can be found in the [examples](/tutorials/introduction) section of this documentation. The following tutorials might be of specific interest for the WiPy3:
+Tutorials on the WiPy3 module can be found in the [examples](/tutorials/introduction) section of this documentation. The following tutorials might be of interest for those using the WiPy3:
* [WiFi connection](/tutorials/all/wlan)
* [BLE](/tutorials/all/ble)
diff --git a/content/datasheets/notes.md b/content/datasheets/notes.md
index 2190338..6d38d74 100644
--- a/content/datasheets/notes.md
+++ b/content/datasheets/notes.md
@@ -21,7 +21,7 @@ When powering via `VIN`:
Please **DO NOT** power the board via the `3.3V` pin as this may damage the device. ONLY use the `VIN` pin for powering Pycom devices.
{{% /hint %}}
-The battery connector for the Expansion Board is a **JST PHR-2** variant. The Expansion Board exposes the male connector and an external battery should use a female adapter in order to connect and power the expansion board. The polarity of the battery should be checked before being plugged into the expansion board, the cables may require swapping.
+The battery connector for the Expansion Board is a **JST PHR-2** variant. The Expansion Board exposes the male connector and an external battery should use a female adapter in order to connect and power the expansion board. The polarity of the battery should be checked before being plugged into the expansion board as the cables may require swapping.
{{% hint style="danger" %}}
The `GPIO` pins of the modules are **NOT** `5V` tolerant, connecting them to voltages higher than `3.3V` might cause irreparable damage to the device.
@@ -43,4 +43,4 @@ To reset the LoRa chip you can do a Deep sleep cycle
**For LoPy1:**
-Currently a power reset is required to reset the LoRa chip , A MicroPython API will be added shortly to assert the SX1272 reset line from the Application.
\ No newline at end of file
+Currently a power reset is required to reset the LoRa chip , A MicroPython API will be added shortly to assert the SX1272 reset line from the Application.
diff --git a/content/datasheets/oem/g01.md b/content/datasheets/oem/g01.md
index 191dede..c65498b 100644
--- a/content/datasheets/oem/g01.md
+++ b/content/datasheets/oem/g01.md
@@ -11,7 +11,7 @@ aliases:
## Datasheet
-The datasheet of the G01 is available as a PDF File.
+The drawings for the G01 are available as a PDF File.
G01 Datasheet
@@ -30,7 +30,7 @@ The drawings for the G01 is available as a PDF File.
G01 Drawings
{{% hint style="info" %}}
-Please note that the PIN assignments for UART1 (TX1/RX1), SPI (CLK, MOSI, MISO) and I2C (SDA, SCL) are defaults and can be changed in Software.
+Please note that the PIN assignments for UART1 \(TX1/RX1\), SPI \(CLK, MOSI, MISO\) and I2C \(SDA, SCL\) are defaults and can be changed via software.
{{% /hint %}}
## AT Commands
@@ -41,7 +41,7 @@ The AT commands for the Sequans Monarch modem on the G01 are available in a PDF
AT Commands for Sequans
## Tutorials
-Tutorials on how to the G01 module can be found in the [examples](/tutorials/introduction) section of this documentation. The following tutorials might be of specific interest for the G01:
+Tutorials on the G01 module can be found in the [examples](/tutorials/introduction) section of this documentation. The following tutorials might be of interest for those using the G01:
* [WiFi connection](/tutorials/all/wlan)
* [LTE CAT-M1](/tutorials/lte/cat-m1)
diff --git a/content/datasheets/oem/l01.md b/content/datasheets/oem/l01.md
index bcee7c1..7378a32 100644
--- a/content/datasheets/oem/l01.md
+++ b/content/datasheets/oem/l01.md
@@ -11,7 +11,7 @@ aliases:
## Datasheet
-The datasheet of the L01 is available as a PDF File.
+The drawings for the L01 are available as a PDF File.
L01 Datasheet
@@ -30,12 +30,12 @@ The drawings for the L01 is available as a PDF File.
L01 Drawing
{{% hint style="info" %}}
-Please note that the PIN assignments for UART1 (TX1/RX1), SPI (CLK, MOSI, MISO) and I2C (SDA, SCL) are defaults and can be changed in Software.
+Please note that the PIN assignments for UART1 \(TX1/RX1\), SPI \(CLK, MOSI, MISO\) and I2C \(SDA, SCL\) are defaults and can be changed via software.
{{% /hint %}}
## Tutorials
-Tutorials on how to the L01 module can be found in the [examples](/tutorials/introduction) section of this documentation. The following tutorials might be of specific interest for the L01:
+Tutorials on the L01 module can be found in the [examples](/tutorials/introduction) section of this documentation. The following tutorials might be of interest for those using the L01:
* [WiFi connection](/tutorials/all/wlan)
* [LoRaWAN node](/tutorials/lora/lorawan-abp)
diff --git a/content/datasheets/oem/l01_reference.md b/content/datasheets/oem/l01_reference.md
index 90f773a..1d9dfdd 100644
--- a/content/datasheets/oem/l01_reference.md
+++ b/content/datasheets/oem/l01_reference.md
@@ -9,30 +9,24 @@ aliases:

-The L01 OEM reference board is a reference design suitable L01 as well as W01 making it possible to have a single PCB design that can accommodate both OEM modules.
+The L01 OEM reference board is a reference design suitable for the L01 as well as the W01. It makes it possible to have a single PCB design that can accommodate both of the OEM modules.
{{% hint style="info" %}}
-If you require a reference board for the L04 or G01, this design is **not** suitable as it does not feature a SIM slot or the double antenna connection. For the G01 or L04 please use the [Universal OEM Baseboard Reference](../universal_reference)
+If you require a reference board for the L04 or G01, this design is **not** suitable as it does not feature a SIM slot or the double antenna connection. For the L04 or G01 please use the [Universal OEM Baseboard Reference](../universal_reference)
{{% /hint %}}
## Features
* Suits both L01 or W01 OEM Modules
-* U.FL connector for the L01's LoRa output.
-* On-board 2.4GHz antenna for WiFi and Bluetooth, with the ability to switch
-
- to a external antenna via a U.FL connector.
-
+* U.FL connector for the L01's LoRa output
+* On-board 2.4GHz antenna for WiFi and Bluetooth, with the ability to switch to an external antenna via a U.FL connector
* WS2812B RGB LED
-* 3.5-5.5 Input switch mode DC-DC regulator with low current draw during deep
-
- sleep
-
+* DC-DC regulator (3.5 - 5.5V) input with low current draw during Deep Sleep
* Reset button
## Layout
-The layout of the L01 baseboard reference is available as a PDF File
+The layout of the L01 baseboard reference is available as a PDF File.
L01 OEM Layout
diff --git a/content/datasheets/oem/l04.md b/content/datasheets/oem/l04.md
index 4228928..7e4c660 100644
--- a/content/datasheets/oem/l04.md
+++ b/content/datasheets/oem/l04.md
@@ -25,12 +25,12 @@ The pinout of the L04 is available as a PDF File
## Drawings
-The drawings for the L04 is available as a PDF File.
+The drawings for the L04 are available as a PDF File.
L04 Drawings
{{% hint style="info" %}}
-Please note that the PIN assignments for UART1 (TX1/RX1), SPI (CLK, MOSI, MISO) and I2C (SDA, SCL) are defaults and can be changed in Software.
+Please note that the PIN assignments for UART1 \(TX1/RX1\), SPI \(CLK, MOSI, MISO\) and I2C \(SDA, SCL\) are defaults and can be changed via software.
{{% /hint %}}
@@ -47,11 +47,10 @@ Here are some basic power usage measurements for various scenarios.
## Tutorials
-Tutorials on how to the L04 module can be found in the [examples](/tutorials/introduction) section of this documentation. The following tutorials might be of specific interest for the L04:
+Tutorials on the L04 module can be found in the [examples](/tutorials/introduction) section of this documentation. The following tutorials might be of interest for those using the L04:
* [WiFi connection](/tutorials/all/wlan)
* [LoRaWAN node](/tutorials/lora/lorawan-abp)
* [LoRaWAN nano gateway](/tutorials/lora/lorawan-nano-gateway)
* [Sigfox](/tutorials/sigfox)
* [BLE](/tutorials/all/ble)
-
diff --git a/content/datasheets/oem/universal_reference.md b/content/datasheets/oem/universal_reference.md
index 88c7ca2..b5a9b24 100644
--- a/content/datasheets/oem/universal_reference.md
+++ b/content/datasheets/oem/universal_reference.md
@@ -9,25 +9,19 @@ aliases:

-The universal OEM reference board is a reference design suitable W01, L01, L04 and G01 OEM modules, making it possible to have a single PCB design that can accommodate all our OEM modules.
+The universal OEM reference board is a reference design suitable for the W01, L01, L04 and G01 OEM modules, making it possible to have a single PCB design that can accommodate all of our OEM modules.
{{% hint style="info" %}}
-If you require a reference board for the G01, only this design is suitable. The L01 reference board does not contain the necessary SIM slot.
+If you require a reference board for the G01, this design is the only one that is suitable. The L01 reference board does not contain the necessary SIM slot.
{{% /hint %}}
## Features
-* Suits all OEM modules (L01, L04, W01, G01)
-* On-board 2.4GHz antenna for WiFi and Bluetooth, with the ability to switch
-
- to a external antenna via a U.FL connector.
-
+* Suits all of the OEM modules \(L01, L04, W01, G01\)
+* On-board 2.4GHz antenna for WiFi and Bluetooth, with the ability to switch to an external antenna via a U.FL connector.
* 3 U.FL connectors for all the outputs available on the OEM modules
* WS2812B RGB LED
-* 3.5-5.5 Input switch mode DC-DC regulator with low current draw during deep
-
- sleep
-
+* DC-DC regulator (3.5 - 5.5V) input with low current draw during Deep Sleep
* Reset button
## Layout
@@ -49,4 +43,3 @@ The schematic of the OEM baseboard reference is available as a PDF File.
The Altium Project and Gerber files are also available as a ZIP File.
[OEM Altium Project and Gerber Files](/gitbook/assets/oem-universal-baseboard-ref.zip)
-
diff --git a/content/datasheets/oem/w01.md b/content/datasheets/oem/w01.md
index 2c1ca5d..6043679 100644
--- a/content/datasheets/oem/w01.md
+++ b/content/datasheets/oem/w01.md
@@ -24,17 +24,17 @@ The pinout of the W01 is available as a PDF File
## Drawings
-The drawings for the W01 is available as a PDF File.
+The drawings for the W01 are available as a PDF File.
W01 Drawings
{{% hint style="info" %}}
-Please note that the PIN assignments for UART1 (TX1/RX1), SPI (CLK, MOSI, MISO) and I2C (SDA, SCL) are defaults and can be changed in Software.
+Please note that the PIN assignments for UART1 \(TX1/RX1\), SPI \(CLK, MOSI, MISO\) and I2C \(SDA, SCL\) are defaults and can be changed via software.
{{% /hint %}}
## Tutorials
-Tutorials on how to the W01 module can be found in the [examples](/tutorials/introduction) section of this documentation. The following tutorials might be of specific interest for the W01:
+Tutorials on the W01 module can be found in the [examples](/tutorials/introduction) section of this documentation. The following tutorials might be of interest to those using the W01:
* [WiFi connection](/tutorials/all/wlan)
* [BLE](/tutorials/all/ble)
diff --git a/content/docnotes/_index.md b/content/docnotes/_index.md
index a22edd4..7d7eb47 100644
--- a/content/docnotes/_index.md
+++ b/content/docnotes/_index.md
@@ -3,5 +3,5 @@ title: ""
aliases:
---
-The Pycom documentation aims to be straightforward and to adhere to typical Python documentation to allow for ease of understanding. However, there may be some unusual features for those not used to Python documentation or that are new to the MicroPython Language. This section of the documentation aims to provide clarity for any of the design specifics that might be confusing for those new to Python and this style of documentation.
+The Pycom documentation aims to be straightforward and to adhere to typical Python documentation to make it easier to understand. However, there may be some unusual features for those not used to Python documentation or for those who are new to the MicroPython Language. This section of the documentation aims to provide clarity for any of the design specifics that might be confusing for those new to Python and this style of documentation.
diff --git a/content/docnotes/introduction.md b/content/docnotes/introduction.md
index 6c52124..e33e02c 100644
--- a/content/docnotes/introduction.md
+++ b/content/docnotes/introduction.md
@@ -6,5 +6,5 @@ aliases:
- chapter/docnotes
---
-The Pycom documentation aims to be straightforward and to adhere to typical Python documentation to allow for ease of understanding. However, there may be some unusual features for those not used to Python documentation or that are new to the MicroPython Language. This section of the documentation aims to provide clarity for any of the design specifics that might be confusing for those new to Python and this style of documentation.
+The Pycom documentation aims to be straightforward and to adhere to typical Python documentation to make it easier to understand. However, there may be some unusual features for those not used to Python documentation or for those who are new to the MicroPython Language. This section of the documentation aims to provide clarity for any of the design specifics that might be confusing for those new to Python and this style of documentation.
diff --git a/content/docnotes/replscript.md b/content/docnotes/replscript.md
index 0eddb57..73a6bf6 100644
--- a/content/docnotes/replscript.md
+++ b/content/docnotes/replscript.md
@@ -6,7 +6,7 @@ aliases:
- chapter/docnotes/replscript
---
-Users of this documentation should be aware that examples given in the docs are under the expectation that they are being executed using the MicroPython REPL. This means that when certain functions are called, their output may not necessarily be printed to the console if they are run from a script. When using the REPL many classes/functions automatically produce a printed output displaying the return value of the function to the console. The code snippet below demonstrates some examples of classes/functions that might display this behaviour.
+Users of this documentation should be aware that examples given in the docs are given with the expectation that they are being executed using MicroPython REPL. This means that when certain functions are called, their output may not necessarily be printed to the console if they are run from a script. When using the REPL many classes/functions automatically produce a printed output displaying the return value of the function to the console. The code snippet below gives examples of classes/functions that might display this behaviour.
## Basic Arithmetic
@@ -14,7 +14,7 @@ Users of this documentation should be aware that examples given in the docs are
1 + 1 # REPL will print out '2' to console
-1 + 1 # Script will not return anything the console
+1 + 1 # Script will not return anything to the console
print(1 + 1) # Both the REPL and a script will return '2' to the console
```
@@ -24,7 +24,7 @@ print(1 + 1) # Both the REPL and a script will return '2' to the console
import ubinascii
ubinascii.hexlify(b'12345') # REPL will print out "b'3132333435'" to the console
-ubinascii.hexlify(b'12345') # Script will not return any the console
+ubinascii.hexlify(b'12345') # Script will not return anything to the console
```
In order to use these functions that do not print out any values, you will need to either wrap them in a `print()` statement or assign them to variables and call them later when you wish to use them.
diff --git a/content/docnotes/syntax.md b/content/docnotes/syntax.md
index fc4fca5..3f93fda 100644
--- a/content/docnotes/syntax.md
+++ b/content/docnotes/syntax.md
@@ -10,7 +10,7 @@ The Pycom documentation follows standard Python Library format using the popular
## Keyword Arguments
-`Keyword Arguments` refer to the arguments that are passed into a constructor (upon referencing a class object). When passing values into a MicroPython constructor it is not always required to specify the name of the argument and instead rely on the order of the arguments passed as to describe what they refer to. In the example below, it can be seen that the argument `mode` is passed into the `i2c.init()` method without specifying a name.
+`Keyword Arguments` refer to the arguments that are passed into a constructor \(upon referencing a class object\). When passing values into a MicroPython constructor, it is not always required to specify the name of the argument. You can instead rely on the order of the arguments passed as to describe what they refer to. In the example below, it can be seen that the argument `mode` is passed into the `i2c.init()` method without specifying a name.
The values of the arguments (as seen in the examples/docs) refer to the default values that are passed into the constructor if nothing is provided.
@@ -19,22 +19,22 @@ The values of the arguments (as seen in the examples/docs) refer to the default
i2c.init(mode, * , baudrate=100000, pins=(SDA, SCL))
```
-An example of how this method might be called:
+An example of what this method might be called:
```python
i2c.init(I2C.MASTER, pins=('P12', 'P11'))
```
-It can be seen that a value for `baudrate` was not passed into the method and thus MicroPython will assume a default value of `100000`. Also the first argument `mode` was not specified by name, as the constructor does not require it, denoted by the lack of an `=` symbol in the constructor documentation.
+It can be seen that a value for `baudrate` was not passed into the method and thus MicroPython will assume a default value of `100000`. Also, the first argument `mode` was not specified by name, as the constructor does not require it, denoted by the lack of an `=` symbol in the constructor documentation.
## Passing Arguments into a Method
-It is important to note that there are certain class methods that can only accept a `keyword` for certain arguments as well as some that only accept a `value`. This is intentional by design but is not always apparent to the user calling specific methods. The differences between the two are outlined below, with examples referencing where differences might apply and what to be aware of.
+It is important to note that there are certain class methods that can only accept a `keyword` for certain arguments as well as some that only accept a `value`. This is intentional by design, but is not always apparent to the user calling specific methods. The differences between the two are outlined below, with examples referencing where differences might apply and what to be aware of.
## Keyword
-An astrik `*` in a method description (in the docs), denotes that the following arguments require a keyword, i.e. `pin='P16'` in the example below.
+An asterisk `*` in a method description \(in the docs\), denotes that the following arguments require a keyword, i.e. `pin='P16'` in the example below.
```python
@@ -49,7 +49,7 @@ adc = ADC() # create an ADC object
apin = adc.channel(pin='P16') # create an analog pin on P16
```
-`pin` is a required argument and the method `channel` will not execute unless it is passed as with a keyword.
+`pin` is a required argument and the method `channel` will not execute unless it is passed with a keyword.
Another example shows how the `PWM` class, `pwm.channel()` requires a keyword argument for `pin` but does not for `id`.
@@ -58,7 +58,7 @@ Another example shows how the `PWM` class, `pwm.channel()` requires a keyword ar
from machine import PWM
pwm = PWM(0, frequency=5000)
-pwm_c = pwm.channel(0, pin='P12') # no keyword argument requires for id (0) but is required for pin (pin='P12')
+pwm_c = pwm.channel(0, pin='P12') # no keyword argument required for id (0) but is required for pin (pin='P12')
```
## Value
@@ -108,4 +108,3 @@ I2C.MASTER()
{{% hint style="info" %}}
Be aware that you can only reference these constants upon importing and constructing a object from a library.
{{% /hint %}}
-
diff --git a/content/gettingstarted/connection/README.md b/content/gettingstarted/connection/README.md
index 60c17c2..6c9702a 100644
--- a/content/gettingstarted/connection/README.md
+++ b/content/gettingstarted/connection/README.md
@@ -4,7 +4,7 @@ aliases:
- chapter/gettingstarted/hardwaresetup
---
-This chapter of the documentation will show you how to connect you Pycom module. For each device there are detailed instructions on how to connect your module to one of our base boards, a USB UART adapter or WiFi as well as what antennas you might need to connect. Please select your module below to be taken to the appropriate guide.
+This chapter will show you how to connect your Pycom module. For each device there are detailed instructions on how to connect your module to one of our base boards, a USB UART adapter, or WiFi as well as the different antennas you might need to connect. Please select your module below to be taken to the appropriate guide.
{{% refname "lopy.md" %}}
@@ -15,4 +15,3 @@ This chapter of the documentation will show you how to connect you Pycom module.
{{% refname "fipy.md" %}}
{{% refname "wipy.md" %}}
-
diff --git a/content/gettingstarted/connection/_index.md b/content/gettingstarted/connection/_index.md
index 5b937a4..b4cb389 100644
--- a/content/gettingstarted/connection/_index.md
+++ b/content/gettingstarted/connection/_index.md
@@ -3,7 +3,7 @@ title: "Hardware Setup"
aliases:
---
-This chapter of the documentation will show you how to connect you Pycom module. For each device there are detailed instructions on how to connect your module to one of our base boards, a USB UART adapter or WiFi as well as what antennas you might need to connect. Please select your module below to be taken to the appropriate guide.
+This chapter of the documentation will show you how to connect you Pycom module. For each device, there are detailed instructions on how to connect your module to one of our base boards, a USB UART adapter, or WiFi as well as what antennas you might need to connect. Please select your module below to be taken to the appropriate guide.
{{% refname "lopy.md" %}}
diff --git a/content/gettingstarted/connection/fipy.md b/content/gettingstarted/connection/fipy.md
index 1604267..1b46d86 100644
--- a/content/gettingstarted/connection/fipy.md
+++ b/content/gettingstarted/connection/fipy.md
@@ -121,11 +121,11 @@ If you intend on using the LoRa/Sigfox connectivity of the FiPy you **must** con
The FiPy only supports LoRa on the 868MHz or 915MHz bands. It does not support 433MHz. For this you will require a LoPy4.
{{% /hint %}}
-* Firstly you will need to connect the U.FL to SMA pig tail to the FiPy using the U.FL connector on the same side of the FiPy as the LED.
+* Firstly, you will need to connect the U.FL to SMA pig tail to the FiPy using the U.FL connector on the same side of the FiPy as the LED.

-* If you are using a pycase, you will next need to put the SMA connector through the antenna hole, ensuring you align the flat edge correctly, and screw down the connector using the provided nut.
+* If you are using a Pycase, you will next need to put the SMA connector through the antenna hole, ensuring you align the flat edge correctly, and screw down the connector using the provided nut.
* Finally you will need to screw on the antenna to the SMA connector.

diff --git a/content/gettingstarted/connection/lopy.md b/content/gettingstarted/connection/lopy.md
index a285d40..533f3f0 100644
--- a/content/gettingstarted/connection/lopy.md
+++ b/content/gettingstarted/connection/lopy.md
@@ -125,7 +125,7 @@ The LoPy only supports LoRa on the 868MHz or 915MHz bands. It does not support 4

-* If you are using a pycase, you will next need to put the SMA connector through the antenna hole, ensuring you align the flat edge correctly, and screw down the connector using the provided nut.
+* If you are using a Pycase, you will next need to put the SMA connector through the antenna hole, ensuring you align the flat edge correctly, and screw down the connector using the provided nut.
* Finally you will need to screw on the antenna to the SMA connector.

diff --git a/content/pybytes/_index.md b/content/pybytes/_index.md
index 52d3a7a..5c3e942 100644
--- a/content/pybytes/_index.md
+++ b/content/pybytes/_index.md
@@ -8,24 +8,23 @@ aliases:
## What is Pybytes?
-Pybytes is an IoT platform that empowers you by granting full control of all your Pycom devices.
-
+Pybytes is a device management platform that empowers you by giving you full control over your Pycom devices.
With Pybytes you have control over your device's data stream and more:
-* Visualise sensors data according to your interests using our customisable dashboard;
+* Visualise the sensor data according to your interests by using our customisable dashboard;
* Check the status of your entire fleet;
-* Keep track of your assets with our geolocation feature;
+* Track of your assets with our geolocation feature;
* Distribute firmware updates on a scalable approach.
-In a nutshell, Pybytes is an environment designed to optimise your IoT applications using Pycom boards.
+In a nutshell, Pybytes is an environment designed to optimise your IoT applications when using Pycom boards.
-## What Pybytes offers you?
+## What does Pybytes offer you?
-* Data Visualisation: Pybytes dashboard is customisable, allowing you to freely set up key performance indicators and time series data from all your sensors.
+* Data Visualisation: The Pybytes dashboard is customisable, allowing you to freely set up key performance indicators and time series data from all your sensors.
* Intelligent notifications: Keep track of your device's status, battery level, data streaming and measurements with pre-defined alarms.
* Terminal: Execute commands to gather accurate information from your devices using Pybytes terminal shell.
* Firmware updates over the air: Upgrade or downgrade firmware versions with our exclusive firmware update.
-* Track your assets position: Google Maps API empowers your view over your device's geolocation.
+* Track your assets position: Google Maps API means you can track your device's geolocation.
## Let's get started!
diff --git a/content/pybytes/dashboard.md b/content/pybytes/dashboard.md
index 0d77971..dc80039 100644
--- a/content/pybytes/dashboard.md
+++ b/content/pybytes/dashboard.md
@@ -6,10 +6,10 @@ aliases:
- chapter/pybytes/dashboard/intro
---
-In this section, we will explain to you how to create widgets for data visualisation and set up your device's dashboard on Pybytes.
+In this section, we will explain how to create widgets for data visualisation and how to set up your device's dashboard on Pybytes.
{{% hint style="info" %}}
-We assume that you already have your device connected to Pybytes. In case you haven't, check how to [add your device here](../connect/). After your done with that, you can proceed to the next example.
+We're assuming that you have already connected your device to Pybytes. In case you haven't, check how to [add your device here](../connect/). After you're done with that, you can proceed to the next example.
{{% /hint %}}
## Step 1: Set up your python application
@@ -118,7 +118,7 @@ Click on the *Create a new display* button.

-Select the type of visualisation (e.g. *Bar chart* or *Line chart*). Let's select the *Line chart*.
+3. Select the type of visualisation \(e.g. bar chart or line graph\).

@@ -140,4 +140,4 @@ Click on the `Dashboard` tab. Your widget was successfully added there!
## Done!
-Now you've learned how to set up your device's dashboard to display data. Also, you can add more widgets to other signals of your device.
+Now you've learned how to set up your device's dashboard to display data. Also, you can add more widgets to your device's other signals.
diff --git a/content/pybytes/getstarted.md b/content/pybytes/getstarted.md
index 8d89407..0ea9681 100644
--- a/content/pybytes/getstarted.md
+++ b/content/pybytes/getstarted.md
@@ -11,7 +11,7 @@ Follow these steps to create a Pybytes account:
## Step 1: Go to the registration page
1. Go to [https://pybytes.pycom.io](https://pybytes.pycom.io/?utm_source=docs&utm_medium=web&utm_campaign=pybytes-getting-started).
-2. Enter your full name, email address and a password to your account.
+2. Enter your full name, email address and set a password for your account.
3. Confirm the verification message sent to your email address.
4. Click on the link and complete your login.
diff --git a/content/pybytes/integrations/README.md b/content/pybytes/integrations/README.md
index 63652bc..e650d1e 100644
--- a/content/pybytes/integrations/README.md
+++ b/content/pybytes/integrations/README.md
@@ -5,9 +5,9 @@ aliases:
## Integration with external services
-Pybytes offers a way to interact with external IoT platform or custom services, like the following:
+Pybytes offers a way to interact with external IoT platform or custom services, including the following:
-* [AWS IoT](amazon-iot): a managed cloud platform that lets connected devices easily and securely interact with cloud applications and other devices
-* [Microsoft Azure](azure): it's a comprehensive collection of services and solutions designed to help you create end-to-end IoT applications on Azure.
-* [Web Hooks](webhooks): user-defined HTTP callbacks to a defined remote destination. All elements of
-the requests (headers, query string parameters, etc) are customizable.
\ No newline at end of file
+* [AWS IoT](amazon-iot.md): a managed cloud platform that lets connected devices easily and securely interact with Cloud applications and other devices
+* [Microsoft Azure](azure.md): a comprehensive collection of services and solutions designed to help you create end-to-end IoT applications on Azure
+* [Google Cloud IoT](google.md): a complete set of tools to connect, process, store, and analyse data, both at the edge and in the cloud
+* [Web Hooks](webhooks.md): this allows for user-defined HTTP callbacks to a defined remote destination. All elements of the requests (headers, query string parameters, etc) are customisable
diff --git a/content/pybytes/integrations/_index.md b/content/pybytes/integrations/_index.md
index 63652bc..c11922e 100644
--- a/content/pybytes/integrations/_index.md
+++ b/content/pybytes/integrations/_index.md
@@ -5,9 +5,9 @@ aliases:
## Integration with external services
-Pybytes offers a way to interact with external IoT platform or custom services, like the following:
+Pybytes offers a way to interact with external IoT platform or custom services, including the following:
-* [AWS IoT](amazon-iot): a managed cloud platform that lets connected devices easily and securely interact with cloud applications and other devices
-* [Microsoft Azure](azure): it's a comprehensive collection of services and solutions designed to help you create end-to-end IoT applications on Azure.
-* [Web Hooks](webhooks): user-defined HTTP callbacks to a defined remote destination. All elements of
-the requests (headers, query string parameters, etc) are customizable.
\ No newline at end of file
+* [AWS IoT](amazon-iot): a managed cloud platform that lets connected devices easily and securely interact with Cloud applications and other devices
+* [Microsoft Azure](azure): a comprehensive collection of services and solutions designed to help you create end-to-end IoT applications on Azure
+* [Google Cloud IoT](google): a complete set of tools to connect, process, store, and analyse data, both at the edge and in the cloud
+* [Web Hooks](webhooks): this allows for user-defined HTTP callbacks to a defined remote destination. All elements of the requests (headers, query string parameters, etc) are customisable
diff --git a/content/pybytes/integrations/azure.md b/content/pybytes/integrations/azure.md
index 6de0866..ecf9eaf 100644
--- a/content/pybytes/integrations/azure.md
+++ b/content/pybytes/integrations/azure.md
@@ -9,16 +9,16 @@ Whenever one of your integrated devices sends a signal to our broker, we republi
## Integrate your devices
-The first step requires you to create an [IoT Hub](https://docs.microsoft.com/en-us/azure/iot-hub/). This is an Azure service that enables you to ingest high volumes of telemetry from your IoT devices into the cloud for storage or processing. In order to do that, [follow the official documentation](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-create-through-portal). To summarize you'll need to:
+The first step requires you to create an [IoT Hub](https://docs.microsoft.com/en-us/azure/iot-hub/). This is an Azure service that enables you to gather high volumes of telemetry data from your IoT devices. It then moves them into the cloud for storage or processing. In order to do that, [follow the offical documentation](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-create-through-portal). To summarise you'll need to:
- specify your [subscription plan](https://account.azure.com/subscriptions/)
- - create or choose a [resource group](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-portal), a container that holds resources that share the same lifecycle, permissions, and policies. This name must contain only alphanumeric characters, periods, underscores, hyphens and parenthesis and cannot end in a period.
+ - create or choose a [resource group](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-portal). This contains resources that share the same lifecycle, permissions and policies. The name can contain alphanumeric characters, periods, underscores, hyphens and parenthesis. It cannot end in a period.
- choose a [region](https://azure.microsoft.com/en-us/global-infrastructure/regions/)
- - choose the IoT Hub name (its length must be between 3 and 50, and it must contain only alphanumeric characters and hyphens). It won't be possible to change this name later.
+ - choose an IoT Hub name (its length must be between 3 and 50, and it can use only alphanumeric characters and hyphens). It won't be possible to change this name later.
- [specify tier scaling and units](https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-scaling)

-Now copy and paste a connection string with the privilege to write into the registry by clicking on the relative button
+Now copy and paste the connection string with the privilege to write into the registry by clicking on the relative button
Go to Pybytes and click on *Integrations* > *New Integration* and choose *Microsoft Azure*.
@@ -34,7 +34,7 @@ When you're ready, click on the _Create_ button.

-If everything's worked as expected, you should be able to see a summary of your integration like the following:
+If everything's working as expected, you should be able to see a summary of your integration similar to the following:

diff --git a/content/pybytes/integrations/google.md b/content/pybytes/integrations/google.md
new file mode 100644
index 0000000..8ee549e
--- /dev/null
+++ b/content/pybytes/integrations/google.md
@@ -0,0 +1,48 @@
+# Google Cloud IoT
+
+Whenever one of your integrated devices sends a signal to our broker, we republish the binary payload to the Google endpoint specified for the integration by the MQTT protocol.
+
+## Integrate your devices
+
+1. Firstly, you have to create a Google project or select an existing one [Google console](https://console.cloud.google.com/cloud-resource-manager) ([read also here for further information](https://cloud.google.com/resource-manager/docs/creating-managing-projects)). Take note of the Project ID, which it will be used for integrating your devices.
+2. Make sure to [enable billing](https://cloud.google.com/billing/docs/how-to/modify-project) and [the Cloud IoT Core API](https://console.cloud.google.com/flows/enableapi?apiid=cloudiot.googleapis.com&redirect=https://console.cloud.google.com&_ga=2.236270149.-51976751.1517992223) for the project.
+3. On the Google IoT dashboard, you should be able to see that your project is correctly bound to Google IoT services
+
+
+
+4. Now let's access Pybytes and click _Integrations > New integration > Google Cloud_
+
+
+
+5. You'll see that Pybytes requires you to authenticate with your Google account. The account you'll be using must have the privileges to access that project.
+
+
+
+6. Once you've logged in, the first thing to do is to specify the project's ID and the region. This is required to correctly identify a resource and list all the related [registries](https://cloud.google.com/iot/docs/concepts/devices#device_registries).
+
+
+
+7. The following step allows you to create a new registry or select an existing one. Whenever you choose a registry, the corresponding topics will be loaded in the dropdown menu. This is required by Google, but it's different from the topics used by the integration to publish payloads to Google Cloud. For further information, [please read this section](https://cloud.google.com/iot/docs/how-tos/mqtt-bridge#publishing_telemetry_events).
+
+
+
+8. The last step allows you to choose the devices you want to integrate and summarises the identifying elements of this integration.
+
+
+
+9. Once you click _Create_,if the operation is successful, you'll be able to see a screen stating the correct integration.
+
+
+
+If you access the registry on Google Cloud, you'll be able to see the newly created device there as well.
+
+
+
+
+## Final considerations
+
+We create an [ES256 key with a self-signed X.509 certificate](https://cloud.google.com/iot/docs/how-tos/credentials/keys#generating_an_es256_key_with_a_self-signed_x509_certificate) for every device. The private key will be used for authenticating the device with Google's broker.
+
+You can access the [StackDriver application](https://app.google.stackdriver.com) to see the events, according to the log level you chose for the device. In case you haven't chosen one, it will inherit the level of the registry that it belongs to.
+
+**Warning**: do not delete Google devices directly from Google cloud user interface, otherwise the integration with Pybytes will stop working. Always use Pybytes' interface to delete Google devices.
diff --git a/content/pybytes/integrations/webhooks.md b/content/pybytes/integrations/webhooks.md
index 49eb85c..ac42003 100644
--- a/content/pybytes/integrations/webhooks.md
+++ b/content/pybytes/integrations/webhooks.md
@@ -5,12 +5,12 @@ aliases:
- pybytes/integrations/webhooks.md
---
-Whenever one of your integrated devices sends a signal to our MQTT broker, we perform an HTTP request defined by the user.
-You can use some presets (`DEVICE_TOKEN`, `USER_ID`, etc), which will act as placeholders and will be dynamically replaced at the moment of performing the request with the relative content.
+Whenever one of your integrated devices sends a signal to Pybytes, we perform an HTTP request defined by the user.
+You can use some presets (`DEVICE_TOKEN`, `USER_ID`, etc), which will act like placeholders and will be dynamically replaced at the moment of performing the request with the relative content.
## Integrate your devices
-Go in the sidebar, click on _New Integration_ and then on _Webhook_
+In the sidebar, click on _New Integration_ and then on _Webhook_

@@ -18,14 +18,14 @@ Fill in the form specifying the following information:
1. The remote URL to which we will send the data
2. An event name
3. The HTTP method
- 4. The request format. Please note that we will prefill some headers whenever you change the format. The prefilled headers are not modifiable.
+ 4. The request format. Please note that we will pre-fill some headers whenever you change the format. The pre-filled headers are not modifiable.
5. You can optionally add some more headers and query parameters. There's also an eased interface for basic HTTP authentication.
-We will take care of formatting the body accordingly to the chosen request format. In case you've chosen _Custom Body_, you'll have to define everything by yourself and you'll also be allowed to manually insert the presets.
+We will take care of formatting the body accordingly to the chosen request format. In case you've chosen _Custom Body_, you'll have to define everything yourself. You'll also be able to manually insert the presets.
Once you're done, you'll see a preview of the request at the bottom of the page. Remember to choose the devices you want to bind to this service.

-If everything's worked as expected, you should be able to see a summary of your integration like the following:
+If everything's worked as expected, you should be able to see a summary of your integration, similar to the following:

diff --git a/static/gitbook/assets/c03-b0-red-final.pdf b/static/gitbook/assets/c03-b0-red-final.pdf
old mode 100644
new mode 100755
index a90629d..497fbd2
Binary files a/static/gitbook/assets/c03-b0-red-final.pdf and b/static/gitbook/assets/c03-b0-red-final.pdf differ