diff --git a/docs/assets/Arduion_IoT_Error_Connecting_Incorrect_Configuration.JPG b/docs/assets/Arduion_IoT_Error_Connecting_Incorrect_Configuration.JPG
new file mode 100644
index 0000000..1075321
Binary files /dev/null and b/docs/assets/Arduion_IoT_Error_Connecting_Incorrect_Configuration.JPG differ
diff --git a/docs/example_iot_web_server.md b/docs/example_iot_web_server.md
index 64f745a..fe63db9 100644
--- a/docs/example_iot_web_server.md
+++ b/docs/example_iot_web_server.md
@@ -89,10 +89,10 @@ Once the DataLogger IoT has finished initializing, open web browser. Connect the
!!! note
- If mDNS is not supported, you can also enter the IP address of the Datalogger IoT into a web browser to view and download the log files.
+ If mDNS is not supported, you can also enter the IP address of the Datalogger IoT into a web browser to view and download the log files. You can view the IP address when the DataLogger IoT is initializing. If you have administrative privileges to the WiFi Network, you can also view the IP address through your WiFi router as well.
-Now that you have downloaded the log files, try graphing the data on a spreadsheet.
+Now that you have downloaded the log files, try graphing the data on a spreadsheet!
diff --git a/docs/hardware_hookup.md b/docs/hardware_hookup.md
index 2bcc37e..0327db2 100644
--- a/docs/hardware_hookup.md
+++ b/docs/hardware_hookup.md
@@ -45,8 +45,11 @@ If all you want to do is display your sensor readings in a serial terminal or mo
You probably already have a microSD card laying around but if you need any additional units, we have plenty [in the store](https://www.sparkfun.com/products/15107). The DataLogger IoT can use any size microSD card as long as it is formatted correctly. Please ensure your SD card is formatted correctly. There are different software tools available. Some are built into your operating system. We recommend using the [Raspberry Pi Imager Tool](https://www.raspberrypi.com/software/) to easily format the memory card as FAT32 using the GUI. Flip over the DataLogger IoT and you’ll see the latching microSD card socket. Slide in your formatted SD card and it will click neatly into place. Part of the edge of the SD card will stick out when fully inserted in the microSD card socket.
-
-
+
+
+ |
+
+
You should only insert or remove the SD card while the power is turned off or disconnected. Removing the card while the DataLogger IoT is logging will almost certainly corrupt your data. You can tell when the board has just logged by observing the addressable RGB LED. When enabled, the LED will blink blue after it has logged one data point.
@@ -61,8 +64,11 @@ To remove the microSD card, make sure power is disconnected from the DataLogger
-
-
+
+
+ |
+
+
@@ -80,8 +86,8 @@ Plug one end of your Qwiic cable into the DataLogger IoT and plug the other end
|
- DataLogger IoT and a Qwiic-Enabled Device |
- DataLogger IoT and several Qwiic-Enabled Devices Daisy Chained |
+ DataLogger IoT and a Qwiic-Enabled Device |
+ DataLogger IoT and several Qwiic-Enabled Devices Daisy Chained |
@@ -105,8 +111,11 @@ Typically one would use a multiplexor. However, we currently do not have the Dat
Now is a good time to attach a LiPo battery, if you want the DataLogger IoT to keep logging when you disconnect USB-C.
-
-
+
+
+ |
+
+
You can connect one of our standard single cell LiPo batteries to the DataLogger IoT and power it for hours, days or weeks depending on what sensors you have attached and how often you log data. The DataLogger IoT has a built-in charger too which will charge your battery at **500mA** when USB-C is connected. Please make sure your battery capacity is at least 500mAh (0.5Ah); bad things will happen if you try to charge our smallest batteries at 500mA. The yellow CHG charging LED will light up while the battery is charging and will go out once charging is complete.
@@ -121,8 +130,11 @@ You can connect one of our standard single cell LiPo batteries to the DataLogger
The USB-C connector provides power to the DataLogger IoT and acts as a serial interface for configuration and data display.
-
-
+
+
+ |
+
+
If you are going to use a microSD card to store your data, and why wouldn’t you, then insert that first before attaching your USB cable. You should only insert or remove the SD card while the power is turned off or disconnected. Removing the card while the DataLogger IoT is logging will almost certainly corrupt your data.
@@ -148,6 +160,9 @@ You’ll find full instructions on how to configure the DataLogger IoT later in
For users interested in stacking the Qwiic-enabled device on the DataLogger IoT or mounting in an enclosure, you will need some [standoffs](https://www.sparkfun.com/categories/257) to mount the boards. When mounting, note that all four mounting holes are not positioned exactly for a 1.0"x1.0" sized Qwiic board. Only two of the four mounting holes are compatible for a 1.0"x1.0" sized Qwiic board. For example the image below shows the boards stacked on each side of the DataLogger IoT. On top, the Qwiic GPS (SAM-M10Q) breakout was also able to stack by rotating the board slightly and aligning the mounting holes on the 1.6"x1.6" sized board to the other mounting holes
-
-
+
+
+ |
+
+
diff --git a/docs/hardware_overview.md b/docs/hardware_overview.md
index 336c2d5..383ddcf 100644
--- a/docs/hardware_overview.md
+++ b/docs/hardware_overview.md
@@ -7,8 +7,8 @@ In this section, we will highlight the hardware and pins that are broken out on
|
- DataLogger IoT - 9DoF (Top View) |
- DataLogger IoT - 9DoF (Bottom View) |
+ DataLogger IoT - 9DoF (Top View) |
+ DataLogger IoT - 9DoF (Bottom View) |
@@ -32,11 +32,10 @@ The SparkFun DataLogger is pretty much the same with the exception of the follow
- DataLogger IoT (Top View) |
- DataLogger IoT (Bottom View) |
+ DataLogger IoT (Top View) |
+ DataLogger IoT (Bottom View) |
-
@@ -45,7 +44,11 @@ The SparkFun DataLogger is pretty much the same with the exception of the follow
The DataLogger IoT is populated with [Espressif's ESP32-WROOM-32E module](https://www.sparkfun.com/products/17830). Espressif's ESP32 WROOM ubiquitous IoT microcontroller is a powerful WiFi, BT, and BLE MCU module that targets a wide variety of applications. For the DataLogger IoT, the firmware currently utilizes the WiFi feature.
-
+
+
+ |
+
+
!!! note
@@ -129,7 +132,11 @@ For those going the old school route, you can also bypass the voltage regulators
The top side of the board includes a CH340 USB-to-Serial Converter. The chip can be used to send serial data between the device and computer. You can view the output or configure the device through a serial terminal.
-
+
+
+ |
+
+
The driver should automatically install on most operating systems. However, there is a wide range of operating systems out there. You may need to install drivers the first time you connect the chip to your computer's USB port or when there are operating system updates. For more information, check out our [How to Install CH340 Drivers Tutorial](https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers).
@@ -137,7 +144,7 @@ The driver should automatically install on most operating systems. However, ther
-
+ |
@@ -251,8 +258,11 @@ Not shown in the image are the chip select (CS) pins. The 6DoF IMU's CS pin is c
The DataLogger IoT supports full 4-bit SDIO for fast logging and uses common microSD cards to record clear text, comma separated files. Flip over the DataLogger IoT and you'll see the latching microSD card socket. You probably already have a microSD card laying around. However, if you need any additional units, we have plenty [in the SparkFun catalog](https://www.sparkfun.com/categories/351). The DataLogger can use any size microSD card and supports FAT32 cards in addition to FAT16. Please ensure that your SD card is formatted correctly; we recommend the [Raspberry Pi Imager Tool](https://www.raspberrypi.com/software/).
-
-
+
+
+ |
+
+
Slide in your formatted SD card and it will click neatly into place. The edge of the SD card will stick out on the edge of the circuit board when it is inserted correctly.
@@ -268,8 +278,11 @@ Slide in your formatted SD card and it will click neatly into place. The edge of
As stated earlier, included on every DataLogger IoT - 9DoF is a 6DoF Inertial Measurement Unit (IMU) for built-in logging of triple-axis accelerometer and gyro. There is also a built-in triple-axis magnetometer for a complete 9 degrees of freedom. Beside each IC is a silkcreen showing the reference axis. Both are connected to the ESP32 via the SPI port. Combined, you have 9 degrees of inertial measurement! Whereas the [original 9DOF Razor](https://www.sparkfun.com/products/14001) used the old MPU-9250, this uses the ISM330DHCX and MMC5983MA. Oh, and if that wasn’t enough, it comes with a built-in temperature sensor on each IC too. So if you want to use the DataLogger IoT as a transportation logger, it will do that straight out of the anti-static bag!
-
-
+
+
+ |
+
+
!!!note
@@ -376,42 +389,49 @@ There are three LEDs populated on the board. These can be disabled with their re
* **Red**: As of firmware v01.00.02, the LED blinks red when on battery power indicating that the battery level is _VBATT_ < 10%.
* **CHG**: The on-board yellow CHG LED can be used to get an indication of the **charge status** of your battery. Below is a table of other status indicators depending on the state of the charge IC.
+
- Charge State |
- LED status |
+ Charge State |
+ LED status |
- No Battery |
- Floating (should be OFF, but may flicker) |
+ No Battery |
+ Floating (should be OFF, but may flicker) |
- Shutdown |
- Floating (should be OFF, but may flicker) |
+ Shutdown |
+ Floating (should be OFF, but may flicker) |
- Charging |
- ON |
+ Charging |
+ ON |
- Charge Complete |
- OFF |
+ Charge Complete |
+ OFF |
-
-
+
+
+ |
+
+
!!! note
On the DataLogger IoT, we included the B3DQ3BRG addressable RGB LED instead of the WS2812 with the light emitting from the top of the IC. This side emitting LED uses the same protocol as the WS2812 and was a design choice for users placing the board in an enclosure.
-
-
+
+
+ |
+
+
@@ -429,8 +449,11 @@ There are seven jumpers on the back of the DataLogger IoT - 9DoF. For more infor
* **MAG INT**: This jumper connects the MMC5983MA magnetometer's interrupt pin to pin `35` and it is open by default. Add a solder jumper to connect.
-
-
+
+
+ |
+
+
!!! note
@@ -462,8 +485,8 @@ The overall length and width with the antenna connector is about 1.66" x 2.00".
|
- DataLogger IoT - 9DoF |
- DataLogger IoT |
+ DataLogger IoT - 9DoF |
+ DataLogger IoT |
diff --git a/docs/introduction.md b/docs/introduction.md
index c78cd02..5b9d253 100644
--- a/docs/introduction.md
+++ b/docs/introduction.md
@@ -1,10 +1,5 @@
-
The SparkFun DataLogger IoT is a data logger that comes preprogrammed to automatically log IMU, GPS, and various pressure, humidity, and distance sensors. All without writing a single line of code! They come in two flavors: The [SparkFun DataLogger IoT - 9DoF](https://www.sparkfun.com/products/20594) and the [SparkFun DataLogger IoT](https://www.sparkfun.com/products/22462). Both versions of the DataLogger IoT automatically detects, configures, and logs Qwiic sensors. It was specifically designed for users who just need to capture a lot of data to a CSV or JSON file, and get back to their larger project. Save the data to a microSD card or send it wirelessly to your preferred Internet of Things (IoT) service!
diff --git a/docs/stylesheet/extra.css b/docs/stylesheet/extra.css
index c783bf0..c10aa3e 100644
--- a/docs/stylesheet/extra.css
+++ b/docs/stylesheet/extra.css
@@ -25,6 +25,11 @@
max-height: var(--md-codeblock-height, 800px);
} */
+/* Word wrap code blocks (no horizontal scroll) */
+pre code {
+ white-space : pre-wrap;
+}
+
/* ================================================================================== */
/* Icons */
@@ -409,7 +414,7 @@
display: table;
table-layout: fixed;
}
-
+
/* Sets images size in tables */
.md-typeset table:not([class]) td img {
width: 100%;
@@ -459,8 +464,8 @@
width: 25%;
font-size: 8px;
} */
-
-
+
+
/* Sets maximum image size */
.md-typeset img {
max-width: 200px;
@@ -469,11 +474,11 @@
/* Fixes positioning of admonition icon */
.md-typeset :is(.admonition-title,summary):before {
top: 0.6rem;
- left: 0.6rem;
+ left: 0.6rem;
}
/* Fixes appearance of admonition icon */
.md-typeset :is(.admonition,details)>:last-child {
- background-color: transparent;
+ background-color: transparent;
}
/* Fixes margin spacing for lists */
.md-typeset ol,ul {
diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md
index bbe9cd9..594ce55 100644
--- a/docs/troubleshooting.md
+++ b/docs/troubleshooting.md
@@ -14,7 +14,13 @@
### Issues Connecting to IoT Service
-Having trouble connecting your DataLogger IoT to an IoT service? Make sure to check your credentials and ensure that the configuration matches the IoT Service (such as your WiFi network, port, server, topic, certificates, keys, etc. to name a few). Make sure to also include the associated certificates and keys in the microSD card as well. You may see an output similar to the following message and image shown below.
+Having trouble connecting your DataLogger IoT to an IoT service? Make sure to check your credentials and ensure that the configuration matches the IoT Service (such as your WiFi network, port, server, topic, certificates, keys, etc. to name a few). Make sure to also include the associated certificates and keys in the microSD card as well. You may see an output similar to the following errors below.
+
+
+
+#### AWS IoT Error
+
+The following error occurred when the DataLogger IoT was initializing with AWS.
``` bash
[W] AWS IoT disconnected - reconnecting.......[E] AWS IoT: MQTT connection failed. Error Code: -2
@@ -25,7 +31,60 @@ Having trouble connecting your DataLogger IoT to an IoT service? Make sure to ch
-In this case, the DataLogger IoT failed to connect to AWS IoT service because port was using the default value that was saved: `1883`. Ensure that the port is set to `8883` for your IoT service (e.g. AWS IoT, Azure, and ThingSpeak) and saved in persistent memory in order for the DataLogger IoT to successfully connect. As of firmware v01.00.04, the default is `8883`.
+In this case, the DataLogger IoT failed to connect to AWS IoT service because the port was using the default value that was saved: `1883`. Ensure that the port is set to `8883` for your IoT service (e.g. AWS IoT, Azure, and ThingSpeak) and saved in persistent memory in order for the DataLogger IoT to successfully connect. As of firmware v01.00.04, the default is `8883`.
+
+
+
+#### Arduino Cloud Error 1
+
+The following error was occurred when the DataLogger IoT was initializing with Arduino Cloud.
+
+``` bash
+[W] ArduinoIoT - Thing Name not provided
+.
+.
+.
+[I] Arduino IoT: setup variables...[E] ArduinoIoT HTTP communication error [401] - token request
+[E] Arduino IoT Cloud not available or account credentials incorrect
+```
+
+
+
+
+
+
+In this case, the DataLogger IoT failed to connect to the Arduino Cloud service because the credentials were incorrect. Ensure that the credentials (i.e. API client ID, API secret, device secret, device ID) are entered correctly and saved in persistent memory in order for the DataLogger IoT to successfully connect.
+
+
+#### Arduino Cloud Error 2
+
+The following error was occurred when the DataLogger IoT was initializing with Arduino Cloud.
+
+``` bash
+[I] Arduino IoT: setup variables...[E] Arduino IoT: return code=400, failed to decode request body with content type "application/json": uuid: incorrect UUID length 37 in string "a111aaa1-1111-1111-1a1a-1a11111a1111\r"
+```
+
+In this case, the DataLogger IoT failed to connect to the Arduino Cloud service because the credentials were incorrect. The string was supposed to be the device ID. When copying and pasting the device ID from a PDF that was generated with the Arduino Cloud, a carriage return (`\r`) was also copied and entered in the serial terminal. By pasting the device ID into a text editor and then re-copying/pasting it into the serial terminal helped to ensure that the credentials were entered correctly.
+
+
+!!! note
+ The device ID in this example was a randomly generated string. You will need to check to make sure that your device matches the one that the Arduino Cloud generated specifically for your account.
+
+
+
+#### Arduino Cloud Error 3
+
+The following error was occurred when the DataLogger IoT was initializing with Arduino Cloud.
+
+``` bash
+[I] Arduino IoT: setup variables...ArduinoIoTCloudTCP::handle_ConnectMqttBroker could not connect to mqtts-up.iot.arduino.cc:8884
+ArduinoIoTCloudTCP::handle_ConnectMqttBroker 1 connection attempt at tick time 301939
+ArduinoIoTCloudTCP::handle_ConnectMqttBroker could not connect to mqtts-up.iot.arduino.cc:8884
+ArduinoIoTCloudTCP::handle_ConnectMqttBroker 2 connection attempt at tick time 307420
+[E] Arduino IoT: No Arduino Thing ID provided. Enter ID, delete Thing (SparkFunThing1) on Cloud, or enter new Thing Name.
+```
+
+In this case, the DataLogger IoT failed to connect to the Arduino Cloud service because there was already a Thing that was created. By deleting the Thing in the Arduino Cloud, the DataLogger IoT was able to automatically create another Thing and setup the variables.
diff --git a/docs/updating_firmware.md b/docs/updating_firmware.md
index bedda59..5a745c8 100644
--- a/docs/updating_firmware.md
+++ b/docs/updating_firmware.md
@@ -81,15 +81,17 @@ This option is available on ESP32 devices that contained two update firmware (OT
If you have not already, connect the DataLogger IoT to your computer using a USB cable.
-
-
+
+
+ |
+
+
Open a Serial Terminal, connect to the COM port that your DataLogger enumerated to, and set it to **115200** baud. In this case, we connected to **COM13**. Press any key to enter the Main Menu. Type 1 to enter the Settings menu. Then type 16 to enter the System Update Menu. Finally, type 4 to update the firmware over-the-air.
-
-
+
When this option is selected, the system will contact the update server and search for available upgrade firmware, selecting the latest version available. If a newer version is found, a prompt is presented to confirm the upgrade.
diff --git a/mkdocs.yml b/mkdocs.yml
index cd4d9dc..79751b8 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -166,6 +166,7 @@ plugins:
markdown_extensions:
- pymdownx.highlight:
anchor_linenums: true
+ line_spans: __span
- pymdownx.inlinehilite
- pymdownx.snippets:
# base_path: ['./docs']