Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
bboyho committed Jan 26, 2024
2 parents 61f0f92 + 0754847 commit 74ebfbf
Show file tree
Hide file tree
Showing 7 changed files with 26 additions and 35 deletions.
8 changes: 3 additions & 5 deletions docs/firmware_update.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
From time to time, SparkFun will release new firmware for the BlueSMiRF V2 product line to add and improve functionality. For most users, firmware can be upgraded over a 2.4GHz WiFi network using the [OTA method](firmware_update.md#updating-firmware-over-the-air). Users can also update the firmware manually using a Command Line Interface (CLI)
From time to time, SparkFun will release new firmware for the BlueSMiRF v2 product line to add and improve functionality. For most users, firmware can be upgraded over a 2.4GHz WiFi network using the [OTA method](firmware_update.md#updating-firmware-over-the-air). Users can also update the firmware manually using a Command Line Interface (CLI)



### Updating Firmware Over-The-Air (OTA)

Once the `AT-WiFiSSID` and `AT-WiFiPassword` settings have been entered for your local WiFi network, the `ATC` command can be issued to check for new firmware. If new firmware is available, send the `ATU` command to begin an update.



# Manually Updating Firmware Over Serial

Because it's much easier to use, we recommend the OTA firmware update process. If that fails for some reason, the following CLI method can be used.
Expand All @@ -16,7 +14,7 @@ Because it's much easier to use, we recommend the OTA firmware update process. I

### Entering Bootloader Mode

Hold the **PAIR** button while powering the BlueSMiRF V2. This will cause the ESP32 to enter bootloader mode. Once the BlueSMiRF V2 is in bootloader mode, the **STATUS** LED will be dimly lit and the **CONNECT** LED will be off.
Hold the **PAIR** button while powering the BlueSMiRF v2. This will cause the ESP32 to enter bootloader mode. Once the BlueSMiRF v2 is in bootloader mode, the **STATUS** LED will be dimly lit and the **CONNECT** LED will be off.

We recommend using a [breadboard](https://www.sparkfun.com/products/12002) or [jumper wires](https://www.sparkfun.com/products/11026) to connect the BlueSMiRF to a [USB-to-Serial](https://www.sparkfun.com/products/15096) connection. At a minimum, you will need to connect the UART pins, power, and ground as stated in the hardware hookup. Remember, the TX and RX connections must be crossed over.

Expand Down Expand Up @@ -91,7 +89,7 @@ We recommend using a [breadboard](https://www.sparkfun.com/products/12002) or [j
</div>

!!! note
The connection also includes two additional connection for flow control: <span STYLE="text-decoration:overline">RTS</span> and CTS. These two connections are not needed for a basic serial UART connection. However, using all six wires can help make a tighter connection on the 1x6 header. The wire colors also connect TXO-to-RXI and RXI-to-RXO to indicate that it is not a direct connection between the two boards and the 1x6 header.
The connection also includes two additional connection for flow control: <span STYLE="text-decoration:overline">RTS</span> and <span STYLE="text-decoration:overline">CTS</span>. These two connections are not needed for a basic serial UART connection. However, using all six wires can help make a tighter connection on the 1x6 header. The wire colors also connect TXO-to-RXI and RXI-to-RXO to indicate that it is not a direct connection between the two boards and the 1x6 header.

<div style="text-align: center;">
<table>
Expand Down
4 changes: 2 additions & 2 deletions docs/github/contribute.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Spot something wrong? Feel free to contribute our open-source design and documen
## Improve our Documentation
All of this documentation can be modified by you! Please help us make it better.

* These pages are contained in the [`docs` folder of the SparkFun BlueSMiRF V2 repository](https://github.com/sparkfun/SparkFun_BlueSMiRF-v2/tree/main/docs).
* These pages are contained in the [`docs` folder of the SparkFun BlueSMiRF v2 repository](https://github.com/sparkfun/SparkFun_BlueSMiRF-v2/tree/main/docs).

### Submit a Correction
1. Fork this repo
Expand All @@ -16,7 +16,7 @@ All of this documentation can be modified by you! Please help us make it better.
## Improve our Hardware Design
All of our designs are open-source! Please help us make it better.

* Our board design files are contained in the [`Hardware` folder of the SparkFun BlueSMiRF V2 repository](https://github.com/sparkfun/SparkFun_BlueSMiRF-v2/tree/main/Hardware).
* Our board design files are contained in the [`Hardware` folder of the SparkFun BlueSMiRF v2 repository](https://github.com/sparkfun/SparkFun_BlueSMiRF-v2/tree/main/Hardware).

### Submit a Design Improvement
1. Fork this repo
Expand Down
4 changes: 2 additions & 2 deletions docs/github/file_issue.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Spot something wrong? Please let us know. <a href="https://github.com/sparkfun/S

All of this documentation can be modified by you! Please help us make it better.

* The documentation files for these pages are contained in the [`docs` folder of the SparkFun BlueSMiRF V2 repository](https://github.com/sparkfun/SparkFun_BlueSMiRF-v2/tree/main/docs).
* The documentation files for these pages are contained in the [`docs` folder of the SparkFun BlueSMiRF v2 repository](https://github.com/sparkfun/SparkFun_BlueSMiRF-v2/tree/main/docs).

### Spot something wrong?
If a section of the documentation is incorrect, please [open an issue](https://github.com/sparkfun/SparkFun_BlueSMiRF-v2/issues) and let us know.
Expand All @@ -30,7 +30,7 @@ If a section of the documentation is incorrect, please [open an issue](https://g

All of our designs are open-source! Please help us make it better.

* Our board design files are contained in the [`Hardware` folder of the SparkFun BlueSMiRF V2 repository](https://github.com/sparkfun/SparkFun_BlueSMiRF-v2/tree/main/Hardware).
* Our board design files are contained in the [`Hardware` folder of the SparkFun BlueSMiRF v2 repository](https://github.com/sparkfun/SparkFun_BlueSMiRF-v2/tree/main/Hardware).

### Does something not make sense?
If part of the design is confusing, please [open an issue](https://github.com/sparkfun/SparkFun_BlueSMiRF-v2/issues) and let us know.
Expand Down
12 changes: 6 additions & 6 deletions docs/hardware_hookup.md
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ Below is one example between the serial basic breakout (CH340, USB-C) and the Bl



Adding a simple 1x6 stackable header between the jumper wires will make a quick adapter with the M/F jumper wires and USB-to-serial converter. You'll just need to match the DTR and GND pins. This is useful for those that need to constantly configure the BlueSMiRF V2's settings and re-reconnect to a USB-to-serial converter.
Adding a simple 1x6 stackable header between the jumper wires will make a quick adapter with the M/F jumper wires and USB-to-serial converter. You'll just need to match the DTR and GND pins. This is useful for those that need to constantly configure the BlueSMiRF v2's settings and re-reconnect to a USB-to-serial converter.

<div style="text-align: center;">
<table>
Expand Down Expand Up @@ -240,21 +240,21 @@ Remember, for those that are using the PTH version, you will need to solder eith

### BlueSMiRF v2 to Standard Serial UART Port

For boards that already include the footprint for a standard serial UART port, you can connect directly to the pins. You will find these on a few Arduino development boards. The Arduino Pro, Arduino Pro Mini, and LilyPad Arduino 328 Main Board are just a few boards that have the standard port. You will also notice certain boards will have the standard serial UART port labeled as the RTCM Correction Port on SparkFun high precision GNSS breakout boards. For certain boards that have a male header soldered, you may need to consider soldering a 1x6 female header on the BlueSMiRF V2 PTH.
For boards that already include the footprint for a standard serial UART port, you can connect directly to the pins. You will find these on a few Arduino development boards. The Arduino Pro, Arduino Pro Mini, and LilyPad Arduino 328 Main Board are just a few boards that have the standard port. You will also notice certain boards will have the standard serial UART port labeled as the RTCM Correction Port on SparkFun high precision GNSS breakout boards. For certain boards that have a male header soldered, you may need to consider soldering a 1x6 female header on the BlueSMiRF v2 PTH.

<div style="text-align: center;">
<table>
<tr style="vertical-align:middle;">
<td style="text-align: center; vertical-align: middle;"><a href="../assets/img/24113-BlueSMiRF_v2_Arduino_Pro_Mini_3V3_Power_Supply.jpg"><img src="../assets/img/24113-BlueSMiRF_v2_Arduino_Pro_Mini_3V3_Power_Supply.jpg" width="600px" height="600px" alt="BlueSMiRF v2 Replacing Serial Connection on the Arduino Pro Mini 3.3V Serial Header Port"></a></td>
<td style="text-align: center; vertical-align: middle;"><a href="../assets/img/24113-BlueSMiRF_v2_Arduino_RedBoard_IoT_ESP32_ZED-F9P_RTCM_Correction_Port.jpg"><img src="../assets/img/24113-BlueSMiRF_v2_Arduino_RedBoard_IoT_ESP32_ZED-F9P_RTCM_Correction_Port.jpg" width="600px" height="600px" alt="RedBoard IoT Development Board ESP32 Connected to the ZED-F9P with the BlueSMiRF V2 Connected to the ZED-F9P's RTCM Correction Port"></a></td>
<td style="text-align: center; vertical-align: middle;"><a href="../assets/img/24113-BlueSMiRF_V2_High_Precision_GNSS_UM980_RTCM_Correction_Port.jpg"><img src="../assets/img/24113-BlueSMiRF_V2_High_Precision_GNSS_UM980_RTCM_Correction_Port.jpg" width="600px" height="600px" alt="High Precision GNSS UM980 with the BlueSMiRF V2 Connected to the UM980's RTCM Correction Port"></a></td>
<td style="text-align: center; vertical-align: middle;"><a href="../assets/img/24113-BlueSMiRF_v2_Arduino_RedBoard_IoT_ESP32_ZED-F9P_RTCM_Correction_Port.jpg"><img src="../assets/img/24113-BlueSMiRF_v2_Arduino_RedBoard_IoT_ESP32_ZED-F9P_RTCM_Correction_Port.jpg" width="600px" height="600px" alt="RedBoard IoT Development Board ESP32 Connected to the ZED-F9P with the BlueSMiRF v2 Connected to the ZED-F9P's RTCM Correction Port"></a></td>
<td style="text-align: center; vertical-align: middle;"><a href="../assets/img/24113-BlueSMiRF_V2_High_Precision_GNSS_UM980_RTCM_Correction_Port.jpg"><img src="../assets/img/24113-BlueSMiRF_V2_High_Precision_GNSS_UM980_RTCM_Correction_Port.jpg" width="600px" height="600px" alt="High Precision GNSS UM980 with the BlueSMiRF v2 Connected to the UM980's RTCM Correction Port"></a></td>
</tr>
<tr style="vertical-align:middle;">
<td style="text-align: center; vertical-align: middle;"><i>BlueSMiRF v2 Replacing Serial Connection on the Arduino Pro Mini 3.3V Serial Header Port</i>
</td>
<td style="text-align: center; vertical-align: middle;"><i>BlueSMiRF V2 Connected to the ZED-F9P's RTCM Correction Port</i>
<td style="text-align: center; vertical-align: middle;"><i>BlueSMiRF v2 Connected to the ZED-F9P's RTCM Correction Port</i>
</td>
<td style="text-align: center; vertical-align: middle;"><i>UM980 with the BlueSMiRF V2 Connected to the UM980's RTCM Correction Port</i>
<td style="text-align: center; vertical-align: middle;"><i>UM980 with the BlueSMiRF v2 Connected to the UM980's RTCM Correction Port</i>
</td>

</tr>
Expand Down
20 changes: 7 additions & 13 deletions docs/hardware_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ There is also a version with PTHs out in the wild and it is essentially the same

### ESP32-PICO-MINI-02

The board includes the smaller ESP32-PICO-MINI-02 module from Espressif. The SparkFun BlueSMiRF v2 is perfect for short range applications that require point-to-point communication. We've written some firmware to allow serial UART data to be sent between two Bluetooth devices. The supported protocols include SPP and BLE. Testing a pair of BlueSMiRF V2s and we got about ~110 feet (~33m) in the SparkFun building. The TX (10k) and RX (50k) buffers are also very large to allow for radio delays. The included firmware also includes a set of AT commands to configure the ESP32. This includes the baud rate, flow control, LED mode, and Over-The-Air (OTA) updates over a 2.4GHz WiFi network to name a few. You can also manually reprogram the ESP32 module using the command line interface as well! Just make sure to connect Tx and Rx between the BlueSMiRF and a USB-to-serial converter.
The board includes the smaller ESP32-PICO-MINI-02 module from Espressif. The SparkFun BlueSMiRF v2 is perfect for short range applications that require point-to-point communication. We've written some firmware to allow serial UART data to be sent between two Bluetooth devices. The supported protocols include SPP and BLE. Testing a pair of BlueSMiRF v2s and we got about ~110 feet (~33m) in the SparkFun building. The TX (10k) and RX (50k) buffers are also very large to allow for radio delays. The included firmware also includes a set of AT commands to configure the ESP32. This includes the baud rate, flow control, LED mode, and Over-The-Air (OTA) updates over a 2.4GHz WiFi network to name a few. You can also manually reprogram the ESP32 module using the command line interface as well! Just make sure to connect Tx and Rx between the BlueSMiRF and a USB-to-serial converter.

<div style="text-align: center;">
<table>
Expand Down Expand Up @@ -115,13 +115,13 @@ The reset PTH labeled as <span STYLE="text-decoration:overline">RST</span> will
</div>


Both boards include a standard serial UART header seen on many USB-to-serial converters: <span STYLE="text-decoration:overline">RTS</span>/RXI/TXO/VCC/<span STYLE="text-decoration:overline">CTS</span>/GND . Depending on the version that you receive, one will be PTH while the other is includes right angle male headers. Due to spacing, the PTH version will also have a different silkscreen labels.
Both boards include a standard serial UART header seen on many USB-to-serial converters: <span STYLE="text-decoration:overline">RTS</span>/RXI/TXO/VCC/<span STYLE="text-decoration:overline">CTS</span>/GND. Depending on the version that you purchase, one will be PTH while the other includes right angle male headers. Due to spacing, the PTH version will also have slightly different silkscreen labels.

* <b><span STYLE="text-decoration:overline">RTS</span></b> / <b><span STYLE="text-decoration:overline">RT</b> &mdash; The Return to Send is an output and is used for hardware flow control in some serial interfaces. Unlike Tx and RX, this pin does not include logic level translation. This output is not critical for simple serial communication.
* <b><span STYLE="text-decoration:overline">RTS</span></b> / <b><span STYLE="text-decoration:overline">RT</b> &mdash; The Ready to Send is an output and is used for hardware flow control in some serial interfaces. This output is not critical for simple serial communication. If flow control is enabled, BlueSMiRF will drive its RTS low if its serial buffer is full (the radio is telling the host system to hold its horses).
* **RXI** / **RI** &mdash; The serial receive is an input. This input pin receives serial data from another serial device. Logic level circuitry is included on this pin. **It should be connected to the TX of the other device.**
* **TXO** / **TO** &mdash; The serial transmit is an output. This output pin sends serial data to another device. Logic level circuitry is included on this pin. **It should be connected to the RX of the other device.**
* **VCC**/ **V** / **3V3-5V** &mdash; This input voltage supply signal is routed through a AP2112K voltage regulator and brought down 3.3V for the ESP32. We will assume that it is attached to another device's standard serial port and it is providing power to the BlueSMiRF v2. As stated earlier, the recommended input voltage is between **3.3V to 5V**.
* <b><span STYLE="text-decoration:overline">CTS</span></b> / <b><span STYLE="text-decoration:overline">CT</span></b> &mdash; The Clear to Send is an input. CTS is another serial flow control signal. Unlike Tx and RX, this pin does not include logic level translation. Like RTS, it's not required for most, simple serial interfaces.
* <b><span STYLE="text-decoration:overline">CTS</span></b> / <b><span STYLE="text-decoration:overline">CT</span></b> &mdash; The Clear to Send is an input. CTS is another serial flow control signal. Like RTS, it's not required for most, simple serial interfaces. If flow control is enabled, BlueSMiRF will send data when its CTS pin is driven low (the host system is telling the radio that it's ready for more serial data).
* **GND** / **G** &mdash; The 0V reference voltage, common to any other device connected to the Bluetooth modem.

<div style="text-align: center;">
Expand Down Expand Up @@ -168,18 +168,12 @@ Both boards include a standard serial UART header seen on many USB-to-serial con
</table>
</div>


!!! warning
While the TX and RX pins have logic level circuitry, the <span style="text-decoration:overline">CTS</span> and <span style="text--decoration:overline">RTS</span> do not. Make sure to be careful when connecting the flow control pins to a 5V system.



### Button

The PAIR button is more than meets the eye. This button has more than one function depending on how long it is pushed down.

* **Short Push** &mdash; Press and hold the button down between **4 to 8 seconds** will initiate pairing with another Bluetooth device. During that period of time, the **Status** and **Connect** LEDs will slowly blink back and forth. When the BlueSMiRF V2 fails to discover any compatible devices, it will enter _Discoverable_ mode.
* **Long Push** &mdash; Press and hold the down for **more than 8 seconds** to set the ESP32 back to its factory default settings.
* **Short Push** &mdash; Press and hold the button down between **4 to 8 seconds** will initiate pairing with another Bluetooth device. During that period of time, the **Status** and **Connect** LEDs will slowly blink back and forth. When the BlueSMiRF v2 fails to discover any compatible devices, it will enter _Discoverable_ mode.
* **Long Push** &mdash; Press and hold the down for **more than 8 seconds** to set the ESP32 back to its factory default settings.

<div style="text-align: center;">
<table>
Expand All @@ -190,7 +184,7 @@ The PAIR button is more than meets the eye. This button has more than one functi
</div>

!!! note
Users can also set the BlueSMiRF v2 in bootloader mode. In this mode, you can update the firmware manually through serial using a command line interface. Users will need to hold down the PAIR button when the BlueSMiRF v2 is not powered. Applying power will set the microcontroller to bootloader mode.
Users can also set the BlueSMiRF v2 in bootloader mode. In this mode, you can update the firmware manually through serial using a command line interface. Users will need to hold down the PAIR button when the BlueSMiRF v2 is not powered. Applying power will put the microcontroller into bootloader mode.

For more information about using the button for each mode, check out the section about the [button control](../button/).

Expand Down
Loading

0 comments on commit 74ebfbf

Please sign in to comment.