Coder Social home page Coder Social logo

meshtastic / web-flasher Goto Github PK

View Code? Open in Web Editor NEW
45.0 7.0 20.0 583 KB

Official online flasher for Meshtastic device firmware

Home Page: https://flasher.meshtastic.org

License: GNU General Public License v3.0

Vue 67.41% TypeScript 32.04% CSS 0.07% JavaScript 0.48%
esptool-js meshtastic nuxt vercel vue espressif nordic nrf52 rp2040 typescript

web-flasher's Introduction

Vercel CLA assistant

Meshtastic Web Flasher

Introduction

Welcome to the Meshtastic Web Flasher - a user-friendly, robust tool designed for flashing Meshtastic devices. Leveraging the power of Nuxt/Vue and Tailwind CSS, this web application offers an easy-to-use interface for device flashing.

Key Features

  • Espressif's esptool.js Integration: Incorporates the official JavaScript port of Espressif's esptool for enhanced robustness and compatibility with newer Espressif silicon.
  • All-in-One Platform Support: Designed to be a comprehensive solution, supporting a wide range of devices including nRF52 and Pico UF2.
  • Developer-Friendly Design: Built with Nuxt/Vue, simplifying the development and maintenance process.

Getting Started

To use the Meshtastic Web Flasher, simply visit https://flasher.meshtastic.org. The website is designed to be intuitive and easy to navigate, allowing you to start flashing your devices right away.

Contributing

Interested in contributing? Here's how you can get involved:

  1. Clone this repository.
  2. Make sure to install the dependencies:
pnpm install --shamefully-hoist
  1. Start the development server on http://localhost:3000:
pnpm run dev

Check out the full Nuxt deployment documentation for more information.

Feedback and Support

For bug reports, feature requests, or general queries, please open an issue in this repository. Your feedback helps us improve and evolve the Meshtastic Web Flasher.

Thank you for using and supporting the Meshtastic Web Flasher.

Stats

Alt

web-flasher's People

Contributors

dependabot[bot] avatar hdngr avatar mc-hamster avatar noon92 avatar pdxlocations avatar plughie avatar rcarteraz avatar sachaw avatar thebentern avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

web-flasher's Issues

Possible issues uploading release zip

Full disclosure: I'm not entirely sure that I'm using this feature correctly.

What I'm doing:

Process begins, then appears to hang:

Connecting....
Detecting chip type... ESP32-S3
Chip is ESP32-S3
Features: Wi-Fi,BLE
Crystal is 40MHz
MAC: dc:54:75:ce:bb:38
Uploading stub...
Running stub...
Stub running...

Show release notes for selected firmware version

We need to make sure that users know what the release contains, especially so that they're aware of any caveats within. My gut feeling is that this should live in the flasher modal somewhere.

Web Flasher with T-Beam S3 Core

Hi, I got me a T-Beam S3 Core and wanted to update it but the webflasher seems not to work. I can select the device and it seem to be connecting but then nothing more. I doesn't give me any error messages or instructions why it isn't doing anything. I tried following ' If your device is ESP32-S3 based, you may need to turn off, then press and hold the BOOT / USR button while plugging in the USB cable.' but that also doesn't change anything. The device seems ok since I can connect via app and configure it.

It has FIrmware Version 2.2.24, current chrome for the web updater.

Screenshot 2024-04-13 at 07 48 08

Web Flasher could not flash board, http://flasher.pdxlocs.com did first go

Hi have these board's
https://www.aliexpress.com/item/1005005967763162.html?spm=a2g0o.order_list.order_list_main.5.54bd1802PaOH9l

image

