2022-01-31 13:42:48 -08:00
---
id: meshtastic-flasher
2022-02-11 22:40:08 -08:00
title: Using Meshtastic Flasher
sidebar_label: Using Meshtastic Flasher
2022-03-04 12:11:13 -08:00
pagination_next: getting-started/clients
2022-01-31 13:42:48 -08:00
---
2022-03-08 23:51:46 -08:00
2022-01-31 13:42:48 -08:00
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
2022-02-11 22:40:08 -08:00
## Overview
2022-03-10 17:49:09 -08:00
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.
2022-02-11 22:40:08 -08:00
2022-01-31 13:42:48 -08:00
## Prerequisites
2022-03-10 20:11:18 -08:00
### Verify `python3` is installed
2022-01-31 13:42:48 -08:00
2022-03-10 20:11:18 -08:00
#### Check `python3` version
2022-02-28 10:56:17 -08:00
< Tabs
groupId="operating-system"
defaultValue="linux"
values={[
{label: 'Linux', value: 'linux'},
{label: 'macOS', value: 'macos'},
{label: 'Windows', value: 'windows'},
]}>
2022-03-11 06:28:57 -08:00
< TabItem value = "linux" >
2022-03-10 20:11:18 -08:00
2022-03-11 06:28:57 -08:00
```bash title="Check python3 version"
python3 --version
# If version is less than v3.6, please update python3
```
2022-03-10 20:11:18 -08:00
2022-03-11 06:28:57 -08:00
< / TabItem >
< TabItem value = "macos" >
2022-03-10 20:11:18 -08:00
2022-03-11 06:28:57 -08:00
```bash title="Check python3 version"
python3 --version
# If version is less than v3.6, please update python3
```
2022-03-10 20:11:18 -08:00
2022-03-11 06:28:57 -08:00
< / TabItem >
< TabItem value = "windows" >
2022-03-10 20:11:18 -08:00
2022-03-11 06:28:57 -08:00
```bash title="Check python3 version"
python3 --version
# If version is less than v3.9+, please update python3
```
2022-03-10 20:11:18 -08:00
2022-03-11 06:28:57 -08:00
< / TabItem >
2022-03-10 20:11:18 -08:00
< / Tabs >
2022-02-28 10:56:17 -08:00
2022-03-10 20:11:18 -08:00
#### Install `python3`
2022-02-28 10:56:17 -08:00
2022-03-10 20:11:18 -08:00
< Tabs
groupId="operating-system"
defaultValue="linux"
values={[
{label: 'Linux', value: 'linux'},
{label: 'macOS', value: 'macos'},
{label: 'Windows', value: 'windows'},
]}>
2022-03-11 06:28:57 -08:00
< TabItem value = "linux" >
2022-02-28 10:56:17 -08:00
2022-03-11 14:01:04 -08:00
```bash title="Install python3, pip, and venv"
2022-03-11 13:46:33 -08:00
sudo apt update
sudo apt upgrade
sudo apt install -y python3 python3-pip python3-venv
```
2022-02-28 10:56:17 -08:00
2022-03-11 06:28:57 -08:00
< / TabItem >
< TabItem value = "macos" >
2022-02-28 10:56:17 -08:00
2022-03-11 06:28:57 -08:00
- [Download directly from python.org ](https://www.python.org/downloads/macos/ )
- [Homebrew ](https://brew.sh/ )
- [MacPorts ](https://www.macports.org/ )
2022-02-28 10:56:17 -08:00
2022-03-11 06:28:57 -08:00
< / TabItem >
< TabItem value = "windows" >
2022-02-28 10:56:17 -08:00
2022-03-11 06:28:57 -08:00
- [Download directly from python.org ](https://www.python.org/downloads/windows/ )
2022-02-28 10:56:17 -08:00
2022-03-11 06:28:57 -08:00
< / TabItem >
2022-02-28 10:56:17 -08:00
< / Tabs >
2022-03-10 17:49:09 -08:00
### Install App
This is the preferred installation method for `meshtastic-flasher` .
< Tabs
groupId="operating-system"
defaultValue="linux"
values={[
{label: 'Linux', value: 'linux'},
{label: 'macOS', value: 'macos'},
{label: 'Windows', value: 'windows'},
]}>
< TabItem value = "linux" >
2022-03-11 06:28:57 -08:00
```bash 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
```
2022-03-10 20:11:18 -08:00
2022-03-11 06:28:57 -08:00
```bash title="Running Meshtastic Flasher"
meshtastic-flasher
```
2022-03-10 17:49:09 -08:00
2022-03-11 06:28:57 -08:00
< / TabItem >
< TabItem value = "macos" >
2022-03-10 17:49:09 -08:00
2022-03-11 06:28:57 -08:00
To install `meshtastic-flasher` , download Meshtastic-flasher.app.zip from https://github.com/meshtastic/Meshtastic-gui-installer/releases/tag/macapp1.0.0 , unzip and drag to /Applications.
2022-03-10 17:49:09 -08:00
2022-03-11 06:28:57 -08:00
< / TabItem >
< TabItem value = "windows" >
2022-03-10 17:49:09 -08:00
2022-03-11 06:28:57 -08:00
To install meshtastic-flasher, download meshtastic-flasher.zip from https://github.com/meshtastic/Meshtastic-gui-installer/releases/tag/winapp1.0.0, unzip and run.
2022-03-10 17:49:09 -08:00
2022-03-11 06:28:57 -08:00
< / TabItem >
2022-03-10 17:49:09 -08:00
< / Tabs >
2022-02-03 15:28:23 -08:00
### Install using `pip`
2022-03-08 23:51:46 -08:00
2022-03-10 17:49:09 -08:00
This option is typically for developers.
2022-01-31 13:42:48 -08:00
< Tabs
groupId="operating-system"
defaultValue="linux"
values={[
{label: 'Linux', value: 'linux'},
{label: 'macOS', value: 'macos'},
{label: 'Windows', value: 'windows'},
]}>
2022-03-08 23:51:46 -08:00
< TabItem value = "linux" >
```bash 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
```
```bash title="Running Meshtastic Flasher"
meshtastic-flasher
```
2022-02-01 18:05:33 -08:00
2022-01-31 13:42:48 -08:00
< / TabItem >
< TabItem value = "macos" >
2022-03-08 23:51:46 -08:00
```bash 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
```
```bash title="Running Meshtastic Flasher"
meshtastic-flasher
```
2022-02-01 18:05:33 -08:00
2022-01-31 13:42:48 -08:00
< / TabItem >
< TabItem value = "windows" >
2022-03-08 23:51:46 -08:00
```bash 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
```
```bash title="Running Meshtastic Flasher"
meshtastic-flasher
```
2022-02-01 18:05:33 -08:00
2022-01-31 13:42:48 -08:00
< / TabItem >
< / Tabs >
## Flashing the Device
2022-02-01 18:05:33 -08:00
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:
2022-03-08 23:51:46 -08:00
- 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.
2022-02-01 18:05:33 -08:00
## 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:
2022-03-08 23:51:46 -08:00
- 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