meshtastic/docs/getting-started/flashing-firmware/meshtastic-flasher.mdx
charminULTRA d6373a68ac
Update meshtastic-flasher.mdx
Updated to reflect the information inside https://github.com/meshtastic/Meshtastic-gui-installer which states that the single install executables were deprecated in March 2022. This page was previously linking to versions of the Flasher from March 2022 (approx 84 commits behind).
2022-05-27 15:29:37 -04:00

209 lines
5.3 KiB
Plaintext

---
id: meshtastic-flasher
title: Using Meshtastic Flasher
sidebar_label: Meshtastic Flasher Method
pagination_next: getting-started/first-steps/first-steps
pagination_prev: getting-started/flashing-firmware/flashing-firmware
sidebar_position: 1
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import Link from '@docusaurus/Link';
:::caution
Make sure not to power the radio on without first attaching the antenna! You could damage the radio chip!
:::
## Overview
Meshtastic Flasher (aka m-flasher) is a graphical user interface for flashing [supported devices](/docs/hardware) with Meshtastic.
The following operating systems are currently supported: Windows, Mac, and Ubuntu.
## Prerequisites
### Verify `python3` is installed
#### Check `python3` version
<Tabs
groupId="operating-system"
defaultValue="linux"
values={[
{label: 'Linux', value: 'linux'},
{label: 'macOS', value: 'macos'},
{label: 'Windows', value: 'windows'},
]}>
<TabItem value="linux">
```shell title="Check python3 version"
python3 --version
# If version is less than v3.6, please update python3
```
</TabItem>
<TabItem value="macos">
```shell title="Check python3 version"
python3 --version
# If version is less than v3.6, please update python3
```
</TabItem>
<TabItem value="windows">
```shell title="Check python3 version"
python3 --version
# If version is less than v3.9+, please update python3
```
</TabItem>
</Tabs>
<details>
<summary>
Install/Update `python3`
</summary>
<Tabs
groupId="operating-system"
defaultValue="linux"
values={[
{label: 'Linux', value: 'linux'},
{label: 'macOS', value: 'macos'},
{label: 'Windows', value: 'windows'},
]}>
<TabItem value="linux">
```shell title="Install python3, pip, and venv"
sudo apt update
sudo apt upgrade
sudo apt install -y python3 python3-pip python3-venv
```
</TabItem>
<TabItem value="macos">
- [Download directly from python.org](https://www.python.org/downloads/macos/)
- [Homebrew](https://brew.sh/)
- [MacPorts](https://www.macports.org/)
</TabItem>
<TabItem value="windows">
- [Download directly from python.org](https://www.python.org/downloads/windows/)
</TabItem>
</Tabs>
</details>
### Install App
<summary>
Install using `pip`
</summary>
Note: The previous "single executable" installation option has been deprecated as of March 10, 2022.
<Tabs
groupId="operating-system"
defaultValue="linux"
values={[
{label: 'Linux', value: 'linux'},
{label: 'macOS', value: 'macos'},
{label: 'Windows', value: 'windows'},
]}>
<TabItem value="linux">
```shell title="Install Meshtastic Flasher"
python3 --version
# ensure you are using at least python v3.6
# change to a directory where you want to create a python virtual environment
mkdir some_dir
cd some_dir
# if the following command fails, it might tell you what package to install
python3 -m venv venv
# activate the python virtual environment
source venv/bin/activate
# your prompt should change - it should include "(venv) in the front
# upgrade pip
pip install --upgrade pip
pip install meshtastic-flasher
```
```shell title="Running Meshtastic Flasher"
meshtastic-flasher
```
</TabItem>
<TabItem value="macos">
```shell title="Install Meshtastic Flasher"
python3 --version
# ensure you are using at least python v3.6
# change to a directory where you want to create a python virtual environment
mkdir some_dir
cd some_dir
python3 -m venv venv
# activate the python virtual environment
source venv/bin/activate
# your prompt should change - it should include "(venv) in the front
# upgrade pip
pip install --upgrade pip
pip install meshtastic-flasher
```
```shell title="Running Meshtastic Flasher"
meshtastic-flasher
```
</TabItem>
<TabItem value="windows">
```shell title="Install Meshtastic Flasher"
# open a command prompt
# create a new directory for the python virtual environment
cd c:\
mkdir some_dir
cd some_dir
# check that python version is sufficient, must be at least v3.9+
python -m venv venv
# activate the python virtual environment
venv\Scripts\activate
# your prompt should change - it should have (venv) at the beginning
pip install meshtastic-flasher
```
```shell title="Running Meshtastic Flasher"
meshtastic-flasher
```
</TabItem>
</Tabs>
## Flashing the Device
The Meshtastic Flasher will flash the latest firmware to esp32 and nrf52 devices. This is a newly developed application (as of February 1, 2022), so there may be some issues discovered as it is tested by users.
There are three steps:
- Click the "GET VERSIONS" button to get the versions available (from GitHub).
- Click the "DETECT DEVICE" button to determine the port and device variant connected.
- Click the "FLASH" button to flash the version selected, using the port selected to the device.
## Issues?
If you run into an issue, please create a ticket here: [Flasher Issues](https://github.com/meshtastic/Meshtastic-gui-installer/issues)
The code can be found at the [Meshtastic-gui-installer repo](https://github.com/meshtastic/Meshtastic-gui-installer)
## Known limitations
The following are known limitations:
- Raspberry Pi is not available, since it is arm-based and there are no pre-built libraries for [PySide](https://wiki.qt.io/Qt_for_Python)
- Ubuntu 20.04 is the version used for testing, it may work with other versions
- see [README](https://github.com/meshtastic/Meshtastic-gui-installer/blob/master/README.md) for more details