from Ali express (Tenstar Robot) SX1276 ESP32 LoRa 'Heltec V2 screen printing" and trying to flash with web installer with no success. I tried thru py no success either. With esphome I could flash an incorrect version firmware to board but no Oled working, Could not flash the desired chosen firmware Heltec V2 2.17.dbac2b1 beta.
I tried a sketch i had for Arduino with SSD1306 Oled driver and flashed successfully and proved Oled was functional.
After much searching I seen mention of an "Old" no longer supported Installer as a possible backup (http://flasher.pdxlocs.com) . I connected my 3 boards to this and selected Heltec V2.1 and latest beta firmware which the number matches what I had already downloaded and attempted to flash.
This Installer Successfully flashed all 3 boards first try with the desired firmware AND the Oled screen is now functional.
Is there an issue with the Newest recommended Web Installer?

Add UI for NRF52 flash erase

This should be a part of some sort of advanced modal / drawer.

  1. Allow download of the RAK factory erase sketch uf2
  2. Connect with meshtastic js client to open the serial IO for enabling the flash to erase

[feature request] legacy support ttgo 1.0

Flashing all modern builds dont work.

cant revert to an older version which is a major nuisence

app does not support older build of firmware.

can we have the last working build and app version as it feels like a waste of money as these were cheap and did work just fine

Project works on localhost but doesnt when deployed to vercel

Hi the project seems to work fine on localhost however on deployment to vercel it doesn't. Looks like due to the api that gets the firmware list as everything works fine except for the firmware list which doesn't show when deployed to vercel.

How do i overcome this and load the firmware list?
image

Serial Monitor Tool: Display Error When Serial Port is In Use

I noticed that if the serial port is currently in use by another program when I try to open the serial monitor tool in the Meshtastic Web-Flasher, it just doesn't open without any explanation. If possible, it would be helpful if there was some kind of error message that pops up letting me know the serial port is already taken or to check if it's being used elsewhere.

Check for files / manifest before attempting to flash

As we add targets to the firmware, we end up with the potential to allow older firmware version selections that do not contain the selected target. We need a way to cue the user in the fact that there is nothing available to flash in that version, and stop the process.

Alpha 2.3.5.2 on t-echo has issues with double click

t-echo freezes up, I believe its happening when you double click the bottom button and it is the GPS settings causing the issue.

If you have the internal gps set to disabled and use your phone gps then when you double click the bottom button to send an ad-hoc ping, it instead says on the e-ink screen "gps disabled", and then after that it freezes up.

If I have it set up to use the internal gps then the device works fine and double click does send an ad-hoc ping as expected.

Add more baud rate options

Testing upload with PIO I can flash Tlora 2116 with:
460800 but NOT 576000

might be worth adding 230400 as well

[Request] Update device list to be categoriesed by Vendor?

The current list is getting long and requires scrolling to get down to beyond Nano G1 (at 1920x1200) so probably worse at 1920x1080.
Is it worth doing sub-tree's based on Hardware Vendor, with the ability to search to filter down the list?)

Even if done for the Vendors with many options and leaving the rest in the maintree if they only have 1 deivce (eg, CanaryOne, Hydra, unPhone)

Would make the WebFlasher UX a little simpler/easier to navigate.
eg,
[FILTERBOX]
Lilygo ->
------- T-Beam
------- T-Deck
------- T-Beam
------- T-Beam S3 Core
Heltec ->
------- V3
------- Wireless Paper
------- Wireless Paper V1.0
------- Wireless Tracker
rPi ->
------- Pico
------- Pico W
------- Pi Computer S3
RakWireless ->
------- RAK11310
------- RAK4631
CanaryOne
Hydra
Unphone

need a reminder?

Just a thought but it would help some to have a reminder on the Flasher page to ensure you have loaded the appropriate drivers onto your cptr and maybe a link back to the "Getting started" page on the Meshtastic site.

Add PWA support for offline usage / caching

  • Upload firmware zip file feature
  • Install PWA plugin
  • Fallback for device hardware list API call
  • Configure manifest / platform icons
  • Configure prefetch / caching
  • Setup Electron or another standalone host

`getFirmwareVersion` is not defined

When I try to update (without "Full Erase and Install") the Update button does not perform any action. Inspecting, the console says:

image

I would just like to update and not do a full erase, since I dont want to enter all the settings again.

License ?

Hi,

This repo does not have a LICENSE.md.
Is the code source under GPL3, like the rest of meshstatic parts ?

[Bug] Extra blank lines introduced when clicking flash multiple times

Bug:
10 extra lines are shown on the log when clicking flash after flashing, or when clicking Update after cancelling the serial window.
This can just make the window unnecessarily long, or sometimes the window gets larger but I can't scroll it.

To reproduce:

  1. Select a Device and firmware
  2. Click Flash
  3. Click update
  4. Cancel the serial selection box
  5. Click Update again, observe how there is a 10 line gap before the log message esptool... shows up.

Pico W detected as a Pico

Summary

Connecting a Pico W-based node to the web flasher and selecting the automatic selection, it incorrectly detects it as a Pico, not a Pico W, which I believe uses different firmware.

Select the auto option, connection prompt

s1

Pico erroneously detected

s2

Pico W is indeed available to select

s3

Ability to flash with certain settings on a full wipe and install

It would be extremely useful if certain settings like region, channel, long and short name, and lora settings could be installed on the device through the flashing process. This will also allow users to maintain privacy when using a private network as their gps cannot accidentally be exposed over the default encryption when the device boots up.

Enhancing Meshtastic Accessibility: A Call to Support the Heltec V2 firmware through the webflasher

My thought will always be to be as beginner-friendly as possible. I've noticed that many newcomers, with limited technical knowledge, discover Meshtastic through social media and other channels. In their initial research, some end up purchasing the Heltec V2 by mistake. While it's not the ideal device for Meshtastic, as many like to point out, I believe in supporting those who have shown interest and taken the first step by investing in a board. Telling them they've got the wrong thing or that it's 'not supported' can be discouraging and may dampen the enthusiasm of someone who could become a valuable contributor to our project in the future.

Asking these beginners to navigate the less user-friendly CLI to install firmware can be daunting. To make their journey smoother and more welcoming, I kindly request the addition of the V2 V2.1 to the web flasher. This small gesture can make a significant difference in their initial experience and encourage them to continue exploring the world of Meshtastic, which I've come to love.

I understand that this request might not align perfectly with the current roadmap, but I hope the developers can consider the needs of our non-technical users. Their early experiences can shape the future of our community, and a little flexibility now could lead to a more inclusive and thriving Meshtastic in the future.

307538624-6580590f-7aa6-4874-8b06-80e2fee63dac

A quick search on amazon will show you only V2 and some V3s scathered. This is something we should be addressing.

307541377-9c3e97fc-e215-494e-b22a-5a11389ee62c

flasher.meshtastic has no device to select

The web based flasher hosted on meshtastic has no devices to select.

image

background:

I've previously flashed 3x heltec v3 and a lilygo t-deck with no issues. Today I received 2 more heltec v3 and am unable to flash them because the web based flasher does not allow me to choose any device.

I've also been unable to get esptool to show a device, but I have the /dev/ttyUSBn available when I connect the heltec v3. I've also tried holding down the button during boot which supposedly puts it into flash mode. In flash mode or normal, esptool continues to report: A fatal error occurred: Unexpected UART datecode value 0x03700000. Failed to autodetect chip type.

RP2040 flashing needs different instructions

When flashing RP2040-based (RAK11310, RPI Pico (W)) devices, entering DFU mode will not work. Instead of double-clicking the RST button, the BOOTSEL button has to be pressed while inserting the device via USB. The drive will be called "RPI-RP2".

Also, the Pico W needs a different firmware file now. It seems that is still missing in the API.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.