Open source tools to allow working with ESP devices in the browser

Overview

ESP Web Tools

Allow flashing ESPHome or other ESP-based firmwares via the browser. Will automatically detect the board type and select a supported firmware.

<esp-web-install-button
  manifest="firmware_esphome/manifest.json"
></esp-web-install-button>

Manifest definition:

{
  "name": "ESPHome",
  "builds": [
    {
      "chipFamily": "ESP32",
      "improv": true,
      "parts": [
        { "path": "bootloader.bin", "offset": 4096 },
        { "path": "partitions.bin", "offset": 32768 },
        { "path": "ota.bin", "offset": 57344 },
        { "path": "firmware.bin", "offset": 65536 }
      ]
    },
    {
      "chipFamily": "ESP8266",
      "parts": [
        { "path": "esp8266.bin", "offset": 0 },
      ]
    }
  ]
}

Allows for optionally passing an attribute to trigger an erase before installation.

<esp-web-install-button
  manifest="firmware_esphome/manifest.json"
  erase-first
></esp-web-install-button>

All attributes can also be set via properties (manifest, eraseFirst)

Styling

Attributes

The following attributes are automatically added to <esp-web-install-button> and can be used for styling:

Attribute Description
install-supported Added if installing firmware is supported
install-unsupported Added if installing firmware is not supported
active Added when flashing is active

You can add the following attributes or properties to change the UI elements:

Attribute Property Description
show-log showLog Show a log style view of the progress instead of a progress bar
hide-progress hideProgress Hides all progress UI elements

CSS custom properties (variables)

The following variables can be used to change the colors of the default UI elements:

  • --esp-tools-button-color
  • --esp-tools-button-text-color
  • --esp-tools-success-color
  • --esp-tools-error-color
  • --esp-tools-progress-color
  • --esp-tools-log-background
  • --esp-tools-log-text-color

Slots

The following slots are available:

Slot name Description
activate Button to start the flash progress
unsupported Message to show when the browser is not supported
not-allowed Message to show when not a secure context

Events

When the state of flashing changes, a state-changed event is fired.

A state-changed event contains the following information:

Field Description
state The current state
message A description of the current state
manifest The loaded manifest
build The manifest's build that was selected
chipFamily The chip that was detected; "ESP32" | "ESP8266" | "ESP32-S2" | "Unknown Chip"
details An optional extra field that is different per state

Development

Run script/develop. This starts a server. Open it on http://localhost:5000.

Comments
  • Arduino 2.0.4, PlatformIO 5.1.0, LittleFS is corrupted

    Arduino 2.0.4, PlatformIO 5.1.0, LittleFS is corrupted

    Hi all, as soon as I update Arduino Core from 2.0.3 to 2.0.4 and PlatformIO from 5.0.0 to 5.1.0 my Little FS is corrupted after flashing my firmware with esp web tools.

    this is my simple json:

    {
       "name":"Glow Worm Luciferin FULL",
       "version":"5.6.3",
       "new_install_improv_wait_time":40,
       "builds":[
          {
             "chipFamily":"ESP32",
             "parts":[
                {
                   "path":"GlowWormLuciferinFULL_ESP32_firmware-factory.bin",
                   "offset":0
                }
             ]
          },
          {
             "chipFamily":"ESP8266",
             "parts":[
                {
                   "path":"GlowWormLuciferinFULL_ESP8266_firmware.bin",
                   "offset":0
                }
             ]
          }
       ]
    }
    

    and this is the script that I use to create a factory bin.

    def esp32_create_factory_bin(source, target, env):
        print("Generating factory bin for genuine esp units")
        #offset = 0x1000
        offset = 0x0
        new_file_name = env.subst("$BUILD_DIR/${PROGNAME}-factory.bin")
        sections = env.subst(env.get('FLASH_EXTRA_IMAGES'))
        new_file = open(new_file_name,"wb")
        for section in sections:
            sect_adr,sect_file = section.split(" ",1)
            source = open(sect_file,"rb")
            new_file.seek(int(sect_adr,0)-offset)
            new_file.write(source.read());
            source.close()
    
        firmware = open(env.subst("$BUILD_DIR/${PROGNAME}.bin"),"rb")
        new_file.seek(0x10000-offset)
        new_file.write(firmware.read())
        new_file.close()
        firmware.close()
    
    env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", esp32_create_factory_bin)
    

    It worked well before but now it is broken... As soon as I flash the firmware with Arduino core 2.0.4, LittleFS got corrupted. It works well with Arduino core 2.0.3. I think that this can be related to flash mode (QIO is now needed for some boards), is there a way to specify the flash mode with esp web tools?

    Any suggestions will be really appreciated :)

    Thanks Davide

    opened by sblantipodi 30
  • Bug when using ESP32 with Arduino ESP32 V2.0.2 (based on esp-idf v4.4)

    Bug when using ESP32 with Arduino ESP32 V2.0.2 (based on esp-idf v4.4)

    Flashing using esp tool is OK esptool.exe --chip esp32 --port COM6 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0xe000 boot_app0.bin 0x1000 Programm.ino.bootloader.bin 0x10000 Programm.ino.bin 0x8000 Programm.ino.partitions.bin

    But when esp web tools are used (V6.1.1, V5.3.0 tested too) the endless reset loop is shown in terminal log:

    rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
    configsip: 0, SPIWP:0xee
    clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
    mode:DIO, clock div:2
    load:0x3fff0030,len:1184
    load:0x40078000,len:12804
    ho 0 tail 12 room 4
    load:0x40080400,len:3032
    entry 0x400805e4
    

    Manifest file used:

    {
      "name": "Program",
      "version": "11",
      "builds": [
        {
          "chipFamily": "ESP32",
          "parts": [
            { "path": "Programm.ino.bootloader.bin", "offset": 4096 },
            { "path": "Programm.ino.partitions.bin", "offset": 32768 },
            { "path": "boot_app0.bin", "offset": 57344 },
            { "path": "Programm.ino.bin", "offset": 65536 }
          ]
        }
      ]
    }
    

    Flashing with ESP32 download tool (V3.8.8) is also OK:

    rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
    configsip: 0, SPIWP:0xee
    clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
    mode:DIO, clock div:1
    load:0x3fff0030,len:1184
    load:0x40078000,len:12804
    ho 0 tail 12 room 4
    load:0x40080400,len:3032
    entry 0x400805e4
    Booting...
    

    Another important observation:

    1. If I flash Arduino-ESP32 V1.0.6 based software using esptool or esp32 downloader, then I can update via OTA to Arduino-ESP32 V2.0.2 based software and it works.
    2. If I flash Arduino-ESP32 V1.0.6 based software using web tools, then I can update via OTA to Arduino-ESP32 V2.0.2 based software BUT it doesnt work (the same error as above).
    bug 
    opened by wladwnt 20
  • ESP8266EX Support?

    ESP8266EX Support?

    I can successfully flash my ESP32 but not my two NodeMCU (v2 and v3), which use the ESP8266EX Chip.

    error: "failed_initialize", details: Error: Unknown Chip

    esptool flash_id returns:

    Connecting....
    Detecting chip type... ESP8266
    Chip is ESP8266EX
    Features: WiFi
    Crystal is 26MHz
    MAC: c4:5b:be:60:dc:da
    Uploading stub...
    Running stub...
    Stub running...
    Manufacturer: d8
    Device: 4016
    Detected flash size: 4MB
    
    opened by ghtomcat 20
  • arduino-esp32 2.0.4 breaks esp-web-tools

    arduino-esp32 2.0.4 breaks esp-web-tools

    I was trying to implement this (as I have done before) when kept getting these errors after the esp32 reboot.

    23:28:30.382 -> ets Jun  8 2016 00:22:57
    23:28:30.382 -> 
    23:28:30.382 -> rst:0x1 (POWERON_RESET),boot:0x12 (SPI_FAST_FLASH_BOOT)
    23:28:30.382 -> configsip: 0, SPIWP:0xee
    23:28:30.382 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
    23:28:30.382 -> mode:QIO, clock div:2
    23:28:30.382 -> load:0x3fff0030,len:1344
    23:28:30.382 -> load:0xf01d020c,len:-2118480896
    23:28:30.430 -> 1162 mmu set 00010000, pos 00010000
    23:28:30.430 -> 1162 mmu set 00020000, pos 00020000
    23:28:30.430 -> 1162 mmu set 00030000, pos 00030000
    23:28:30.477 -> 1162 mmu set 00040000, pos 00040000
    23:28:30.477 -> 1162 mmu set 00050000, pos 00050000
    23:28:30.524 -> 1162 mmu set 00060000, pos 00060000
    23:28:30.524 -> 1162 mmu set 00070000, pos 00070000
    23:28:30.570 -> 1162 mmu set 00080000, pos 00080000
    23:28:30.570 -> 1162 mmu set 00090000, pos 00090000
    23:28:30.570 -> 1162 mmu set 000a0000, pos 000a0000
    23:28:30.616 -> 1162 mmu set 000b0000, pos 000b0000
    23:28:30.616 -> 1162 mmu set 000c0000, pos 000c0000
    23:28:30.662 -> 1162 mmu set 000d0000, pos 000d0000
    23:28:30.662 -> 1162 mmu set 000e0000, pos 000e0000
    23:28:30.709 -> 1162 mmu set 000f0000, pos 000f0000
    23:28:30.709 -> 1162 mmu set 00100000, pos 00100000
    23:28:30.709 -> ets Jun  8 2016 00:22:57
    23:28:30.709 -> 
    23:28:30.709 -> rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
    23:28:30.755 -> configsip: 0, SPIWP:0xee
    23:28:30.755 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
    23:28:30.755 -> mode:QIO, clock div:2
    23:28:30.755 -> load:0x3fff0030,len:1344
    23:28:30.755 -> load:0xf01d020c,len:-2118480896
    23:28:30.755 -> 1162 mmu set 00010000, pos 00010000
    23:28:30.802 -> 1162 mmu set 00020000, pos 00020000
    

    Arduino 1.19 with arduino-esp32 2.04 and 2.03 will both program the esp32 fine, but when I grab the 4 files for esp32-web-tools, then the 2.04 files do not work -- they produce the stuff above.

    Arduino produces the same programming strings here:

    204 C:\ArduinoPortable\arduino-1.8.19\portable\packages\esp32\tools\esptool_py\3.3.0/esptool.exe --chip esp32 --port COM7 --baud 460800 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0x1000 C:\Users\James\AppData\Local\Temp\arduino_build_686088/ESP32-CAM-Video-Recorder-junior-60x.4.7.srt.4.ino.bootloader.bin 0x8000 C:\Users\James\AppData\Local\Temp\arduino_build_686088/ESP32-CAM-Video-Recorder-junior-60x.4.7.srt.4.ino.partitions.bin 0xe000 C:\ArduinoPortable\arduino-1.8.19\portable\packages\esp32\hardware\esp32\2.0.4/tools/partitions/boot_app0.bin 0x10000 C:\Users\James\AppData\Local\Temp\arduino_build_686088/ESP32-CAM-Video-Recorder-junior-60x.4.7.srt.4.ino.bin 
    203 C:\ArduinoPortable\arduino-1.8.19\portable\packages\esp32\tools\esptool_py\3.3.0/esptool.exe --chip esp32 --port COM7 --baud 460800 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size 4MB 0x1000 C:\Users\James\AppData\Local\Temp\arduino_build_830660/ESP32-CAM-Video-Recorder-junior-60x.4.7.srt.4.ino.bootloader.bin 0x8000 C:\Users\James\AppData\Local\Temp\arduino_build_830660/ESP32-CAM-Video-Recorder-junior-60x.4.7.srt.4.ino.partitions.bin 0xe000 C:\ArduinoPortable\arduino-1.8.19\portable\packages\esp32\hardware\esp32\2.0.3/tools/partitions/boot_app0.bin 0x10000 C:\Users\James\AppData\Local\Temp\arduino_build_830660/ESP32-CAM-Video-Recorder-junior-60x.4.7.srt.4.ino.bin 
    
    

    The files are slightly different sizes for bootloader.bin and ino.bin, and the other two are the same files.

    image

    And I'm using the identical manifest.json

    {
      "name": "ESP32-CAM-Video-Recorder-junior-60x.4.7.srt.4.ino",
      "new_install_prompt_erase": false,
      "builds": [
        {
          "chipFamily": "ESP32",
          "parts": [
            { "path": "ESP32-CAM-Video-Recorder-junior-60x.4.7.srt.4.ino.bootloader.bin", "offset": 4096 },
            { "path": "ESP32-CAM-Video-Recorder-junior-60x.4.7.srt.4.ino.partitions.bin", "offset": 32768 },
            { "path": "boot_app0.bin", "offset": 57344 },
            { "path": "ESP32-CAM-Video-Recorder-junior-60x.4.7.srt.4.ino.bin", "offset": 65536 }
          ]
        }
      ]
    }
    

    2.0.3 files work and 2.0.4 files do not.

    This looks like a similar issue to this one (here):

    https://github.com/esphome/esp-web-tools/issues/278

    ... and this one over at arduino-esp32

    https://github.com/espressif/arduino-esp32/issues/7212

    There seems to be discussion about qio, dio, dout programming and the 40/80 flash frequency. The two arduino esptool strings are both dio above, even though Arduino is set to qio. Arduino can program it fine at 40 or 80.

    Here is the 2.03 40 listing if there is something in there that a wise-man can see:

    C:\ArduinoPortable\arduino-1.8.19\portable\packages\esp32\tools\esptool_py\3.3.0/esptool.exe --chip esp32 --port COM7 --baud 460800 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size 4MB 0x1000 C:\Users\James\AppData\Local\Temp\arduino_build_830660/ESP32-CAM-Video-Recorder-junior-60x.4.7.srt.4.ino.bootloader.bin 0x8000 C:\Users\James\AppData\Local\Temp\arduino_build_830660/ESP32-CAM-Video-Recorder-junior-60x.4.7.srt.4.ino.partitions.bin 0xe000 C:\ArduinoPortable\arduino-1.8.19\portable\packages\esp32\hardware\esp32\2.0.3/tools/partitions/boot_app0.bin 0x10000 C:\Users\James\AppData\Local\Temp\arduino_build_830660/ESP32-CAM-Video-Recorder-junior-60x.4.7.srt.4.ino.bin 
    esptool.py v3.3
    Serial port COM7
    Connecting.....
    Chip is ESP32-D0WDQ6 (revision 1)
    Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
    Crystal is 40MHz
    MAC: 0c:b8:15:f4:14:50
    Uploading stub...
    Running stub...
    Stub running...
    Changing baud rate to 460800
    Changed.
    Configuring flash size...
    Flash will be erased from 0x00001000 to 0x00005fff...
    Flash will be erased from 0x00008000 to 0x00008fff...
    Flash will be erased from 0x0000e000 to 0x0000ffff...
    Flash will be erased from 0x00010000 to 0x00109fff...
    Compressed 18528 bytes to 12759...
    Writing at 0x00001000... (100 %)
    Wrote 18528 bytes (12759 compressed) at 0x00001000 in 0.6 seconds (effective 231.4 kbit/s)...
    Hash of data verified.
    Compressed 3072 bytes to 119...
    Writing at 0x00008000... (100 %)
    Wrote 3072 bytes (119 compressed) at 0x00008000 in 0.1 seconds (effective 393.2 kbit/s)...
    Hash of data verified.
    Compressed 8192 bytes to 47...
    Writing at 0x0000e000... (100 %)
    Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.2 seconds (effective 419.4 kbit/s)...
    Hash of data verified.
    Compressed 1021040 bytes to 639310...
    Writing at 0x00010000... (2 %)
    Writing at 0x0001c720... (5 %)
    Writing at 0x00028395... (7 %)
    Writing at 0x00031ec1... (10 %)
    Writing at 0x0004107c... (12 %)
    Writing at 0x00046e7d... (15 %)
    Writing at 0x0004d569... (17 %)
    Writing at 0x00053360... (20 %)
    Writing at 0x00058da9... (22 %)
    Writing at 0x0005e522... (25 %)
    Writing at 0x00063caf... (27 %)
    Writing at 0x000690e3... (30 %)
    Writing at 0x0006e444... (32 %)
    Writing at 0x00073733... (35 %)
    Writing at 0x00078abf... (37 %)
    Writing at 0x0007dda1... (40 %)
    Writing at 0x00083353... (42 %)
    Writing at 0x000885a7... (45 %)
    Writing at 0x0008d4f0... (47 %)
    Writing at 0x00092cfe... (50 %)
    Writing at 0x00099976... (52 %)
    Writing at 0x0009ec10... (55 %)
    Writing at 0x000a45dc... (57 %)
    Writing at 0x000a9aea... (60 %)
    Writing at 0x000aecaf... (62 %)
    Writing at 0x000b4054... (65 %)
    Writing at 0x000b94e1... (67 %)
    Writing at 0x000be9d2... (70 %)
    Writing at 0x000c42ec... (72 %)
    Writing at 0x000ca090... (75 %)
    Writing at 0x000cfa4c... (77 %)
    Writing at 0x000d5400... (80 %)
    Writing at 0x000ddea4... (82 %)
    Writing at 0x000e7502... (85 %)
    Writing at 0x000ec67c... (87 %)
    Writing at 0x000f3249... (90 %)
    Writing at 0x000f8930... (92 %)
    Writing at 0x000fe05e... (95 %)
    Writing at 0x00103465... (97 %)
    Writing at 0x001092b4... (100 %)
    Wrote 1021040 bytes (639310 compressed) at 0x00010000 in 15.2 seconds (effective 539.0 kbit/s)...
    Hash of data verified.
    
    

    Any ideas ... other than stick with 2.03?

    opened by jameszah 18
  • Improv WiFi works most of the time but not always.

    Improv WiFi works most of the time but not always.

    Hi, I have seen that improv wifi is not really reliable.

    It works most of the time but not always.

    Sometimes, when I try to flash the ESP8266, it asks me for the WiFi SID and password, I enter the credentials, and then it hangs on this screen.

    It happen on my implementation here: https://sblantipodi.github.io/glow_worm_luciferin/beta.html

    and on the one on the official esp web tools page.

    image

    Is this a bug? I tried changing the router and the esp8266 but same problem.

    opened by sblantipodi 16
  • S3 flashing does not work with esp-web-tools

    S3 flashing does not work with esp-web-tools

    opened by Jason2866 15
  • Allow to scale layout of the install dialog

    Allow to scale layout of the install dialog

    See the screenshot: image

    Also the "All existing data will be erased from your device" is a bit frightening. Let's hope it will only flash what I have set in the manifest.

    opened by TD-er 15
  • Bring back the user feature of erase flash

    Bring back the user feature of erase flash

    For Tasmota we prefer NOT to erase flash on subsequent use of esp-web-tools. This way the code can be updated while keeping the settings.

    Used to work in the 3.x release but now only works when configured at manifest level.

    opened by arendst 14
  • Automatically download correct bootloader based on selected firmware

    Automatically download correct bootloader based on selected firmware

    @Jason2866 wrote here:

    A nice feature would be: WebTools scans firmware (magic first bytes https://github.com/esphome/esphome-flasher/blob/main/esphomeflasher/common.py#L143-L153) which Bootloader file and other files are needed and downloads it from espressif github repo. There is no need to provide this file from user side. Only partitions file is specific Example for https://github.com/esphome/esphome-flasher/tree/main/esphomeflasher

    opened by balloob 13
  • 'Timed out waiting for packet header' when writing 16MB image

    'Timed out waiting for packet header' when writing 16MB image

    Hi, I am trying to write an image to my 16MB flash chip. I tried to use separate files like

    {
      "name": "Latest Release",
      "new_install_prompt_erase": false,
      "builds": [
        {
          "chipFamily": "ESP32",
          "parts": [
            { "path": "bootloader.bin", "offset": 4096 },
            { "path": "partitions.bin", "offset": 32768 },
            { "path": "ota_data_initial.bin", "offset": 57344 },
            { "path": "firmware.bin", "offset": 65536 },
            { "path": "spiffs.bin", "offset": 4259840 }
          ]
        }
      ]
    }
    

    or a single 16MB image file like

    {
      "name": "Latest Release",
      "new_install_prompt_erase": false,
      "builds": [
        {
          "chipFamily": "ESP32",
          "parts": [
            { "path": "big-file.bin", "offset": 0 },
          ]
        }
      ]
    }
    

    but every try ends in error "Timed out waiting for packet header".

    I tracked it down to the last of the separated files. The spiffs.bin is about 12 MB in size and may be this is related to a time out that is not long enough.

    opened by lexologe 11
  • Error! Failed to initialize.

    Error! Failed to initialize.

    When i click the install button in the WLED application, i get the following response:

    Failed to initialize. Try resetting your device or holding the BOOT button while selecting your serial port.

    I have a ESP8266 chip and i also tried ESP home and Tasmota, both gave the same issue.

    opened by vicfixxx 10
  • Support request: Error writing filesystem image for ESP8266

    Support request: Error writing filesystem image for ESP8266

    I'm trying to setup ESP Web Tools to write a two part (firmware and file system) to an ESP8266. You can try it here (choose ratgdo v2.0a (alpha) - rolling code support, which uses this manifest.json)

    The first ratgdo_esp8266_v2.0a.bin file at offset 0 seems to write okay, but then it times out right after it starts to write the second ratgdo_esp8266_v2.0a_littlefs.bin (~3mb) file at offset 1048576. image

    I got the offset number from platform.io when uploading the filesystem:

    Wrote 3121152 bytes (679027 compressed) at 0x00100000 in 74.9 seconds (effective 333.3 kbit/s)...
    

    0x00100000 in decimal is 1048576

    Here is the output of the browser console during the flashing process:

    Writing at 0x48000... (100%)
    flash_defl_block 8d 097
    check_command write compressed data to flash after seq 18
    Read with timeout 5000
    Wrote 419216 bytes (296238 compressed) at 0x0 in 28.729 seconds.
    Data Length 3121152
    Image Length 3121152
    _update_image_flash_params keep keep keep
    Compressed image 
    Uint8Array(679025)
    Compressed 3121152 bytes to 679025...
    check_command enter compressed flash mode
    Read with timeout 3000
    Write loop 1048576 0 42
    Writing at 0x100000... (2%)
    flash_defl_block 78 0da
    check_command write compressed data to flash after seq 0
    Read with timeout 5000
    Write loop 1048576 1 42
    Writing at 0x104000... (4%)
    flash_defl_block d5 08b
    check_command write compressed data to flash after seq 1
    Read with timeout 5000
    

    Does anyone know what I'm doing wrong?

    UPDATE:

    From the log you can see that the step Writing at 0x104000... (4%) is where it times out. In platformio, this step takes longer than the rest, but it does continue. How can I increase the Read with timeout value?

    opened by PaulWieland 2
  • ESP Web Tools stopped working after Windows 11 update.

    ESP Web Tools stopped working after Windows 11 update.

    Hi all.

    I noticed that ESP Web Tools stopped working correctly after Windows update. Last Windows 11 update updated the CP210x drivers from the ancient v6.7.6 (2018 drivers) to the latest v11.2.0 (2022 drivers).

    After the update ESP Web Tools has some troubles throwing random errors like this:

    Immagine 2022-11-23 002338 Immagine 2022-11-23 001446 Immagine 2022-11-23 001936

    Everything else apart ESP Web Tools works correctly, I can flash all my firmwares with all the other possible tools without problems.

    Is this something that can be fixed by ESP Web Tools?

    Thanks

    opened by sblantipodi 0
  • make qrcode working by choose Font in the Console

    make qrcode working by choose Font in the Console

    Hi, following the Discussion there: https://github.com/espressif/idf-eclipse-plugin/issues/620 it would be nice to be able to select another Font for the Console.

    currently QRCODE does not work.

    Thanks, Franz

    opened by franz-ms-muc 1
  • Unable to install ESP Web Tools with Yarn: Can't add

    Unable to install ESP Web Tools with Yarn: Can't add "esptool-js": invalid package version undefined

    After many months I tried again web ESP Tools, felt very hipped because I saw Typescript but ended up frustrated.

    Running the following command to install the library on my existing React project: yarn add esp-web-tools

    Outputs the following error message:

    error Can't add "esptool-js": invalid package version undefined. info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.

    Does anyone has any hints? Something that I'm missing. Much appreciated.

    opened by mesopa 2
  • [Feature] allow serial speed to be increased

    [Feature] allow serial speed to be increased

    If I flash via command line I use upload_speed of 921600. It would be great if this is also possible via esp-web-tools, might be as a additional parameter (per build) in the manifest?

    opened by amandel 9
  • Serial port is not ready

    Serial port is not ready

    Hi, I used ESP-Prog to connect the esp32 to the PC and when I click on the connect button the first time, this error pops out.

    Screenshot from 2022-07-27 13-07-17

    Then when I click again in the port dropdown menu it says (Paired), there is no error and I can use the tool. Any idea why? I guess the error pops out because of the pairing. It can be annoying because I need to click on connect button two times.

    opened by tobiyas09 8
Releases(9.1.0)
  • 9.1.0(Jan 3, 2023)

    What's Changed

    • Configure wifi improvements (#304) @balloob
    • Update dependencies (#303) @balloob
    • Fix console not staying at bottom if new line spanned two lines (#302) @balloob
    • Add Squeezelite-ESP32 to used projects (#300) @balloob
    • Add note about merging files (#298) @balloob
    Source code(tar.gz)
    Source code(zip)
  • 9.0.5(Nov 29, 2022)

  • 9.0.4(Sep 23, 2022)

    What's Changed

    • Fix casing of ESPLoader.js (#287) @amandel
    • Add 2smart to projects that use ESP Web Tools (#274) @zsarnett

    Dependencies

    4 changes
    • Bump lit from 2.2.8 to 2.3.0 (#282) @dependabot
    • Bump @rollup/plugin-typescript from 8.3.3 to 8.3.4 (#275) @dependabot
    • Bump rollup from 2.75.7 to 2.77.2 (#276) @dependabot
    • Bump lit from 2.2.7 to 2.2.8 (#272) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 9.0.3(Jul 20, 2022)

  • 9.0.2(Jul 20, 2022)

  • 9.0.1(Jul 20, 2022)

  • 9.0.0(Jul 20, 2022)

    What's Changed

    • Use esptool-js by Espressif for the installation step. (#269) @balloob
    • Update SILabs URL (#265) @wrt54g

    Dependencies

    9 changes
    • Bump rollup from 2.76.0 to 2.77.0 (#267) @dependabot
    • Bump serve from 13.0.4 to 14.0.1 (#268) @dependabot
    • Bump rollup from 2.75.7 to 2.76.0 (#263) @dependabot
    • Bump serve from 13.0.2 to 13.0.4 (#264) @dependabot
    • Bump lit from 2.2.6 to 2.2.7 (#262) @dependabot
    • Bump prettier from 2.6.2 to 2.7.1 (#255) @dependabot
    • Bump lit from 2.2.5 to 2.2.6 (#256) @dependabot
    • Bump typescript from 4.7.3 to 4.7.4 (#257) @dependabot
    • Bump rollup from 2.75.6 to 2.75.7 (#258) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 8.0.6(Jun 14, 2022)

    What's Changed

    • better handle long firmware names (#252) @balloob

    Dependencies

    2 changes
    • Bump rollup from 2.75.5 to 2.75.6 (#250) @dependabot
    • Bump @rollup/plugin-typescript from 8.3.2 to 8.3.3 (#251) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 8.0.5(Jun 10, 2022)

  • 8.0.4(Jun 10, 2022)

    What's Changed

    • ESP Web Flasher 5.1.4 (#248) @balloob

    Dependencies

    2 changes
    • Bump typescript from 4.7.2 to 4.7.3 (#246) @dependabot
    • Bump rollup from 2.75.3 to 2.75.5 (#247) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 8.0.3(May 31, 2022)

    What's Changed

    • Always throw error when init fails (#244) @balloob

    Dependencies

    5 changes
    • Bump rollup from 2.74.1 to 2.75.3 (#241) @dependabot
    • Bump lit from 2.2.4 to 2.2.5 (#242) @dependabot
    • Bump typescript from 4.6.4 to 4.7.2 (#240) @dependabot
    • Bump rollup from 2.73.0 to 2.74.1 (#238) @dependabot
    • Bump lit from 2.2.3 to 2.2.4 (#239) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 8.0.2(May 16, 2022)

    What's Changed

    • Bump ESP Web Flasher 5.1.3 (#236) @balloob
    • Update MWC to 0.26.1 (#234) @balloob

    Dependencies

    9 changes
    • Bump rollup from 2.71.1 to 2.73.0 (#235) @dependabot
    • Bump rollup from 2.70.2 to 2.71.1 (#224) @dependabot
    • Bump lit from 2.2.2 to 2.2.3 (#225) @dependabot
    • Bump typescript from 4.6.3 to 4.6.4 (#226) @dependabot
    • Bump @rollup/plugin-node-resolve from 13.2.1 to 13.3.0 (#227) @dependabot
    • Bump tslib from 2.3.1 to 2.4.0 (#223) @dependabot
    • Bump rollup from 2.70.1 to 2.70.2 (#220) @dependabot
    • Bump @rollup/plugin-node-resolve from 13.2.0 to 13.2.1 (#221) @dependabot
    • Bump @rollup/plugin-typescript from 8.3.1 to 8.3.2 (#222) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 8.0.1(Apr 13, 2022)

  • 8.0.0(Apr 12, 2022)

    What's Changed

    • Rename checkSameFirmwareVersion to checkSameFirmware (#217) @balloob
    const button = document.querySelector('esp-web-install-button');
    button.overrides = {
      checkSameFirmware(manifest, improvInfo) {
        const manifestFirmware = manifest.name.toLowerCase();
        const deviceFirmware = improvInfo.firmware.toLowerCase();
        return manifestFirmware.includes(deviceFirmware);
      }
    };
    
    Source code(tar.gz)
    Source code(zip)
  • 7.5.0(Apr 12, 2022)

    What's Changed

    • Allow specifying checkFirmware override (#216) @balloob
    const button = document.querySelector('esp-web-install-button');
    button.overrides = {
      checkSameFirmwareVersion(manifest, improvInfo) {
        const manifestFirmware = manifest.name.toLowerCase();
        const deviceFirmware = improvInfo.firmware.toLowerCase();
        return manifestFirmware.includes(deviceFirmware);
      }
    };
    
    Source code(tar.gz)
    Source code(zip)
  • 7.4.0(Apr 12, 2022)

    What's Changed

    • Don't base font-size on HTML page (#214) @balloob
    • Add funding URL (#213) @balloob

    image

    Dependencies

    6 changes
    • Bump lit from 2.2.1 to 2.2.2 (#210) @dependabot
    • Bump @rollup/plugin-node-resolve from 13.1.3 to 13.2.0 (#211) @dependabot
    • Bump esp-web-flasher from 5.1.1 to 5.1.2 (#212) @dependabot
    • Bump prettier from 2.6.1 to 2.6.2 (#208) @dependabot
    • Bump prettier from 2.6.0 to 2.6.1 (#206) @dependabot
    • Bump typescript from 4.6.2 to 4.6.3 (#207) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 7.3.1(Mar 25, 2022)

    What's Changed

    • Bump ESP Web Flasher 5.1.1 (#205) @balloob
    • add missing S3 (#204) @Jason2866
    • Update firmwares to 2022.3.0 (#202) @jesserockz
    Source code(tar.gz)
    Source code(zip)
  • 7.3.0(Mar 23, 2022)

    What's Changed

    • Improv: handle no SSID list support (#201) @balloob
    • Bump ESP Web Flasher to 5.10 (#200) @balloob

    Dependencies

    3 changes
    • Bump prettier from 2.5.1 to 2.6.0 (#198) @dependabot
    • Bump lit from 2.2.0 to 2.2.1 (#199) @dependabot
    • Bump rollup from 2.70.0 to 2.70.1 (#194) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 7.2.0(Mar 9, 2022)

    What's Changed

    • Scan for SSIDs (#192) @balloob
    • Offer troubleshooting if no port selected (#190) @balloob
    • Stop execution on error during initialization (#191) @balloob
    • Updates firmwares to latest dev (#173) @jesserockz
    • Update text: reset data -> erase user data (#171) @balloob
    Dependency bumps
    • Bump rollup from 2.68.0 to 2.70.0 (#187) @dependabot
    • Bump actions/checkout from 2 to 3 (#188) @dependabot
    • Bump typescript from 4.5.5 to 4.6.2 (#189) @dependabot
    • Bump rollup from 2.67.3 to 2.68.0 (#182) @dependabot
    • Bump actions/setup-node from 2.5.1 to 3 (#183) @dependabot
    • Bump @rollup/plugin-typescript from 8.3.0 to 8.3.1 (#184) @dependabot
    • Bump rollup from 2.67.2 to 2.67.3 (#180) @dependabot
    • Bump lit from 2.1.3 to 2.2.0 (#181) @dependabot
    • Bump rollup from 2.67.1 to 2.67.2 (#178) @dependabot
    • Bump rollup from 2.66.1 to 2.67.1 (#176) @dependabot
    • Bump improv-wifi-serial-sdk from 2.1.0 to 2.2.1 (#175) @dependabot
    • Bump lit from 2.1.2 to 2.1.3 (#174) @dependabot
    • Bump lit from 2.1.1 to 2.1.2 (#170) @dependabot
    • Bump rollup from 2.66.0 to 2.66.1 (#169) @dependabot
    • Bump typescript from 4.5.4 to 4.5.5 (#167) @dependabot
    • Bump rollup from 2.64.0 to 2.66.0 (#168) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 7.1.0(Jan 24, 2022)

    What's Changed

    • Allow downloading logs (#165) @balloob
    • Change from OK_ICON to ERROR_ICON when flash fails (#162) @thorrak
    • Fix link to the repository in package.json (#166) @vergissberlin
    • Bump rollup from 2.63.0 to 2.64.0 (#163) @dependabot
    • Bump lit from 2.0.2 to 2.1.1 (#159) @dependabot
    • Bump rollup from 2.62.0 to 2.63.0 (#158) @dependabot
    • Bump @rollup/plugin-node-resolve from 13.1.2 to 13.1.3 (#157) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 7.0.0(Jan 3, 2022)

    What's Changed

    • [Breaking change] Bump ESP Web Flasher to 5.0.0. ESP Web Flasher will no longer patch the headers of the image. It's up to the caller of the library to provide the right values. (#155) @balloob
    • correct manifest.json example (#146) @Jason2866
    • Cleanups (#145) @balloob
    • Align console with ESPHome (#141) @balloob
    Dependabot stuff
    • Bump @rollup/plugin-node-resolve from 13.1.1 to 13.1.2 (#154) @dependabot
    • Bump actions/setup-node from 2.5.0 to 2.5.1 (#153) @dependabot
    • Bump rollup from 2.61.1 to 2.62.0 (#150) @dependabot
    • Bump typescript from 4.5.3 to 4.5.4 (#147) @dependabot
    • Bump typescript from 4.5.2 to 4.5.3 (#142) @dependabot
    • Bump rollup from 2.60.2 to 2.61.1 (#143) @dependabot
    • Bump @rollup/plugin-node-resolve from 13.0.6 to 13.1.1 (#144) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 6.1.1(Dec 7, 2021)

  • 6.1.0(Dec 7, 2021)

    What's Changed

    • Allow configuring improv timeout (#139) @balloob
    • Bump prettier from 2.5.0 to 2.5.1 (#137) @dependabot
    • Bump rollup from 2.60.1 to 2.60.2 (#138) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 6.0.0(Nov 30, 2021)

    What's Changed

    Add new manifest option new_install_prompt_erase that will prompt users to erase their device when:

    • Installing software when Improv Serial support is not detected
    • Installing software when Improv Serial support is available but it runs a different firmware

    Added in #134 by @balloob

    Breaking change: The old option new_install_skip_erase now works the same as new_install_prompt_erase. It's support is now deprecated and will generate a warning when used in a manifest.

    https://user-images.githubusercontent.com/1444314/143988968-454b08b3-7e42-45d7-bf13-c32ad14505c7.mp4

    Other:

    • Bump actions/setup-node from 2.4.1 to 2.5.0 (#133) @dependabot
    • Bump prettier from 2.4.1 to 2.5.0 (#132) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 5.3.0(Nov 26, 2021)

    What's Changed

    • Change default button label to "CONNECT" (#131) @balloob

    Other:

    • Bump typescript from 4.4.4 to 4.5.2 (#128) @dependabot
    • Bump rollup from 2.60.0 to 2.60.1 (#129) @dependabot
    Source code(tar.gz)
    Source code(zip)
  • 5.2.1(Nov 21, 2021)

  • 5.2.0(Nov 16, 2021)

    What's Changed

    • Wait longer for Improv to respond after erase + install (#125) @balloob
    • Show alert when opening serial port fails (#123) @bramkragten

    Other:

    • Bump rollup from 2.59.0 to 2.60.0 (#124) @dependabot
    • Add color-scheme meta (#122) @bramkragten
    Source code(tar.gz)
    Source code(zip)
  • 5.1.0(Nov 14, 2021)

    What's Changed

    • Split out non-improv dashboard from install dialog (#120) @balloob

    Website updates

    • CanAirIO project to Products section (#117) @hpsaturn
    Source code(tar.gz)
    Source code(zip)
  • 5.0.0(Nov 12, 2021)

    What's Changed

    [Breaking change]: this release includes a minor revision to Improv Serial to unify checksum calculations.

    • Upgrade to Improv Serial 2.0.0 (#116) @balloob
    • Do not silently ignore errors not caused by user closing picker (#115) @balloob
    • Adjust install header + text align (#114) @balloob
    Source code(tar.gz)
    Source code(zip)
  • 4.1.1(Nov 11, 2021)

Owner
ESPHome
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
ESPHome
Hexa is an advanced browser.It can carry out all the functions present in a browser.

Hexa is an advanced browser.It can carry out all the functions present in a browser.It is coded in the language Python using the modules PyQt5 and sys mainly.It is gonna get developed more in the future.It is made specially for the students.Only 1 tab can be used while using it so that the students cant missuse the pandemic situation :)

null 1 Dec 10, 2021
An electron application to check battery of bluetooth devices connected to linux devices.

bluetooth-battery-electron An electron application to check battery of bluetooth devices connected to linux devices. This project provides an electron

Vasu Sharma 15 Dec 3, 2022
Python tools for working with Orbit Ephemeris Messages (OEMs).

Python Orbit Ephemeris Message tools Python tools for working with Orbit Ephemeris Messages (OEMs). Development Status Installation The oem package is

Brad Sease 4 Apr 6, 2022
Service for working with open data of the State Duma of the Russian Federation

Сервис для работы с открытыми данными Госдумы РФ Исходные данные из API Госдумы РФ извлекаются с помощью Apache Nifi и приземляются в хранилище Clickh

Aleksandr Sergeenko 2 Feb 14, 2022
🏆 A ranked list of awesome Python open-source libraries and tools. Updated weekly.

Best-of Python ?? A ranked list of awesome Python open-source libraries & tools. Updated weekly. This curated list contains 230 awesome open-source pr

Machine Learning Tooling 2.7k Jan 3, 2023
null 1 May 12, 2022
chiarose(XCR) based on chia(XCH) source code fork, open source public chain

chia-rosechain 一个无耻的小活动 | A shameless little event 如果您喜欢这个项目,请点击star 将赠送您520朵玫瑰,可以去 facebook 留下您的(xcr)地址,和github用户名。 If you like this project, please

ddou123 376 Dec 14, 2022
Source-o-grapher is a tool built with the aim to investigate software resilience aspects of Open Source Software (OSS) projects.

Source-o-grapher is a tool built with the aim to investigate software resilience aspects of Open Source Software (OSS) projects.

Aristotle University 5 Jun 28, 2022
Simple Python-based web application to allow UGM students to fill their QR presence list without having another device in hand.

Praesentia Praesentia is a simple Python-based web application to allow UGM students to fill their QR presence list without having another device in h

loncat 20 Sep 29, 2022
This module extends twarc to allow you to print out tweets as text for easy testing on the command line

twarc-text This module extends twarc to allow you to print out tweets as text for easy testing on the command line. Maybe it's useful for spot checkin

Documenting the Now 2 Oct 12, 2021
A tool to allow New World players to calculate the best place to put their Attribute Points for their build and level

New World Damage Simulator A tool designed to take a characters base stats including armor and weapons, level, and base damage of their items (slash d

Joseph P Langford 31 Nov 1, 2022
Allow you to create you own custom decentralize job management system.

ants Allow you to create you own custom decentralize job management system. Install $> git clone https://github.com/hvuhsg/ants.git Run monitor exampl

null 1 Feb 15, 2022
Video Stream is an Advanced Telegram Bot that's allow you to play Video & Music on Telegram Group Video Chat

Video Stream is an Advanced Telegram Bot that's allow you to play Video & Music on Telegram Group Video Chat ?? Stats ?? Get SESSION_NAME from below:

dark phoenix 12 May 8, 2022
Interfaces between napari and pymeshlab library to allow import, export and construction of surfaces.

napari-pymeshlab Interfaces between napari and the pymeshlab library to allow import, export and construction of surfaces. This is a WIP and feature r

Zach Marin 4 Oct 12, 2022
x-tools is a collection of tools developed in Python

x-tools X-tools is a collection of tools developed in Python Commands\

null 5 Jan 24, 2022
Grail(TM) is a web browser written in Python

Grail is distributed in source form. It requires that you have a Python interpreter and a Tcl/Tk installation, with the Python interpreter configured for Tcl/Tk support.

null 22 Oct 18, 2022
Yandex Media Browser

Браузер медиа для плагина Yandex Station Включайте музыку, плейлисты и радио на Яндекс.Станции из Home Assistant! Скриншот Корневой раздел: Библиотека

Alexander Ryazanov 35 Dec 19, 2022
A script that will warn you, by opening a new browser tab, when there are new content in your favourite websites.

web check A script that will warn you, by opening a new browser tab, when there are new content in your favourite websites. What it does The script wi

Jaime Álvarez 52 Mar 15, 2022
A browser login credentials thief for windows and Linux

Thief ???? A browser login credentials thief for windows and Linux Python script to decrypt login credentials from browsers in windows or linux Decryp

Ash 1 Dec 13, 2021