cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
ali1234
Making moves
Status: New idea

Web-based IDEs like Arduino and Github Codespaces are now commonplace. They are hobbled in Firefox due to an inability to access development boards without installing extra system software, which rather defeats the purpose of having an IDE that runs in your browser. This is not the case on Chrome, where Web USB and Web Serial can be used. (Clarification: they *could* be used on Chrome, but often are not because developers don't want to maintain two separate codebases.)

I will preempt the response I have received every previous time I brought up this topic: Web USB and Web Serial present no more of a security risk than web camera or location data, and Firefox already has a permissions system to protect those. On the other hand, the software you have to install to make Arduino IDE work in Firefox starts a webserver that shares your serial port over a websocket, just so that your browser can connect to it. It isn't clear if there are any protections at all on that websocket.

I will also note than the current prevalence of web-based development environments is in part due to Mozilla's insistence that everything should be able to run in the browser, along with projects like Firefox OS.

https://developer.mozilla.org/en-US/docs/Web/API/Web_Serial_API

https://developer.mozilla.org/en-US/docs/Web/API/USB

107 Comments
Nebula-System
Strollin' around

@Jon if similar ideas have been merged does that mean we finally have enough votes to escalate this to the devs?

i think i speak for most people here when i say this: we're tired of waiting and having to switch to something chromium just to use features that are required for lots of modern development, and in lots of cases, ease of use, and in some, increased safety due to avoiding having to install software that's potentially vulnerable, and left installed after, increasing attack surfaces, when this would be locked behind an about:config flag and prompts for every use. no harm to normal users with it locked behind about:config, and requires manual approval for every site that asks to use it.

seriously, please escalate this to someone who can make this happen. i think at 136 votes, and you noting similar ideas being merged on at least a couple occasions, it's worth escalation, or can you at least tell us at what point it will be escalated, so we know how many votes we need?

Tyeth
New member

They'll likely be no escalation. This is an older bug+issue brought to the new forum so likely more votes, this just seems to be the thread new related posts gets appended to.

Key devs / decision makers feel it's beyond the abilities of Mozilla to educate users enough to have a safe level of consent / trust established, mainly due to the existing permissions model and UI, but also around code signing and how to establish trust with websites.

I feel to be honest that it's fair to point at the old adage, "You can try to make it foolproof, but you'll always find a bigger fool", and while limiting damage is the aim, you shouldn't deny all users a feature based on the risk for the biggest fool.

Sure, stick it disabled-by-default behind the protection of the about:flags page, with extra info and docs links, and make users agree on each site visit + reconnection, but you can't stop the tide (people just pick another browser).

 

There has instead been an officially endorsed attempt to use Addon's to alleviate this, unfortunately they don't seem to recognise that that's a bad practise in IT security terms (asking users to install addons). 

https://github.com/mozilla/standards-positions/issues/720

Penguin-Guru
Making moves

As much as I wish Firefox supported these features, I also wish nobody else did. I don't want my web browser to be a full operating system. The problem is that everyone insists on using a web browser for everything. Should Firefox support this? Probably, but I don't blame them for not supporting it.

Headset
Strollin' around

I had to install Chrome on my laptop because I can't flash my Arduino and ESP32 projects with Firefox. Not cool guys, not cool. 

unixdev
New member

I'm so happy Firefox doesn't support this.

Geez people, please understand the security-minded people that just want a browser to connect to their bank or watch YouTube.  I'm a C/C++ dev with 20 years of commercial experience, and I've seen enough security holes planted in by myself and my team, without even knowing at the time.  Adding this to a browsers is a security ticking bomb, no matter how many permissions you have to set to enable it.  If it exists in code, it can potentially be accessed, as software history rich with CVEs shows. 

Having such feature is a risk.  You're willing to take it or are too inexperienced to realise it exists, and I get that.  But not everyone needs this feature, while you'd like to force them into taking this risk with you.  No thank you.  Stick to your Chrome if you feel otherwise and allow the security-minded folks to stay away from this functionality ENTIRELY. 

To me, lack of WebUSB/SerialUSB is a feature, not a flaw.

gregstoll
Employee
Employee

Hello all -

Happy to announce that we are currently working on supporting WebSerial in Firefox! As this is a more dangerous operation to allow, we will require users to install a synthetically generated site permission addon before websites will be able to use this capability, very similar to how WebMIDI works in Firefox today.

If you want to follow along, the meta bug for WebSerial support is bug 926940, and the bug for landing the initial code behind a preference is bug 2010930. We'll be sure to post to this thread when we're further along.

gregstoll
Employee
Employee

Hello all -

Support for WebSerial is now in Nightly! To use it, make sure you're running the latest Nightly build, turn on the "dom.webserial.enabled" preference in about:config, then restart Firefox.

As WebSerial works with a variety of devices, we'd be very interested in having people try this out and reporting any problems. Please file bugs that block bug 926940 and be sure to include what OS (Windows/Mac/Linux) you're using as well as with what device.

Thanks!

hwanzi
Strollin' around

@gregstoll 

HOLY TODAY IS A GOOD DAY!!!!!!

HarlemSquirrel
Strollin' around

😱this is amazing! I've just spent 2 days flashing a seeed studio reTerminal e1001 for esphome via chromium so I'll give this a try!

Nebula-System
Strollin' around

found this thread a bit over a year ago and i am SO GLAD to see this finally get implemented.

HarlemSquirrel
Strollin' around

Working good so far! Was able to connect to an esp8266 board and view logs on https://web.esphome.io and was able to flash twice from my local ESPhome app install on home assistant, view the logs, and reset the device. 🙌

Firefox nightly 151.0a1 (2026-04-15) (64-bit)

OS: Pop!_OS 24.04 LTS x86_64
Host: Lemur Pro lemp10

mhalano
Making moves

What about WebUSB?

Tyeth
New member

Agreed, web-usb support would be appreciated.

I was trying to use PicoFlash to interact over web-usb with an RP2040/RP2350 Raspberry Pi Pico W / 2W board, but the lack of web-usb is limiting for that use case.

griffi-gh
Strollin' around

https://mos9527.com/SonyHeadphonesClient/


trying to use this tool on nightly but it doesnt seem to discover the device, chromium shows it properly

or is there no support for bluetooth serial devices yet?

 

Tyeth
New member

I'm seeing it working to show some bluetooth devices but not all (not actually connected to bluetooth ones only usb in testing though)

Screenshot 2026-04-24 211126.png

Version 152.0a1 (2026-04-22) (64-bit) with an update downloaded and ready to install.
 
Screenshot 2026-04-24 211309.png

 

And Google Chrome with the same situation shows one or two more:
 
Screenshot 2026-04-24 230948.png