Update firmware Links

This commit is contained in:
Sacha Weatherstone 2021-12-08 15:50:23 +11:00
parent 0196c2b08f
commit 9580c31d97
4 changed files with 180 additions and 281 deletions

View file

@ -3,6 +3,7 @@ id: flashing-esp32
title: Flashing ESP32 devices firmware
sidebar_label: ESP32 devices
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
@ -18,43 +19,40 @@ Some newer boards may require the drivers for the [CH9102](http://www.wch.cn/dow
:::
<Tabs
groupId="operating-system"
defaultValue="linux"
values={[
{label: 'Linux', value: 'linux'},
{label: 'macOS', value: 'macos'},
{label: 'Windows', value: 'windows'},
]}>
<TabItem value="linux">
groupId="operating-system"
defaultValue="linux"
values={[
{label: 'Linux', value: 'linux'},
{label: 'macOS', value: 'macos'},
{label: 'Windows', value: 'windows'},
]}>
<TabItem value="linux">
> Connect your Meshtastic device to your USB port, open a `Terminal` and enter the following command:
> ```bash
> lsusb
> ```
> You should see something like: `ID 10c4:ea60 Silicon Labs CP210x UART Bridge` for CP210X or `ID 1a86:55d4 QinHeng Electronics USB Single Serial` for CH9102
> Connect your Meshtastic device to your USB port, open a `Terminal` and enter the following command:
>
> ```bash
> lsusb
> ```
>
> You should see something like: `ID 10c4:ea60 Silicon Labs CP210x UART Bridge` for CP210X or `ID 1a86:55d4 QinHeng Electronics USB Single Serial` for CH9102
</TabItem>
<TabItem value="macos">
> Navigate to `Apple Menu  > About This Mac > System Report... > Hardware > USB`.
> You should see something like `CP210X USB to UART Bridge Controller`. If not download the appropriate drivers
> Navigate to `Apple Menu  > About This Mac > System Report... > Hardware > USB`.
> You should see something like `CP210X USB to UART Bridge Controller`. If not download the appropriate drivers
</TabItem>
<TabItem value="windows">
> Navigate to `Device Manager > Ports (COM & LPT)`. You should see something like `Silicon Labs CP210X USB to UART Bridge (COM5)`. If not download the appropriate drivers
> Navigate to `Device Manager > Ports (COM & LPT)`. You should see something like `Silicon Labs CP210X USB to UART Bridge (COM5)`. If not download the appropriate drivers
</TabItem>
</Tabs>
### Download Latest Firmware
Prebuilt binaries for the supported radios are available in our releases. Your initial installation has to happen over USB from your Mac, Windows or Linux PC. Once our software is installed, all future software updates happen over bluetooth from your phone.
<!--- TODO I'd like to create prettier buttons for this than just a table --->
| [Current Firmware](https://github.com/meshtastic/meshtastic-device/releases/latest) | [List of Firmware Versions](https://github.com/meshtastic/meshtastic-device/releases/) |
| :--------------: | :-----------------------: |
Firmware can be downloaded from the [Firmware](/firmware) page. Your initial installation has to happen over USB from your Mac, Windows or Linux PC. Once our software is installed, all future software updates happen over bluetooth from your phone.
:::note
The [T-Beam 0.7](../hardware/tbeam-hardware#t-beam---v07) board is an earlier version of the T-Beam board, and due to changes in the design in subsequent iterations this board uses a specific firmware file different from the other T-Beam boards.
@ -65,96 +63,110 @@ The [T-Beam 0.7](../hardware/tbeam-hardware#t-beam---v07) board is an earlier ve
## Command Line Interface Instructions
<Tabs
groupId="operating-system"
defaultValue="linux"
values={[
{label: 'Linux', value: 'linux'},
{label: 'macOS', value: 'macos'},
{label: 'Windows', value: 'windows'},
]}>
<TabItem value="linux">
groupId="operating-system"
defaultValue="linux"
values={[
{label: 'Linux', value: 'linux'},
{label: 'macOS', value: 'macos'},
{label: 'Windows', value: 'windows'},
]}>
<TabItem value="linux">
### Install Prerequisite Software
### Install Prerequisite Software
> Check if you have `python3` and `pip` installed with the following command
> ```bash
> python3 --version
> pip3 --version
> ```
> If `python3` is not installed, install with
> ```bash
> sudo apt-get update
> sudo apt-get install python3
> ```
> If `pip` is not installed, install with
> ```bash
> sudo apt-get install python3-pip
> ```
> Check if you have `python3` and `pip` installed with the following command
>
> ```bash
> python3 --version
> pip3 --version
> ```
>
> If `python3` is not installed, install with
>
> ```bash
> sudo apt-get update
> sudo apt-get install python3
> ```
>
> If `pip` is not installed, install with
>
> ```bash
> sudo apt-get install python3-pip
> ```
### Install `esptool`
### Install `esptool`
> ```bash
> pip3 install --upgrade esptool
> ```
> ```bash
> pip3 install --upgrade esptool
> ```
</TabItem>
<TabItem value="macos">
### Install Prerequisite Software
### Install Prerequisite Software
> OS X comes with `Python 2.7` installed, but not `pip`. The following uses Homebrew to install `python3` which includes `pip3`. On MacOS you will use `pip3` instead > of `pip`.
> OS X comes with `Python 2.7` installed, but not `pip`. The following uses Homebrew to install `python3` which includes `pip3`. On MacOS you will use `pip3` instead > of `pip`.
:::note
Check if you have Homebrew installed with the following command
```bash
brew -v
```
If it's not installed, follow the instructions on the [Homebrew website](https://brew.sh) before continuing.
:::
> Check if you have `python3` and `pip` installed with the following command
> ```bash
> python3 --version
> pip3 --version
> ```
> If `python3` is not installed, install with
> Install Python3
> ```bash
> brew install python3
> ```
> Confirm `pip3` was installed alongside `python3`
> ```bash
> pip3 -v
> ```
> Check if you have `python3` and `pip` installed with the following command
>
> ```bash
> python3 --version
> pip3 --version
> ```
>
> If `python3` is not installed, install with
> Install Python3
>
> ```bash
> brew install python3
> ```
>
> Confirm `pip3` was installed alongside `python3`
>
> ```bash
> pip3 -v
> ```
### Install `esptool`
> ```bash
> pip3 install --upgrade esptool
> ```
### Install `esptool`
> ```bash
> pip3 install --upgrade esptool
> ```
</TabItem>
<TabItem value="windows">
> - Download and install [Python](https://www.python.org/). When installing, make sure to click `Add Python X.Y to PATH`.
> - Download and install [Gitbash](https://gitforwindows.org/) (or other appropriate shell) and run all subsequent commands from that shell.
> - Download and install [Python](https://www.python.org/). When installing, make sure to click `Add Python X.Y to PATH`.
> - Download and install [Gitbash](https://gitforwindows.org/) (or other appropriate shell) and run all subsequent commands from that shell.
:::note
Confirm installation of `python` & `pip` with the following commands.
```bash
py --version
```
```bash
pip --version
```
:::
### Install `esptool`
### Install `esptool`
> ```bash
> pip install --upgrade esptool
> ```
> ```bash
> pip install --upgrade esptool
> ```
</TabItem>
</Tabs>
@ -167,36 +179,39 @@ Connect the radio to your computer using a data USB cable. Confirm your device i
On windows, you must explicitly declare esptools as a .py script. Use `esptools.py chip_id`.
:::
```bash title="Command"
esptool chip_id
```
```bash title="Expected Output"
# You should see a result similar to this:
mydir$ esptool chip_id
esptool.py v2.6
Found 2 serial ports
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
MAC: 24:6f:28:b5:36:71
Uploading stub...
Running stub...
Stub running...
Warning: ESP32 has no Chip ID. Reading MAC instead.
MAC: 24:6f:28:b5:36:71
Hard resetting via RTS pin...
```
```bash title="Command"
esptool chip_id
```
```bash title="Expected Output"
# You should see a result similar to this:
mydir$ esptool chip_id
esptool.py v2.6
Found 2 serial ports
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
MAC: 24:6f:28:b5:36:71
Uploading stub...
Running stub...
Stub running...
Warning: ESP32 has no Chip ID. Reading MAC instead.
MAC: 24:6f:28:b5:36:71
Hard resetting via RTS pin...
```
### Navigate to Firmware
`cd` into the directory where you unzipped the latest release. For example:
```bash title="Example"
cd /Downloads/firmware/
```
### Install/Update Firmware
Install or Update the device that you have by using the following commands according to your operating system:
:::caution
@ -204,56 +219,56 @@ Be very careful to install the correct load for your board. In particular the po
:::
<Tabs
groupId="operating-system"
defaultValue="linux"
values={[
{label: 'Linux', value: 'linux'},
{label: 'macOS', value: 'macos'},
{label: 'Windows', value: 'windows'},
]}>
<TabItem value="linux">
groupId="operating-system"
defaultValue="linux"
values={[
{label: 'Linux', value: 'linux'},
{label: 'macOS', value: 'macos'},
{label: 'Windows', value: 'windows'},
]}>
<TabItem value="linux">
#### Install
#### Install
> ```bash title="Command"
> ./device-install.sh -f firmware-BOARD-VERSION.bin
> ```
> ```bash title="Command"
> ./device-install.sh -f firmware-BOARD-VERSION.bin
> ```
#### Update
#### Update
> ```bash title="Command"
> ./device-update.sh -f firmware-BOARD-VERSION.bin
> ```
> ```bash title="Command"
> ./device-update.sh -f firmware-BOARD-VERSION.bin
> ```
</TabItem>
<TabItem value="macos">
#### Install
#### Install
> ```bash title="Command"
> ./device-install.sh -f firmware-BOARD-VERSION.bin
> ```
> ```bash title="Command"
> ./device-install.sh -f firmware-BOARD-VERSION.bin
> ```
#### Update
#### Update
> ```bash title="Command"
> ./device-update.sh -f firmware-BOARD-VERSION.bin
> ```
> ```bash title="Command"
> ./device-update.sh -f firmware-BOARD-VERSION.bin
> ```
</TabItem>
<TabItem value="windows">
#### Install
#### Install
> ```bash title="Command"
> ./device-install.bat -f firmware-BOARD-VERSION.bin
> ```
> ```bash title="Command"
> ./device-install.bat -f firmware-BOARD-VERSION.bin
> ```
#### Update
#### Update
> ```bash title="Command"
> ./device-update.bat -f firmware-BOARD-VERSION.bin
> ```
> ```bash title="Command"
> ./device-update.bat -f firmware-BOARD-VERSION.bin
> ```
</TabItem>
</Tabs>

View file

@ -3,6 +3,7 @@ id: flashing-nrf52
title: Flashing nRF52 devices firmware
sidebar_label: nRF52 devices
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
@ -15,10 +16,9 @@ Please ensure that you use a data USB-C cable, as many USB-C cables provide powe
### T-Echo
:::tip
The usb-C to usb-A cable from LILYGO is *NOT* a "data cable", and can only be used for charging.
The usb-C to usb-A cable from LILYGO is _NOT_ a "data cable", and can only be used for charging.
:::
#### Windows:
You may need to install the [USB device drivers](http://www.wch-ic.com/search?q=ch340&t=downloads) if your device does not show up when connected.
@ -28,11 +28,11 @@ You may need to install the [USB device drivers](http://www.wch-ic.com/search?q=
Last Verified T-Echo nRF52840 on: Mac OS Monterey v12.0.1 (Intel chipset)
:::tip
You can use the latest [Apple USB-C Charge cables](https://www.apple.com/shop/product/MLL82AM/A/usb-c-charge-cable-2-m). The cable that is provided with the iPad Pro works. Older Laptop usb-C Power cables will *NOT* work, as they are missing the data lines.
You can use the latest [Apple USB-C Charge cables](https://www.apple.com/shop/product/MLL82AM/A/usb-c-charge-cable-2-m). The cable that is provided with the iPad Pro works. Older Laptop usb-C Power cables will _NOT_ work, as they are missing the data lines.
:::
:::caution
With the latest versions of MacOS, the USB Serial driver is built-in. Do *NOT* download any USB device drivers - this will actually prevent you from connecting to your T-Echo from your Mac. If you downloaded/installed any already, please Remove them.
With the latest versions of MacOS, the USB Serial driver is built-in. Do _NOT_ download any USB device drivers - this will actually prevent you from connecting to your T-Echo from your Mac. If you downloaded/installed any already, please Remove them.
:::
<details>
@ -50,44 +50,40 @@ With the latest versions of MacOS, the USB Serial driver is built-in. Do *NOT* d
</div>
</details>
Verify successful connections with:
* Plug in your T-Echo
* Open the Terminal
* `ls -l /dev/tty.usbmodem*`
- Plug in your T-Echo
- Open the Terminal
- `ls -l /dev/tty.usbmodem*`
If the device file exists, you will also notice a "TECHOBOOT" volume in the Finder, or in the Terminal after double-clicking the Reset Button (see below)
* `ls /Volumes/TECHOBOOT`
- `ls /Volumes/TECHOBOOT`
### WisBlock RAK4631
Please ensure that you have updated the bootloader to the latest version using the information on the [RAK Documentation Center](https://docs.rakwireless.com/Product-Categories/WisBlock/RAK4631/Quickstart/#how-to-check-if-you-have-the-updated-rak4631-bootloader) website.
## Download Latest Firmware
Prebuilt binaries for the supported radios are available in our releases. Your initial installation has to happen over USB from your Mac, Windows or Linux PC. Once our software is installed, all future software updates happen over bluetooth from your phone.
<!--- TODO I'd like to create prettier buttons for this than just a table --->
| [Current Firmware](https://github.com/meshtastic/meshtastic-device/releases/latest) | [List of Firmware Versions](https://github.com/meshtastic/meshtastic-device/releases/) |
| :--------------: | :-----------------------: |
Firmware can be downloaded from the [Firmware](/firmware) page. Your initial installation has to happen over USB from your Mac, Windows or Linux PC. Once our software is installed, all future software updates happen over bluetooth from your phone.
## Install/Update Firmware
:::caution
Be careful to install the correct load for your board. While it is unlikely that you will cause damage to your device, the wrong firmware will cause it to not work.
:::
- Connect your device to your computer with a USB cable. If you computer complains about needing to format a new drive, cancel the format command.
- Double click the `Reset` button on your device, this will put it into boot loader mode.
* Connect your device to your computer with a USB cable. If you computer complains about needing to format a new drive, cancel the format command.
* Double click the `Reset` button on your device, this will put it into boot loader mode.
[<img alt="LILYGO T-Echo" src="/img/hardware/t-echo-lilygo.jpg" style={{zoom:'25%'}} />](/img/hardware/t-echo-lilygo.jpg)
[<img alt="LILYGO T-Echo" src="/img/hardware/t-echo-lilygo.jpg" style={{zoom:'25%'}} />](/img/hardware/t-echo-lilygo.jpg)
* A new drive will then be mounted on your computer. Open this drive and you should see three files: `CURRENT.UF2`, `INDEX.HTM`, and `INFO_UF2.TXT`
* Copy the appropriate `firmware-xxxxx-1.2.x.uf2` file from the firmware zip file onto the new drive.
- A new drive will then be mounted on your computer. Open this drive and you should see three files: `CURRENT.UF2`, `INDEX.HTM`, and `INFO_UF2.TXT`
- Copy the appropriate `firmware-xxxxx-1.2.x.uf2` file from the firmware zip file onto the new drive.
:::note
You are going to copy/drop "as is" 'firmware-xxxxx-1.2.x.uf2' (*NOT* over the "CURRENT.UF2" file) in the volume, and the device reboot will copy it/load it correctly.
You are going to copy/drop "as is" 'firmware-xxxxx-1.2.x.uf2' (_NOT_ over the "CURRENT.UF2" file) in the volume, and the device reboot will copy it/load it correctly.
:::
* Once the file has finished copying over, the device will reboot, loading the new firmware as it does.
- Once the file has finished copying over, the device will reboot, loading the new firmware as it does.

View file

@ -27,11 +27,7 @@ Make sure not to power the radio on without first attaching the antenna! You cou
## Download Firmware
Prebuilt binaries for the supported radios are available in our releases. Your initial installation has to happen over USB from your Mac, Windows or Linux PC. Once our software is installed, all future software updates can happen over bluetooth from your phone.
<!--- TODO I'd like to create prettier buttons for this than just a table --->
| [Current Firmware](https://github.com/meshtastic/meshtastic-device/releases/latest) | [List of Firmware Versions](https://github.com/meshtastic/meshtastic-device/releases/) |
| :--------------: | :-----------------------: |
Firmware can be downloaded from the [Firmware](/firmware) page. Your initial installation has to happen over USB from your Mac, Windows or Linux PC. Once our software is installed, all future software updates happen over bluetooth from your phone.
## Flashing Firmware
@ -78,126 +74,16 @@ The Android app is currently more robust than the iOS app. But, they both should
## A good third test (connect via Wifi/http)
- Configure the *wifi_ssid* and *wifi_password*. "meshtastic --set wifi_ssid 'xxx' --set wifi_password 'yyy'" (where xxx and yyy are the appropriate values for your neetwork)
- Configure the _wifi_ssid_ and _wifi_password_. "meshtastic --set wifi_ssid 'xxx' --set wifi_password 'yyy'" (where xxx and yyy are the appropriate values for your neetwork)
- Reboot radio by either removing power or pressing the power button.
- Click on the button to cycle thru to the screen with ip address and verify that there was a connection to the wifi access point.
- Send message(s). "meshtastic --host 192.168.1.200 --sendtext hello"
- Verify that all radios are receiving the messages. Might have to click on the button on the radio(s) to see most recent message.
- Open up a brower to http://meshtastic.local to view the web UI (currently under development). You may need to open http://meshtastic.local/static )
- If you want to switch back to bluetooth, you will need to set the *wifi_ssid* and *wifi_password* values to blank values (ex: '').
- If you want to switch back to bluetooth, you will need to set the _wifi_ssid_ and _wifi_password_ values to blank values (ex: '').
## Troubleshooting
For any issues during setup, search [our forum](https://meshtastic.discourse.group) to find a solution. If you can't find one, please post your problem, providing as much detail as possible.
We are also on [Discord](https://discord.gg/UQJ5QuM7vq).
<!--- A guide to setting up your Meshtastic device.
The easiest way is to [buy a device with the software already installed](https://www.aliexpress.com/item/4001178678568.html) In the Americas get the 915mhz version, In Europe the 868Mhz or Asia 923Mhz [Frequency details](https://www.thethingsnetwork.org/docs/lorawan/frequencies-by-country.html).
Or you can install the software yourself using the instructions below.
## Table of Contents
- [Prerequisites](#prerequisites)
- [Firmware Installation](#firmware-installation)
- [Using GUI](#firmware-installation-gui)
- [Using Commandline](#firmware-installation-cli)
- [Troubleshooting](#Troubleshooting)
<a name="prerequisites"></a>
## Prerequisites
- Purchased radios
- Appropriate batteries (18650)
- Computer
- Data MicroUSB Cable (not a charge only one)
<a name="firmware-installation"></a>
## Firmware Installation
<a name="firmware-installation-gui"></a>
### Installing from a GUI - Windows & MacOS
1. Download and unzip the latest Meshtastic firmware [release](https://github.com/meshtastic/Meshtastic-esp32/releases).
2. Download [ESPHome Flasher](https://github.com/esphome/esphome-flasher/releases).
3. Connect your radio to your USB port and open ESPHome Flasher.
4. If your board is not showing under Serial Port then you likely need to install the drivers for the CP210X serial chip. In Windows you can check by searching “Device Manager” and ensuring the device is shown under “Ports”.
5. If there is an error, download the [drivers](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers), then unzip and run the Installer application.
6. In ESPHome Flasher, refresh the serial ports and select the port to which your board is connected.
7. Browse to the previously downloaded firmware and select the correct firmware based on the board type.
8. Select Flash ESP.
9. Once complete, “Done! Flashing is complete!” will be shown.
10. The board will boot and show the Meshtastic logo.
11. Debug messages sent from the Meshtastic device can be viewed with a terminal program such as PuTTY. Within PuTTY, click “Serial”, enter the “Serial line” com port (can be found at step 4), enter “Speed” as 921600, then click “Open”.
<a name="firmware-installation-cli"></a>
### Installing from a Commandline - Linux
Requires `Python` and `pip`
1. Download and unzip the latest Meshtastic firmware [release](https://github.com/meshtastic/Meshtastic-esp32/releases).
2. `pip install --upgrade esptool` - Installs esptool on your machine
3. Connect your radio to your USB port
4. `esptool.py chip_id` - Confirm that your device is talking to your PC by running
You should see something like:
```
mydir$ esptool.py chip_id
esptool.py v2.6
Found 2 serial ports
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
MAC: 24:6f:28:b5:36:71
Uploading stub...
Running stub...
Stub running...
Warning: ESP32 has no Chip ID. Reading MAC instead.
MAC: 24:6f:28:b5:36:71
Hard resetting via RTS pin...
```
5. `cd` into the directory where you unzipped the latest release.
6. Install the correct firmware for your board with `device-install.sh -f firmware-BOARD-VERSION.bin`
* Example: `./device-install.sh -f firmware-heltec-1.2.x.bin`
7. To update a the firmware on an existing Meshtastic device, run `device-update.sh -f firmware-BOARD-VERSION.bin`
* Example: `./device-update.sh -f firmware-heltec-1.2.x.bin`
### Installing from a Commandline - Mac
Installing on OS X through the commandline uses the same method as linux, but requires a slightly different method to install Python, pip and esptool.
OS X (10.15.3/Catalina) comes with Python 2.7 installed, but not pip.
1. `brew install pyenv` - Installs PyEnv
2. `pyenv install 3.7.7` - To install and select Python 3.7.7
3. `pyenv global 3.7.7` - Selects the new version of Python
4. `brew install pip` - Installs pip3
5. `pip3 install --upgrade esptool` - Installs esptool
You may need to install a driver from Silicon Labs for the [CP210X USB to UART bridge](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers)
6. Now install as per installing on the Linux commandline.
### Installing from a Commandline - Windows
Requires Python, pip, Gitbash
1. Download and install [Python](https://www.python.org/)
2. If you have a recent version of Python, pip should be installed by default. Check using the command `py -m pip --version`. This will display the installed version of pip. If it returns an error, you will need to [install pip](https://pip.pypa.io/en/stable/installing/).
3. Download and install [Gitbash](https://gitforwindows.org/) (or other appropriate shell)
4. Run `gitbash` and complete the installation as per the instructions for linux commandline.
<a name="troubleshooting"></a>
## Troubleshooting
For any issues during setup, search [our forum](https://meshtastic.discourse.group) to find a solution. If you can't find one, please post your problem, providing as much detail as possible.
--->

View file

@ -8,17 +8,19 @@ The device firmware runs on the nodes to build the mesh for communication. Each
The current firmware has support for a screen to display received messages, along with information about nodes on the mesh, and more detailed information about the device on which it is running.
The latest firmware can be downloaded from the <a href="https://github.com/meshtastic/Meshtastic-device/releases/latest">GibHut releases</a> page, which also contains the release notes for each version. If you wish to view the code or contribute to development of the firmware, please visit the device code <a href="https://github.com/meshtastic/Meshtastic-device">GitHub page</a>.
The latest firmware can be downloaded from the [Firmware](/firmware) page. If you wish to view the code or contribute to development of the firmware, please visit the device code <a href="https://github.com/meshtastic/Meshtastic-device">GitHub page</a>.
### Buttons
A number of devices support buttons that can be used to interact with the firmware. These buttons have a number of different functions:
* Reset button - This is present on most devices
* Power button - This is present on some devices. A long press powers the device off or turns it back on again.
* Program button - This is present of some devices and has a number of functions:
* Single press - This changes the page of information displayed on the screen.
* Double press - This sets the bluetooth pairing code to `123456` (useful if you do not have a screen on the device).
* Long press - This adjusts the contrast of the screen.
* Long press during reboot - This turns on the software wifi access point on devices that support wifi.
- Reset button - This is present on most devices
- Power button - This is present on some devices. A long press powers the device off or turns it back on again.
- Program button - This is present of some devices and has a number of functions:
- Single press - This changes the page of information displayed on the screen.
- Double press - This sets the bluetooth pairing code to `123456` (useful if you do not have a screen on the device).
- Long press - This adjusts the contrast of the screen.
- Long press during reboot - This turns on the software wifi access point on devices that support wifi.
### Screens