Merge branch 'master' into dependabot/npm_and_yarn/braces-3.0.3

This commit is contained in:
rcarteraz 2024-06-20 13:43:07 -07:00 committed by GitHub
commit 150e468f57
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 177 additions and 24 deletions

View file

@ -97,6 +97,8 @@ us on [Discord](https://discord.com/invite/ktMAKGBnBs) to add your group.
- [UK Meshtastic North East England](https://www.facebook.com/groups/meshtasticnortheastengland/)
## United States
- [Midwest Mesh](https://discord.gg/wYwD56K439)
### Arkansas
- [Fort Smith Mesh](https://discord.com/invite/nwsvcXeqMX)

View file

@ -2,6 +2,7 @@
id: build
title: Building Meshtastic Firmware
sidebar_label: Building Firmware
sidebar_position: 2
---
Meshtastic uses [PlatformIO](https://platformio.org), a development environment that enables easy multi-platform development and centralized tooling.
@ -17,9 +18,9 @@ Meshtastic uses [PlatformIO](https://platformio.org), a development environment
```shell
cd firmware && git submodule update --init
```
:::info
If you want to build the RP2040 targets and get a 'Filename too long' error on Windows, please refer to [the Platformio documentation for this toolchain](https://arduino-pico.readthedocs.io/en/latest/platformio.html#important-steps-for-windows-users-before-installing)
:::
:::info
If you want to build the RP2040 targets and get a 'Filename too long' error on Windows, please refer to [the Platformio documentation for this toolchain](https://arduino-pico.readthedocs.io/en/latest/platformio.html#important-steps-for-windows-users-before-installing)
:::
## Build

View file

@ -0,0 +1,55 @@
---
id: nrf52-guide
title: Development Guide for nRF52
sidebar_label: NRF52 Guide
sidebar_position: 6
---
This document is a collection of tips and best practices for developing on the nRF52 platform. It is designed to evolve continuously with the latest information, and contributions are welcome through pull requests on GitHub.
## Using the NanoDAP USB debugging probe
This is a mini-HOWTO on installing the appropriate firmware and adapter software, it is loosely based on [this tutorial by RAK](https://docs.rakwireless.com/Product-Categories/Accessories/RAKDAP1-Flash-and-Debug-Tool/Quickstart/#rak4600-evaluation-board).
### Required hardware
The [RAKDAP1/NanoDAP](https://store.rakwireless.com/products/daplink-tool) is a very reasonably priced ($10) USB-based debugging probe. It can be used on many ARM targets but is particularly suited for the nRF52 CPUs. It seems to be based on the ARM [daplink](https://daplink.io/) [project](https://github.com/ARMmbed/DAPLink). The fork of this project is located here: [nanoDAP](https://github.com/wuxx/nanoDAP). The fork is fairly old with respect to the latest daplink goodness, but it seems fine.
If you are looking to buy a probe, there are many other daplink-based devices available. They are suspected to be mostly identical. If you find one that works well, please add a note to this document.
### Required software
You'll need to install the [pyocd](https://pyocd.io/) application to allow VSCode to talk to the NanoDAP. You first install the tool itself but then must add the support files for the nrf52840:
```bash
pip3 install pyocd
pyocd pack --i nrf52840
pyocd pack -s
```
If you are developing on a linux system, you will need to install the udev rules for the NanoDAP.
This is done by copying the rules file from the pyocd distribution to the udev rules directory [per these instructions](https://github.com/pyocd/pyOCD/tree/main/udev).
### Connecting the NanoDAP to your nRF52 target
The NanoDAP has a 10-pin connector, but only three of these pins need to be connected:
- **Ground**: Connects to the ground on the target.
- **TMS-IO**: Connects to SWDIO on the target.
- **TCK-CK**: Connects to SWCLK on the target.
Some web instructions recommend connecting the RESET and 3V3 pins, but this is usually not necessary.
#### Wiring Guide
This image shows an example connection to a RAK4630 board:
![RAK4630 DAP connection](/img/RAKDAP1_New_1.webp)
Photo Courtesy of [RAK Wireless](https://docs.rakwireless.com/assets/images/accessories/rakdap1-flash-and-debug-tool/RAKDAP1_New_1.png).
### Using the NanoDAP with VSCode
The Meshtastic project has a special build environment/target which has been configured to work with the NanoDAP. To use it select the "env:rak3631_dap" target via the command palette or in the bottom left of your VSCode/PlatformIO window. Once that target is selected it changes two things:
- Device programming is no longer performed via the USB bootloader. Instead you you select "Upload" it will use the NanoDAP to program the device.
- The "Debug" button in VSCode will be enabled. If you click that button it will launch the ICE assisted debugger and you can set breakpoints etc...

View file

@ -2,6 +2,7 @@
id: oled-guide
title: OLED Localization Guide
sidebar_label: OLED Localization
sidebar_position: 3
---
1. Create an extended ASCII custom font. Use a glyph editor to create a new font file. The easiest way is to use the online [glyph editor](https://rawgit.com/ThingPulse/esp8266-oled-ssd1306/master/resources/glyphEditor.html) from the OLED library. ([glyph editor source code](https://github.com/ThingPulse/esp8266-oled-ssd1306/tree/master/resources))

View file

@ -2,6 +2,7 @@
id: portnum
title: Meshtastic Port Numbers
sidebar_label: Port Numbers
sidebar_position: 4
---
Any new app that runs on the device or via sister apps on phones/PCs should pick and use a unique "portnum" for their applications use.

View file

@ -2,6 +2,7 @@
id: stacktraces
title: Stacktraces
sidebar_label: Stacktraces
sidebar_position: 5
---
## Decoding Stacktraces

View file

@ -194,7 +194,7 @@ This device may have issues charging a connected battery if utilizing a USB-C to
### Flashing
If you are having issues flashing the wireless tracker, especially if it's your first attempt, you may need to manually place the device into Espressif's Firmware Download mode. Please follow the process below to do so.
To flash ESP32-S3 devices like the Wireless Tracker, you typically need to place them in Espressif's firmware download mode. Use the "1200bps reset" button in the web flasher to do this. If this method does not work for any reason, you can follow the manual process below.
:::warning

View file

@ -7,11 +7,13 @@ sidebar_position: 1
---
## Supported Devices
Meshtastic firmware can be installed on a wide range of development boards. The list below provides a brief comparison of currently supported hardware.
### Which board should I choose?
While all the boards listed on this page will run Meshtastic and mesh with each other, some current community favorites are:
- RAK Meshtastic Start Kit
- Station G1
- LILYGO LoRa T3-S3
@ -20,20 +22,22 @@ While all the boards listed on this page will run Meshtastic and mesh with each
Please do your research and choose the board that meets your needs (or maybe already have in a bin somewhere).
:::info
- The Semtech SX1262 transceiver is newer than the SX1276 and provides increased receive and transmit performance.
- nRF52-based devices use a fraction of the power compared to ESP32-based devices and are therefore generally preferred for solar and handset applications.
- ESP32-based devices require more power to operate but are typically lower-cost alternatives that do perform well when using house power, or for handsets that only require a day or two of runtime, and for applications that require WiFi connectivity.
:::
:::
### [RAK Wisblock](./rak/)
Modular hardware system with Base, Core and Peripheral modules including the low-power and solar ready nRF52840-based Meshtastic Starter Kit (19007 & 4631).
[**WisBlock Core Modules**](./rak/core-module/)<br/>
| Name | MCU | Radio | WiFi | BT | GPS |
| Name | MCU | Radio | WiFi | BT | GPS |
|:-----------------------------------------------|:---------|:-------|:------------:|:---:|:------:|
| [RAK4631](./rak/core-module?rakcore=RAK4631) | nRF52840 | SX1262 | NO | 5.0 | add-on |
| [RAK11200](./rak/core-module?rakcore=RAK11200) | ESP32 | add-on | 2.4GHz b/g/n | 4.2 | add-on |
| [RAK11310](./rak/core-module?rakcore=RAK11310) | RP2040 | SX1262 | NO | NO | add-on |
| [RAK4631](./rak/core-module?rakcore=RAK4631) | nRF52840 | SX1262 | NO | 5.0 | add-on |
| [RAK11200](./rak/core-module?rakcore=RAK11200) | ESP32 | add-on | 2.4GHz b/g/n | 4.2 | add-on |
| [RAK11310](./rak/core-module?rakcore=RAK11310) | RP2040 | SX1262 | NO | NO | add-on |
[**Base Boards**](./rak/base-board/)<br/>
[RAK5005-O](./rak/base-board?rakbase=RAK5005-O)<br/>
@ -59,10 +63,11 @@ RAK12013 Radar Sensor<br/>
RAK13800 Ethernet Module<br/>
### [LILYGO® T-Beam](./tbeam/)
Boards complete with GPS, 18650 battery holder, and optional screen.
| Name | MCU | Radio | WiFi | BT | GPS |
|:-----------------------------------------|:---------|:------------------|:------------:|:---:|:---:|
| :--------------------------------------- | :------- | :---------------- | :----------: | :-: | :-: |
| [T-Beam v0.7](./tbeam/?t-beam=0.7) | ESP32 | SX1276 | 2.4GHz b/g/n | 4.2 | YES |
| [T-Beam v1.1](./tbeam/?t-beam=1.1) | ESP32 | SX1276 | 2.4GHz b/g/n | 4.2 | YES |
| [T-Beam with M8N](./tbeam/?t-beam=m8n) | ESP32 | SX1276<br/>SX1262 | 2.4GHz b/g/n | 4.2 | YES |
@ -70,17 +75,19 @@ Boards complete with GPS, 18650 battery holder, and optional screen.
| [T-BeamSUPREME](./tbeam/?t-beam=supreme) | ESP32-S3 | SX1262 | 2.4GHz b/g/n | 5.0 | YES |
### [LILYGO® T-Echo](./techo/)
All-in-one unit with E-Ink screen, GPS and battery in injection-molded case. Features the low-power nRF52840 for long battery life.
All-in-one unit with E-Ink screen, GPS and battery in injection-molded case. Features the low-power nRF52840 for long battery life.
| Name | MCU | Radio | WiFi | BT | GPS |
|:-------------------|:---------|:-------|:----:|:---:|:---:|
| :----------------- | :------- | :----- | :--: | :-: | :-: |
| [T-Echo](./techo/) | nRF52840 | SX1262 | NO | 5.0 | YES |
### [LILYGO® LoRa](./lora/)
Inexpensive basic ESP32-based boards.
| Name | MCU | Radio | WiFi | BT | GPS |
|:-------------------------------------------|:---------|:-----------------------------|:------------:|:---:|:---:|
| :----------------------------------------- | :------- | :--------------------------- | :----------: | :-: | :-: |
| [LoRa32 V1](./lora/?t-lora=v1) | ESP32 | SX127x | 2.4GHz b/g/n | 4.2 | NO |
| [LoRa32 V1.3](./lora/?t-lora=v1.3) | ESP32 | SX127x | 2.4GHz b/g/n | 4.2 | NO |
| [LoRa32 V2.0](./lora/?t-lora=v2.0) | ESP32 | SX127x | 2.4GHz b/g/n | 4.2 | NO |
@ -89,23 +96,25 @@ Inexpensive basic ESP32-based boards.
| [LoRa32 T3-S3 V1.0](./lora/?t-lora=S3-v1) | ESP32-S3 | SX1262<br/>SX1276<br/>SX1280 | 2.4GHz b/g/n | 5.0 | NO |
### [LILYGO® T-Deck](./tdeck/)
Standalone device with screen and keyboard
| Name | MCU | Radio | WiFi | BT | GPS |
|:-------------------|:------------|:-------|:----:|:---:|:---:|
| :----------------- | :---------- | :----- | :--: | :-: | :-: |
| [T-Deck](./tdeck/) | ESP32-S3FN8 | SX1262 | YES | 5.0 | NO |
### [LILYGO® T-Watch S3](./twatch/)
| Name | MCU | Radio | WiFi | BT | GPS |
|:------------------------|:---------|:-------|:----:|:---:|:---:|
| :---------------------- | :------- | :----- | :--: | :-: | :-: |
| [T-Watch S3](./twatch/) | ESP32-S3 | SX1262 | YES | 5.0 | NO |
### [HELTEC® LoRa 32](./heltec/)
Inexpensive basic ESP32-based boards.
| Name | MCU | Radio | WiFi | BT | GPS |
|:------------------------------------------------------------------|:------------|:-------|:------------:|:---:|:---:|
| :---------------------------------------------------------------- | :---------- | :----- | :----------: | :-: | :-: |
| [LoRa32 V2.1](./heltec/?heltec=v2.1) | ESP32 | SX127x | 2.4GHz b/g/n | 4.2 | NO |
| [LoRa32 V3/3.1](./heltec/?heltec=v23) | ESP32-S3FN8 | SX1262 | 2.4GHz b/g/n | 5.0 | NO |
| [Wireless Stick Lite V3](./heltec/?heltec=Wireless+Stick+Lite+V3) | ESP32-S3FN8 | SX1262 | 2.4GHz b/g/n | 5.0 | NO |
@ -113,26 +122,29 @@ Inexpensive basic ESP32-based boards.
| [Wireless Paper](./heltec/?heltec=paper) | ESP32-S3FN8 | SX1262 | 2.4GHz b/g/n | 5.0 | NO |
### [Nano Series](./nano/)
Portable and durable devices designed for Meshtastic.
| Name | MCU | Radio | WiFi | BT | GPS |
|:---------------------------------------------|:------------|:-------|:------------:|:---:|:---:|
| :------------------------------------------- | :---------- | :----- | :----------: | :-: | :-: |
| [Nano G2 Ultra](./nano/?nano-series=g2) | NRF52840 | SX1262 | 2.4GHz b/g/n | 5.0 | YES |
| [Nano G1 Explorer](./nano/?nano-series=g1-e) | ESP32 WROOM | SX1262 | 2.4GHz b/g/n | 4.2 | YES |
| [Nano G1](./nano/?nano-series=g1) | ESP32 WROOM | SX1276 | 2.4GHz b/g/n | 4.2 | YES |
### [Station G1](./station-g1/)
High power LoRa transceiver designed for Meshtastic Licensed HAM operation.
| Name | MCU | Radio | WiFi | BT | GPS |
|:----------------------------|:------------|:-------|:------------:|:---:|:---:|
| :-------------------------- | :---------- | :----- | :----------: | :-: | :-: |
| [Station G1](./station-g1/) | ESP32 WROOM | SX1262 | 2.4GHz b/g/n | 4.2 | YES |
### [Raspberry Pi Pico](./raspberry-pi/)
Fast versatile boards using the RP2040.
| Name | MCU | Radio | WiFi | BT | GPS |
|:-------------------------------------|:-------|:-------|:------------:|:-------------:|:---:|
| :----------------------------------- | :----- | :----- | :----------: | :-----------: | :-: |
| [Raspberry Pi Pico](./raspberry-pi/) | RP2040 | SX1262 | 2.4GHz b/g/n | not supported | NO |
[**Pico Peripherals**](./raspberry-pi/peripherals/)<br/>
@ -141,8 +153,17 @@ SH1106 OLED Display<br/>
CardKB Keyboard<br/>
### [CanaryOne](./canary)
Complete solution with battery, screen, case, and antenna. Ships pre-flashed with latest Meshtastic firmware.
Complete solution with battery, screen, case, and antenna. Ships pre-flashed with latest Meshtastic firmware.
| Name | MCU | Radio | WiFi | BT | GPS |
|:----------------------|:---------|:-------|:----:|:---:|:---:|
| :-------------------- | :------- | :----- | :--: | :-: | :-: |
| [CanaryOne](./canary) | nRF52840 | SX1262 | NO | 5.0 | YES |
### [unPhone](./unPhone)
All-in-one development device with LoRa, WiFi, BT, touchscreen, accelerometer, gyroscop, vibration motor, LiPo battery and more!
| Name | MCU | Radio | WiFi | BT | GPS |
| :-------------------- | :--------------- | :----- | :--: | :-: | :-: |
| [unPhone](./unPhone) | ESP32-S3-WROOM-1 | RF950W | YES | 5.0 | NO |

View file

@ -244,6 +244,8 @@ Early versions of these boards contained the wrong component in the LiPo battery
### Flashing the T3S3
To flash ESP32-S3 devices like the T3S3, you typically need to place them in Espressif's firmware download mode. Use the "1200bps reset" button in the web flasher to do this. If this method does not work for any reason, you can follow the manual process below.
:::warning
Do not proceed unless an antenna is connected to avoid possible damage to the device's radio.

View file

@ -251,7 +251,7 @@ This is an earlier version of the T-Beam board. Due to changes in the design thi
### Flashing
If you are having issues flashing the T-Beam Supreme, especially if it's your first attempt, you may need to manually place the device into Espressif's Firmware Download mode. Please follow the process below to do so.
To flash ESP32-S3 devices like the T-Beam Supreme, you typically need to place them in Espressif's firmware download mode. Use the "1200bps reset" button in the web flasher to do this. If this method does not work for any reason, you can follow the manual process below.
:::warning

View file

@ -47,7 +47,7 @@ As of firmware version 2.3.9, there is a newly added modifier function key combo
## Flashing
If you are having issues flashing the T-Deck, especially if it's your first attempt, you may need to manually place the device into Espressif's Firmware Download mode. Please follow the process below to do so.
To flash ESP32-S3 devices like the T-Deck, you typically need to place them in Espressif's firmware download mode. Use the "1200bps reset" button in the web flasher to do this. If this method does not work for any reason, you can follow the manual process below.
:::warning

View file

@ -33,7 +33,7 @@ The T-Watch S3 is a compact wearable device featuring a 1.54-inch IPS LCD touch
## Flashing
If you are having issues flashing the T-Watch S3, especially if it's your first attempt, you may need to manually place the device into Espressif's Firmware Download mode. Please follow the process below to do so.
To flash ESP32-S3 devices like the T-Watch, you typically need to place them in Espressif's firmware download mode. Use the "1200bps reset" button in the web flasher to do this. If this method does not work for any reason, you can follow the manual process below.
:::warning

View file

@ -0,0 +1,69 @@
---
id: unphone
title: unPhone
sidebar_label: unPhone
sidebar_position: 13
---
The unPhone is a versatile open hardware and open-source software development device designed to provide seamless connectivity and expandability. Developed by the University of Sheffield, in partnership with Pimoroni and Gareth Coleman, it features a touchscreen, battery, case, and antenna, and more, making it ideal for various projects.
For more comprehensive information on the unPhone, please visit the project's website at [https://unphone.net](https://unphone.net).
## Specifications
- **MCU**
- ESP32-S3-WROOM-1
- Bluetooth 5.0
- WiFi support
- **LoRa Transceiver**
- HopeRF RF950W
- **Frequency options**
- 868 MHz
- **Navigation Module**
- Not included
- **Antenna**
- Integrated
- **Connectors**
- USB-C
## Features
- 8MB flash and 8MB PSRAM
- 3.5" (320x480) LCD capacitive touchscreen
- IR LEDs
- 1200mAh LiPo battery with USB-C charging
- Vibration motor
- Compass/Accelerometer (both 3-axis)
- SD card slot
- Expander board that supports two Featherwing sockets and a prototyping area
## Flashing
To flash ESP32-S3 devices like the unPhone, you typically need to place them in Espressif's firmware download mode. Use the "1200bps reset" button in the web flasher to do this. If this method does not work for any reason, you can follow the manual process below.
:::warning
Do not proceed unless an antenna is connected to avoid possible damage to the device's radio.
:::
The following process will manually place the device into the Espressif Firmware Download mode:
1. Ensure the device is plugged in and powered on by switching the battery switch to `ON`.
2. Press and hold the center (circle) button.
3. While holding the center (circle) button, press the reset button on the side. _See [image](#images)._
4. After 2-3 seconds, release center (circle) button.
With the device now in the Espressif Firmware Download mode, you can proceed with flashing using one of the supported flashing methods. It's generally recommended to use the [Web Flasher](https://flasher.meshtastic.org/). You can select "unPhone" from the device drop-down.
## Resources
- Firmware file: `firmware-unphone-X.X.X.xxxxxxx.bin`
- Purchase Link:
- [Pimoroni](https://shop.pimoroni.com/products/unphone?variant=40829810311251)
#### Images
![unPhone-side](/img/hardware/unPhone/unphone-side.webp)
![unphone-front](/img/hardware/unPhone/unphone-front-with-exander.webp)

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB