ESPTool on Chrome

For CircuitPython issues, ask in the Adafruit CircuitPython forum.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Post Reply
User avatar
blakebr
 
Posts: 1352
Joined: Tue Apr 17, 2012 6:23 pm

ESPTool on Chrome

Post by blakebr »

Hi,

What is the setting in Chrome that must be changed/set to let ESPTool work to update AirLift?

Bruce

User avatar
mikeysklar
 
Posts: 17731
Joined: Mon Aug 01, 2016 8:10 pm

Re: ESPTool on Chrome

Post by mikeysklar »

I don't know if you still need to set these, but at one point:

chrome://flags
Experimental Web Platform features (enable)

...

Settings -> Privacy and Security -> Site Settings -> Additional permisions -> Serial Ports (check permissions)

...

Also make sure you have the pass-thru mode enabled for the Airlifts

User avatar
blakebr
 
Posts: 1352
Joined: Tue Apr 17, 2012 6:23 pm

Re: ESPTool on Chrome

Post by blakebr »

Mike,

Chrome may have changed things. When I follow the path you gave it looks like a bunch of sites are enabled. When I access the ESPTool web page, all I get is:
esptool.js
Serial port WebSerial VendorID 0x2e8a ProductID 0xa
Connecting...
And it just sits there.
Using a logic probe I see:
CS = Low
RST = High with a pulse after I hit RESET on the Pico RP2040
GPIO0 = Low
RX = High with pulses every 4 seconds (Data?)
TX = High with pulses every 4 seconds

The lash-up had previously worked when I updated my AirLift to 1.7.7. I used it and set it aside and have not touched it. I have verified the wiring a dozen times.
I know I have the correct COM Port because I get the following when I hit RESET on the Pico:
Error: Failed to execute 'setSignals' on 'SerialPort': Failed to set control signals.
Something has changed. I don't know what. I am still using Windows 10 with all updates. It may have been one of those updates. I am not using a USB hub.

On a different breadboard I setup the tool using a Feather RP2040, and I get the same results.

I am using these *.UF2 files:
Pico-RP2040-Passthru.UF2
Adafruit-Feather-RP2040-Passthru.UF2
Bruce

User avatar
mikeysklar
 
Posts: 17731
Joined: Mon Aug 01, 2016 8:10 pm

Re: ESPTool on Chrome

Post by mikeysklar »

Agreed. Adafruit_WebSerial ESPTool is not currently working with Airlifts. I tried a MatrixPotal M4 and PyPortal to confirm.

When I switch over to a straight ESP32-S2 Rev TFT it connects as expected.

I believe the issue started a week ago with a fairly routine esptool-js update. It might not be even related to that code. Last time it was a hard coded release version messing up the hard reset logic on the AirLifts.

I'll take a look.

User avatar
jerryn
 
Posts: 1955
Joined: Sat Sep 14, 2013 9:05 am

Re: ESPTool on Chrome

Post by jerryn »

FWIW — I ran into this today with a Matrixportal M4.
I was able to update it successfully by installing esptool.py and running it:
https://learn.adafruit.com/upgrading-es ... py-3124147

User avatar
mikeysklar
 
Posts: 17731
Joined: Mon Aug 01, 2016 8:10 pm

Re: ESPTool on Chrome

Post by mikeysklar »

Thx @jerryn. The CLI esptool.py is a good work around for now.

User avatar
mikeysklar
 
Posts: 17731
Joined: Mon Aug 01, 2016 8:10 pm

Re: ESPTool on Chrome

Post by mikeysklar »

Better summary of Adafruit_WebSerial_ESPTool release 1.3.1 last week.

Code: Select all

fix : Passthrough logic inside hardReset() by @mikeysklar in #304
fix : jsdelivr updated to current release by @mikeysklar in #305
fix : version# --> @latest by @mikeysklar in #306
Bump @types/node from 22.9.0 to 22.9.3 by @dependabot in #309
Bump rollup from 4.25.0 to 4.27.4 by @dependabot in #308
Bump typescript from 5.6.3 to 5.7.2 by @dependabot in #310
Update to use esptool-js by @makermelissa in #311
Update GitHub Pages Actions by @makermelissa in #318
Point to esptool-js 0.5.3 by @makermelissa in #320

User avatar
mikeysklar
 
Posts: 17731
Joined: Mon Aug 01, 2016 8:10 pm

Re: ESPTool on Chrome

Post by mikeysklar »

@brblake -

Issue #321 opened.

User avatar
blakebr
 
Posts: 1352
Joined: Tue Apr 17, 2012 6:23 pm

Re: ESPTool on Chrome

Post by blakebr »

Mike,

Thank you.

The reason I am working on the update process is I am hoping to make a CircuitPython code.py that will do what the *.UF2 files do. This would then possibly make the upgrade workable on more than just two MCU boards. And possibly on the RP2350 boards. I have the UART I/O figured out. The USB I/O is being stubborn.

I needed a working *.UF2 process to test against.

Bruce

User avatar
Timeline
 
Posts: 1239
Joined: Sun Feb 18, 2024 7:13 pm

Re: ESPTool on Chrome

Post by Timeline »

Does the ESP tool work on RPi RP2040/2350 board in the first place (or the MatrixPanel M4 running a ATSAMD51J19 Cortex M4 processor)? It is after all, a serial flasher utility for Espressif chips which the RPi chips are not.

User avatar
mikeysklar
 
Posts: 17731
Joined: Mon Aug 01, 2016 8:10 pm

Re: ESPTool on Chrome

Post by mikeysklar »

I believe it does as long as the chips are connected via SPI and *not reset* upon connection.

Keep in mind that boards like the PyPortal, MatrixPortal and Metro Airlift are M4 based with a ESP32 co-processor.

I looked into the code last night and see a plausible work around. There is a customizable reset option. A better permanent solution is a PR submission to Espressif that adds "no reset" support for the esptool-js utility.

User avatar
blakebr
 
Posts: 1352
Joined: Tue Apr 17, 2012 6:23 pm

Re: ESPTool on Chrome

Post by blakebr »

Hi,

The RP2040 ESPTool is for passthrough only it use 5 control lines CS. RST, GPIO0, RX and TX. SPI is not used for updates. SPI is used for WiFi. The core code for the RP2040 MCUs looks like:

Code: Select all

While True:
     if USB Character: Send it out the UART port
     if UART Character: Send it out the USB port
Bruce

Post Reply
Please be positive and constructive with your questions and comments.

Return to “Wireless: WiFi and Bluetooth”