Merge pull request #1319 from fifieldt/seeeeed

Add Documentation for Seeed WM1110 devices
This commit is contained in:
Ben Meadors 2024-07-13 06:13:56 -05:00 committed by GitHub
commit e32612e823
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 227 additions and 1 deletions

View file

@ -20,4 +20,7 @@ nRF52 devices are able to accept [OTA firmware updates](/docs/getting-started/fl
You may wish to perform a [Factory Erase](/docs/getting-started/flashing-firmware/nrf52/nrf52-erase) prior to installing firmware to clear data that may change format and location between releases.
### Convert RAK4631-R to RAK4631
If your device did not come with the Arduino bootloader you will need to [perform the conversion](/docs/getting-started/flashing-firmware/nrf52/convert-rak4631r).
If your device did not come with the Arduino bootloader you will need to [perform the conversion](/docs/getting-started/flashing-firmware/nrf52/convert-rak4631r).
### Use Raspberry Pi as a SWDIO Flash Tool
If your device can't be flashed through USB or Bluetooth, another option might be a [direct SWDIO connection](/docs/getting-started/flashing-firmware/nrf52/swdio).

View file

@ -0,0 +1,105 @@
---
id: swdio
title: SWDIO using a Raspberry Pi
sidebar_label: SWDIO using a Raspberry Pi
sidebar_position: 6
description: Instructions for uploading firmware through SWDIO by using a Raspberry Pi.
---
Most Meshtastic devices can be flashed simply using USB.
However, some (eg Seeed WM1110) require the use of an external device that can connect via "SWDIO".
There are dedicated devices such as the [RAKDAP1](https://store.rakwireless.com/products/daplink-tool)
that can do this work. However, for many people a Raspberry Pi is more convenient.
This article provides instructions on how use a Raspberry Pi as a SWDIO Flash Tool.
## Set up Wiring
The first step is to connect two wires between your Raspberry Pi and the SWDIO ports on your NRF52-based device.
Connect GPIO pin 11 on your Raspbery Pi to the CLK pin on the Meshtastic Device.
Connect GPIO pin 8 on your Raspbery Pi to the DIO pin on the Meshtastic Device.
Ensure you get the GPIO numbers correct.
Plug in your Raspberry Pi to USB power.
Plug in the Meshtastic Device to power.
## Install OpenOCD
You can use OpenOCD to manage the SWDIO connection with the Meshtastic Device.
Install it on your Raspberry Pi.
```
$ sudo apt update
$ sudo apt install libtool autoconf automake texinfo telnet gdb-multiarch git
$ git clone git://repo.or.cz/openocd.git
$ cd openocd/
$ ./bootstrap
$ ./configure --enable-bcm2835gpio
$ make -j4
$ sudo make install
```
## Check connection
Let's try connecting to the NRF52-based device with SWDIO before we do anything with firmware.
All the configuration you need is in the openocd repository.
```
$ openocd -f ./openocd/tcl/interface/raspberrypi-native.cfg -c "transport select swd" -f openocd/tcl/target/nrf52.cfg -s tcl
```
The first flag selects the Raspberry Pi as your host machine, the transport is SWDIO, and the last flag says you are connecting to a nRF52-based chip.
You should see something like this:
```
Open On-Chip Debugger 0.12.0+dev-00633-gad87fbd1c
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
srst_only separate srst_gates_jtag srst_push_pull connect_deassert_srst
swd
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : BCM2835 GPIO JTAG/SWD bitbang driver
Info : clock speed 100 kHz
Info : SWD DPIDR 0x2ba01477
Info : [nrf52.cpu] Cortex-M4 r0p1 processor detected
Info : [nrf52.cpu] target has 6 breakpoints, 4 watchpoints
Info : [nrf52.cpu] Examination succeed
Info : [nrf52.cpu] starting gdb server on 3333
Info : Listening on port 3333 for gdb connections
Info : accepting 'telnet' connection on tcp/4444
```
If you see “Error connecting DP: cannot read IDR”, then you've probably connected the wires to the wrong place.
## Obtaining Firmware
Check the instructions for your [hardware](/docs/hardware/devices) to find the correct firmware for your device.
Then, copy the firmware file to your Raspberry Pi.
## Flashing Firmware
Once you have openocd running, you can connect to your Meshtastic device using telnet.
Flashing is as simple as running a few commands inside the telnet session:
```
$ telnet 127.0.0.1 4444
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
Open On-Chip Debugger
> init
> reset init
> halt
> nrf5 mass_erase
> program new2.uf2 verify
> reset
> exit 0
```
Unplug the power and plug it back in after flashing.
## Connecting
Congratulations, you should now be able to connect to your device through Bluetooth in the Meshtastic app.

View file

@ -167,3 +167,13 @@ All-in-one development device with LoRa, WiFi, BT, touchscreen, accelerometer, g
| Name | MCU | Radio | WiFi | BT | GPS |
| :-------------------- | :--------------- | :----- | :--: | :-: | :-: |
| [unPhone](./unPhone) | ESP32-S3-WROOM-1 | RF950W | YES | 5.0 | NO |
### [Seeed Wio-WM1110](./seeed-wm1110)
nRF52840-based development boards with GPS, and multiple ports to attach sensors.
| Name | MCU | Radio | WiFi | BT | GPS |
| :--------------------------------------------------------- | :------- | :----- | :--: | :-: | :-: |
| [Seeed Wio-WM1110 Dev Kit](./seeed-wm1110?wio-sdk-wm1110) | nRF52840 | LR1110 | YES | 5.3 | YES |
| [Seeed Wio Tracker 1110](./seeed-wm1110?wio-tracker-wm1110) | nRF52840 | LR1110 | YES | 5.3 | YES |

View file

@ -0,0 +1,108 @@
---
id: seeed-wm1110
title: Seeed Wio-WM1100
sidebar_label: Seeed Wio-WM1100
sidebar_position: 15
---
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
<Tabs
groupId="wm1110"
queryString="wm1110"
defaultValue="wio-sdk-wm1110"
values={[
{label: 'WM110 Dev Kit', value:'wio-sdk-wm1110'},
{label: 'WM110 Tracker', value: 'wio-tracker-wm1110'},
]}>
<TabItem value="wio-sdk-wm1110">
## Seeed Wio-WM1110 Dev Kit
:::caution Firmware Version Notice
Basic support for this device has only just been added, and not all features work
:::
- **MCU**
- Nordic nRF52840 (WiFi & Bluetooth)
- **LoRa Transceiver**
- Semtech LR1110
- **Frequency options**
- 868 MHz
- 915 MHz
- 923 MHz
- **Navigation Module**
- Semtech LR1110
- **Connectors**
- USB-C
- LoRa Antenna: SMA antenna connector and U.FL/IPEX
- GNSS Antenna: RP-SMA antenna connector U.FL/IPEX
- NFC Antenna: U.FL/IPEX
- GPIO
- I2C x1
- UART x1
- Solar Panel
- SWDIO
### Features
- Temperature and Humidity Sensor (SHT41)
- 3-Axis Accelerometer(LIS3DHTR)
- Reset switch, power jumpers, 2 configurable buttons
- AAA Battery x3
- Screen sold separately
### Resources
- Firmware file: `firmware-wio-sdk-wm1110-X.X.X.xxxxxxx.bin`
- Purchase Links:
- International
- [Seeed Studio](https://www.seeedstudio.com/Wio-WM1110-Dev-Kit-p-5677.html)
</TabItem>
<TabItem value="wio-tracker-wm1110">
## Seeed Wio Tracker 1110
:::caution Firmware Version Notice
Basic support for this device has only just been added, and not all features work
:::
- **MCU**
- Nordic nRF52840 (WiFi & Bluetooth)
- **LoRa Transceiver**
- Semtech LR1110
- **Frequency options**
- 868 MHz
- 915 MHz
- 923 MHz
- **Navigation Module**
- Semtech LR1110
- **Connectors**
- USB-C
- LoRa Antenna: on-board and U.FL/IPEX
- GNSS Antenna: on-board and U.FL/IPEX
- Grove connectors: ADC x1, I2C x1, UART x1, Digital x3
### Features
- Temperature and Humidity Sensor (SHT41)
- 3-Axis Accelerometer(LIS3DHTR)
- Reset switch, power jumpers
- Screen sold separately
### Resources
- Firmware file: `firmware-wio-tracker-wm1110-X.X.X.xxxxxxx.bin`
- Purchase Links:
- International
- [Seeed Studio](https://www.seeedstudio.com/Wio-Tracker-1110-Dev-Board-p-5799.html)
</TabItem>
</Tabs>