Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Why is Bluetooth still so unreliable?
71 points by t8sr 11 months ago | hide | past | favorite | 78 comments
I've never worked on the BT stack, and I have only very high-level idea of how it works. But no matter the hardware, the operating system and the use case, BT is orders of magnitude less reliable than WiFi and other wireless protocols, and I don't understand why.

Some things that are surprising:

1. Devices from the same manufacturer can't see each other

2. Bluetooth audio turns choppy for no reason

3. I have never seen BT work at all on Windows, even in 2024. I cannot think of a single example where I managed to connect a BT device to a Windows computer.

4. BT audio is sensitive to my body moving, for example bluetooth headphones consistently drop audio when I walk at a specific pace.

Is the main source of problems something about the range of frequencies BT uses? Is it a hardware problem, maybe due to the low power? Why haven't we been able to make it work reliably even after 25 years?




One factor is Bluetooth is on the 2.4GHz band, and WiFi on that band is many times more powerful - so Bluetooth packets can only get through in the gaps between Wifi transmissions. Many of the Bluetooth devices around use Nordic Semi nrf5x chips, and we know that with those chips if there's a single wifi transmitting at one end of the frequency band and all the BT-type devices up at the other end there's still significant interference effects. Also the short wavelength (~10cm) means the RF bounces and refracts all over the place, often resulting in small dead spots where devices fail to communicate (and the dead spots move about as the environment changes,e.g people moving around).

As a result, getting anything through relies on lots of error handling and quite a lot of software is not the highest quality, shall we say? It's also not helped by lying user interfaces telling you a device is connected when snooping packets manifestly shows its not (looking at you, Apple).

Bluetooth can be pretty reliable - in RF-quiet environments. Low data rate stuff with error handlng/repeat transmissions often works by getting through during periods when there happen to be few interfering signals. Trying to use BT for relatively high rate date (e.g. audio) with lots of nearby wifi's is always going to be hit and miss.


> One factor is Bluetooth is on the 2.4GHz band, and WiFi on that band is many times more powerful - so Bluetooth packets can only get through in the gaps between Wifi transmissions.

It's the other way around: Bluetooth transmits whenever it wants to (or rather has to, per the frequency hopping sequence) 802.11/Wi-Fi has to deal with the consequences (i.e. consider the channel occupied or back off its transmissions in case of a collision per CSMA/CA).

All reasonably modern Bluetooth implementations support adaptive frequency hopping though and try to avoid bands known to be busy with other protocols.


My point was that at the RF level, BT packets get swamped by Wifi (hence only getting through in the gaps). With Wifi putting out 100mw and BT around 1mw, added to WiFi devices generally having much larger antenna, WiFi is the thing to workaround. And in a busy environment (I often see dozen's of APs in a scan) pretty much every channel is occupied - making it challenging to get much data through at BT-type power levels.


AirPods are Bluetooth Class 1 devices and can transmit at 100 mW as well! A larger (omnidirectional) antenna doesn't increase the EIRP either, which is what is limited in case for both Bluetooth and 802.11.

> And in a busy environment (I often see dozen's of APs in a scan) pretty much every channel is occupied

Most of these channels are overlapping anyway, so we're really only talking about 3 or so channels in the 2.4 GHz band.

And due to CSMA/CA, 802.11 has to back off in case of sensing any sufficiently powerful interference. Bluetooth Class 1 definitely seems like it would qualify, so Bluetooth will actually make 802.11 on all of these channels back off, reducing the duty cycle and creating enough gaps for Bluetooth to statistically get its transmissions through.

Bluetooth audio (A2DP) only needs about 300 kbit/s anyway; that's less than 20% of the total possible Bluetooth throughput, so even if every single transmission needs 5 retries, you'd still not have audio dropouts.

I've never been in an environment where 802.11 was actually able to overwhelm Bluetooth audio connections, neither A2DP (which is heavily buffered), nor HFP (which isn't). Microwaves or older "non-backoff" 2.4 GHz transmitters (old babyphones, analog cordless phones etc.) definitely can, though.


As an interesting experiment, take a connected bluetooth speaker and put it in a microwave oven (without turning it on, and if there is any question of it being on, unplug it).

You will find that the bluetooth connection is instantly broken by the shielding when the door is closed.

Bluetooth also has to put up with leaky microwave ovens, in addition to other users of the 2.4GHz band.


I just put my iPhone 13 into my microwave while playing music on my AirPods Pro. They kept playing reliably until about 10 feet away, where breakup started occurring. By 15 feet the connection was gone. Walking back into the 10 feet range the music started again though.


Most Apple devices including AirPods support Bluetooth Class 1, which have a 40 times higher maximum transmit power than the more common Class 2.


That is quite interesting. Thanks for sharing the results. I don't have Apple devices, so I am not able to verify this for myself at the moment.

I'm assuming that other bluetooth devices die immediately.


True, microwave ovens usually don't implement CSMA/CA :)


> Bluetooth can be pretty reliable - in RF-quiet environments

Like somewhere deep in the Swedish forests, just me and my chainsaw and a bluetooth headset which doubles as ear protectors.

...which still randomly starts stuttering or drops the connection.

Nah, Bluetooth is just unreliable. It works when the sun and moon and stars are in the correct alignment and/or a black cockerel of sufficient pedigree has been sacrificed in the correct way, otherwise it plays its tricks on you.


My only real gripe with Bluetooth is an implementation detail that many audio sink devices (headphones, speakers etc.) consistently get wrong:

Almost all audio sink devices will connect to the last connected source upon starting up. So far, so good – often that's exactly what I want, and it saves me from having to go into the source device's BT or sound menu to select the target device manually. This is great in cars, for example (unless you share a car).

But what many devices don't allow is "kicking out an existing source device" from a new connecting source device. This means that in order to use the sink, I'll need to chase down the currently connected source in my house and manually disconnect it (since sinks usually don't have any UI affordances to disconnect the current source without shutting down the sink).

Some newer Bluetooth sinks, including Apple's AirPods, do support that behavior, and it's been an absolute game changer for me. I really wish Bose would adopt it too; their "connect to two devices simultaneously" hack usually does way more harm than good, especially when some of these devices are shared in a household.


Only one?

BT in my car: Spotify on the phone starts to auto-play as soon as it connects. Because car = music, apparently. I still haven't been able to figure out if this is Spotify, Android or Mercedes being dumb.

Similar to your issue, my laptop and I are often exactly far enough apart that my Bose headphones start an infinite connect/disconnect cycle, with a tediously long "Connected to laptop" message every 30 seconds. For that scenario, it would have been enough if it just stopped trying after a few short connections.

My conclusion is that we've had wireless devices for >20 years, but have barely scratched the surface of the implications in terms of UX.


> BT in my car: Spotify on the phone starts to auto-play as soon as it connects. Because car = music, apparently. I still haven't been able to figure out if this is Spotify, Android or Mercedes being dumb.

It's your car. Some automatically send the "play/resume" control signal whenever they start up, which causes Android to resume playing on the most recently active audio app. No idea who thought that that was a reasonable default...

> Similar to your issue, my laptop and I are often exactly far enough apart that my Bose headphones start an infinite connect/disconnect cycle, with a tediously long "Connected to laptop" message every 30 seconds. For that scenario, it would have been enough if it just stopped trying after a few short connections.

It's not a real solution in any way, but if you're usually confident what device you're connected to, you can disable voice output via the Bose Connect app.


This used to drive me nuts as well but I was able to find a fix on Android: if you put your phone into developer mode you get an option to only ever connect to one device at a time.

I flipped this on and it works perfectly. The current device never gets booted and switching manually is easy in the rare case I want to use the other device.


My problem isn’t the phone (i.e. the source device), but rather some sink devices not allowing new inbound connections while they’re already connected to something (i.e. the wrong thing).

I can live with sometimes having audio focus stolen by some other Bluetooth device, since that's usually my desired behavior; I just want there to be a remedy for me that does not require walking through the apartment and hunting down potential source devices hogging my desired sink device.


Very annoying indeed. And closing the lid on a macbook doesnt change anything to this behavior !


Yep. There used to be a setting that changed this behavior, "allow Bluetooth connections even when in standby" or something to that extent, but that seems to be gone since the switch to Apple's own CPUs, just like "Power Nap" – presumably the efficiency cores use so little power that it's not even worth offering a switch to deactivate that behavior anymore.


People in the Apple ecosystem usually report Bluetooth works great. I'm not in that ecosystem but I've heard this many times. I always assumed Apple works hard to make sure all their devices interop over Bluetooth well. For me, I just pretend Bluetooth doesn't exist and don't use it. I've pretty much never had a positive Bluetooth experience.


Almost too well – I wish my phone wouldn't connect to my car when I’m sat inside the house and my wife arrives home. For cars in particular, how hard can it be to connect only when inside the vehicle?


I've actually had great frustration with Apple bluetooth, but I think a higher levels of the stack.

My wife has an iPad, iPhone, Apple watch, and iPods.

I have just iPods.

There are countless times when I'm listening to the iPad with my iPods, and when she comes into range, either my iPods switch connection to her iPhone, or her iPods steal my connection to the iPad.

I've found no setting on any device that fixes this. It drives me insane.


Ugh, that sucks. But I'd still take that over the experience I've had, which is usually trying over and over and over again to get a device to connect at all. Like listening to music in the car, pull over to get gas, and then spend 20 minutes trying to get the music going again (and usually just give up and listen to the radio). It's maddening.


In AirPods settings on iPhone, there's "Connect to this iPhone" option. It defaults to an automatic connection, but could be changed to connect only if previously connected.

I think this is supposed to cover your use case, though given the general Bluetooth unreliability, I won't be surprised if it didn't work as expected.



Settings -> Bluetooth -> <your AirPods' name> -> press the little (i) -> "Connect to this iPhone" -> "When last connected to this iPhone" should do the trick.


That should only happen if those devices are all logged in to the same Apple ID. Do you all have separate Apple accounts?


> People in the Apple ecosystem usually report Bluetooth works great

Bluetooth isn’t perfect in Apple world (multi device handoff doesn’t always work for me) but it’s substantially better than the chaos described above.

I’ve never had a situation where my AirPods started cutting out depending on how I walk (like the OP described) for example. I can walk several rooms away from my device before they start cutting out.

Having done some Bluetooth work before, the quality of everything from the stack to the hardware to firmware varies greatly from device to device. Anything Android was a nightmare a few years ago but it was getting better.


Can confirm. Bluetooth on my Apple devices work flawlessly, bluetooth on my non-Apple devices does not (Windows/Linux PC, JBL speakers, etc). No idea what Apple does differently.


Apple controls both sides of the link


Hit and miss I would say.

Budget Sony headphones I bought last year work great with my iPhone. No complaints at all.

The Bluetooth stack on my iMac has a bug where it will crash hard after around two weeks of uptime. Very annoying, because the (Magic) Keyboard and (Magic) Mouse stop working. Only way to fix it is a restart.


Apple AirPods Pro are the only BT device I've ever used that just works.


I didn't like my AirPods Pro because it was never clear to what device they were going to connect to. Sometimes they'd connect to my Apple Watch when something happened on the watch, and sometimes they'd stay connected to my iPhone while the Apple Watch used its speakers.

These days I have Sony earbuds and they stay connected only to my iPhone.


You just have to change each BT device (as in the airpods) to connect automatically "when last connected to this device" rather than "every time" or whatever the exact language is


I've only been using Bluetooth headphones with Android and Linux for about a year, but I don't remember having anything to complain about.


I actually love bluetooth, because I think it's a miracle it functions at all across so many devices. In general, I can make sound happen on a thing, and that's cool.

Having said that, this list is missing my biggest gripe: so many of the implementation decisions are left up to the devices that you get an entirely different experience from player to player, speaker to speaker. Will it start playing on reconnect? Will it reconnect on its own but not switch source so my audiobook plays in silence for an hour drive?

I have to tediously reconnect my Ford, but if I get within 100 yards of my running Toyota, it will preempt nearly anything else it's doing to become the eavesdropping speaker for my phone call.


This is exactly my biggest gripe as well! There's actually one reasonable behavior that audio sink manufacturers just have to implement, and it doesn't seem too hard, that makes most of these problems go away: https://news.ycombinator.com/item?id=39029037

I really wish the Bluetooth specifications would require, or at least strongly suggest, that behavior.


I've had pretty good luck with BT -

Apple's stuff largely just works - provided everything you want to use is Apple.

I use non-Apple headphones with my work Windows box, and that just works as well - connecting takes longer on Windows boxes, not sure why.

My primary use case is BT Audio Peripherals, but I've used it for a mouse, and for programming/pairing devices to a network as well, with nary an issue.


I used to have these complaints but the past 4-5 years have been smooth sailing for me. Perhaps I'm lucky. I use BT devices all day long (Bose QC35 II with Macbook, Pixel Buds Pro with Google Pixel 4 and more recently 7 Pro). Have to confess I rarely use BT in combination with Microsoft Windows though.


This is my experience. Windows has gotten better too albeit still the one I have the most issues with. It’s mostly their BT configs randomly get out of whack and I have to go troubleshoot it, like I don’t use my headphones in a month and it’s decided to disable the device although the taskbar makes it appear as paired.


I get none of your problems. I use Logitech MX mouse, Bose QC 35 headphones, Sony 1000-XM4, JBL earbuds, lots of no brand Chinese BT earbuds, car bluetooth, BT speakerphones. They all work on macOS, Windows and Android for me.

Sometimes BT audio gets bad depending on how many walls it has to go through but thats reasonable.


Ask HN: Why is Bluetooth so unreliable?

351 points|whitepoplar|7 years ago|261 comments

https://news.ycombinator.com/item?id=14752719

Ask HN: Bluetooth kinda sucks. Why don't we have something better?

135 points|zachallaun|1 year ago|161 comments

https://news.ycombinator.com/item?id=32469976

Ask HN: Why is Bluetooth so unreliable?

89 points|aosaigh|4 years ago|41 comments

https://news.ycombinator.com/item?id=22904442

Ask HN: Anyone else find Bluetooth to be frustrating?

52 points|c7DJTLrn|2 years ago|55 comments

https://news.ycombinator.com/item?id=31441331


My personal opinion: overengineering. Most of the original BT stack design lifted the framework from the infrared (IrDA) protocols. IrDA's original intention was a "simplified" OSI model, but as design by committee goes, it derived in a blown out spec that was very difficult to implement even in capable hardware at the time. As usual it had a very ambitious plan of being a protocol for everything, including devices that were not invented yet.

I once worked in a project that allowed truck drivers to print invoices with a Palm device to printers that needed an IrDA transceiver dongle. What would have been a no-more-than-a-week project in any other sane embedded system turned into a 3 month ordeal. Time was mostly spent troubleshooting and debugging the several layers of the system, from the physical up to the application. Many years after that I worked in BT and BTLE devices and, although I had better tools and software stacks, my experience was exactly the same. Just browse the issues in the BlueZ forum developers face even when attempting to do silly and simple stuff. Imagine trying to use BT hardware and software to do more sophisticated things like synchronizing the audio stream of multiple BT speakers.

In the last years many of the new BT features that are continuously being added to the spec feel like an afterthought. Specially in critical areas like security. Contrast that to a technology like WiFi that was always intended as a typical network communication ecosystem. Things have improved a bit since there is undoubtedly more experience due to all the devices out there with more performant hardware. However the fact that you need to deal with an onion of multiple hardware and software components, each with its own intricacies as a result of the engineer's interpretation of a complex specification - and therefore very difficult to verify and test, explains for me the current situation we are in.


It's not. I use bluetooth headphones, use it to listen to music in the car, and use it for several of my mice. I do not suffer disconnects, choppy audio, or much else.

Interesting that you complain about windows. I use the headphones almost exclusively with Win10 computers. You may find a well-reviewed (I've had good luck with TP-Link USB adapters) bluetooth adapter connected to your Windows PC and disabling whatever crappy builtin it has might do wonders for you. Worst case you're out $12.

Most of my issues are when pairing, and even that is not frequent, and can almost always be solved by having the computer/phone "forget" the peripheral and then turning the peripheral device off and back on. Absolute worst case I'll reboot both and then it's always fine.

However, I will say that all of my devices I use were manufactured in the last two to three years, so that may help.


4: I’ve also experienced stuttering audio with a Bluetooth headset while moving (jogging). I am almost positive this is a hardware issue though due to poor build quality (intermittent short or open circuit). That’s not something I’ve really experienced with more reputable manufacturers (Sony, Bose for example).


The waves have trouble with solids due to the wavelength. For example, your body - too much of it can be in the way, especially when moving.


Of course 2.4 GHz microwaves don’t penetrate tissue (cotton clothing is probably fine), but line of sight should not matter that much. I admit that i haven’t experimented with putting a sheet of lead between my phone and problematic headphones, but considering they work fine from the next room, I think it’s the actual mechanical jittering that’s the issue.


Could it be software confused over whether it should silence audio to listen for spoken commands, repeating as you jog?

I’ve inadvertently had that happen


I know it's not helpful to say "well it works for me", but...."well, it works for me". I'll try and be more helpful:

I have several Windows computers - all four now running Windows 11. In all cases at the minimum Bluetooth keyboard and mice are used all the time and in all cases it works absolutely fine with no faults. This is with decent, high-ish-end-branded devices (Logitech, Microsoft) and generic nonsense from Amazon.

I use Bluetooth earpods - cheap things from Amazon - with my phone and sometimes my laptops again without issue. The very worst that will happen is that it won't connect one time, I'll put them back in the case, take them out again and it will work fine. I've had three bluetooth earphones/headphones before this and all have worked the same.

So I wonder if this is something about the specific kit you use (or you've been very unlucky, or I've been very lucky). Or a specific other condition of the environment you're in, e.g. very high interference on the 2.4GHz band. Are you able to check this by moving these to a very different location? Or have you a friend with a Windows laptop who you could try the devices on? If you cannot connect a single BT device to a Windows device under any circumstances that does seem highly unusual and likely to be about something else.


Bluetooth works great and that's why it's the standard and has stuck around so long.

1. Ive don't use Apple products but iPhone and Apple Air pods seem to integrate and work especially well together, not sure why you say they don't, can you expand?

2. I use Bluetooth daily in my car from my phone (also two different manufacturers) and have never heard "choppy" audio. It does however happen connecting my Sonos home speakers but that's wifi, maybe that's what your thinking of?

3. I don't use windows but my daily driver is a Bluetooth think pad mouse with Ubuntu on a Thinkpad. Also it connects great with my Bluetooth headphones. Are you telling windows can't connect to a Bluetooth mouse? That is odd, I'll give you that if it's true.

4. I run the track at the gym with my head phones and cheap android. I leave my phone in the center and run laps and don't have a single issue, again, for the life of me can't image what problems you are addressing.

This whole post is mind boggling. Does ANYONE have the same issues op does?


Being in the 2.4GHz band, it's going to be a crapshoot depending on where you are. If you are in a dense office or apartment building with a million Wifi access points you're going to have a bad time. A standalone house with modern APs on higher frequency bands? Probably a great experience.


In my anecdotal experience Bluetooth reliability has increased DRAMATICALLY in recent years. I don't have nearly the same number problems I had with devices years ago. I have several devices now that are rock solid reliable as far as audio goes.

Old devices such as my 2015 Subaru Forrester are still… garbage as far as Bluetooth usability goes. It’s not worth even trying.


In my anecdotal experience, it's working relatively well, but some of the devices are simply subpar or buggy.

My earphones (though sometimes I catch microwave interference), speaker, keyboard and mouse (though my mouse gets choppy if system is under strain - which tells me that there's a fair bit of CPU processing, which is a reason) work reliably. They always connect and perform the desired function.

Both my cars are unreliable. One of them disconnects pretty much every time on the second connection in a short time (eg make a quick stop, phone connects for 20s then drops). The other sometimes has choppy audio, or distortion. Both sometimes don't catch my phone and I have to manually trigger connection. Sometimes they don't connect at all until I reboot the car. Given the general state of car infotainment, I suspect this is a poor implementation by the car manufacturer. (arguably not simple given the interference of alternators and such and being in a Faraday cage).


I've used bluetooth on linux, windows and macos. It mostly works (definitely nothing as bad as "never seen BT work at all on windows". There are so many keyboards, mouse and audio devices working pretty decently that I wonder what you are using and what is your use case.

My main gripes with it are:

- (lack of) selection of which device I end up connecting to (typically previous used device, unless not, and if you don't want that and it connects anyway, it is annoying to go and disconnect it)

- shitty audio quality in most implementations if you want to use microphone at the same time as listening to audio

- lack of support for actual multi-device connectivity (not 'this headset can switch between two "connected" sources, only playing from one' but 'this device can mix those two audio sources and play the result', for example. Which shouldn't be much more expensive than the worst case of adding another entire BT circuit + mixer)


I think there is crappy hardware and crappy software. But there are also good combinations.

In my case, my Sony and Shure headphones have always worked perfectly on my 2013 MBP, iPhone 7 and multiple Linux boxen. Don't know what controller was in the MBP and iPhone, but all the PCs have Intel ones.

I now have a mouse which works surprisingly well over BT, although I usually use its own dongle because it seems to have less lag and it can switch between the several computers connected to my KVM at the same time the display and keyboard do.

However, on Windows, things aren't as smooth, even though it's strictly the same hardware. Connections take longer to establish, and the mouse has definitely more lag than under Linux. It also doesn't support the very high bitrate audio modes both my headphones and Linux support, and if I'm watching videos the audio is out of sync.

Since I rarely use Windows, all in all, I'm a very happy Bluetooth user.


My experience, in recent years, is that BT performance has mainly been bad when in an open space. I've found that while mowing my lawn or walking bluetooth audio drops out unless my phone is in my shirt pocket instead of my front or back pants pocket. Once I am in an enclosed space I don't have this issue.


My question isn't why BT is so unreliable, rather, despite all its problems, why is it still so ubiquitous?


Because it actually works fine when vendors get their act together.

A lot of the products out there are cobbled together “works on my machine” quality.


The existing mass. Currently there have 4.9 billion Bluetooth devices shipped. It might be shit, but it's the shit we have and know.

https://www.statista.com/statistics/1220933/global-bluetooth...


Generally work fine for me, but microwave interference seems unpredicatble depending on device. My nicer headphones with longest range gets over powered easily for some reason.

QoL stuff that still needs sorted, better multipoint, especially media controls. The entire interface around it in general, I wish there was way to manually jump between sources.

At this point I'm seriously thinking about setting up an audio mixer that recieves bluetooth from all my devices and transmits to my primary headphone. Though it would be a lot of dongle juggling, and I'm surprised there isn't off the shelf solution.

Also anyone know if there's a way to see test/see if a headphone and dongle is class 01? Very few makers advertise this and it's just assumed on Apple devices which tend to have phenomenal range.


Weird. I think modern bluetooth works really well. with the exception of the occasional (~monthly) reboot (on Samsung Phone for smart watch, Macbook pro).

Bluetooth devices I use regularly

- Sony WC-310 Headphones

- JBL Earbuds (pairing menu is difficult)

- JBL Headphones (pairing menu is difficult)

- Beats Flex headphones

- Mi Band fitness tracker (this requires rebooting the phone bluetooth the most)

- Echelon Bike, Rower, 3rd Party Heart Rate monitor (occasional bluetooth stack restarts on refurbished Amazon Firepad from a deep sleep)

- aftermarket head unit in 1c ar

- factory german head unit in spouse's car (Android Auto)

- cheap bluetooth transmitter / receiver for airplanes

Anecdotally, I only experience bluetooth stuttering on cheaper equipment, when batteries are low, or in high interference areas. Strange anecdote, i experience less bluetooth stuttering on my MacBook pro with mouse than I do with RF or USB.


Since there seems to be a lot of BT experts here, perhaps I can ask a related question – why is BT still so slow?

Sometimes I want to transfer a file from a device to my phone or vice versa and it can take several minutes to transfer a file a few MBs in size. And don't get me wrong, it's far better than it used to be back in the 00s, but I guess it just seems odd to me that close proximity wireless file transfer isn't at least as fast as wifi? Or perhaps it is and my phone / laptop isn't supporting the full speed transfers?


> seems odd to me that close proximity wireless file transfer isn't at least as fast as wifi?

BT is low power and low bandwidth.

If it was as fast as WiFi, we’d just use WiFi for everything.

Protocols like AirDrop use Bluetooth for negotiation and then WiFi for data transfer for this reason.


> If it was as fast as WiFi, we’d just use WiFi for everything.

Yeah, but there's no cross platform way to send files over wifi like AirDrop that I'm aware of? The reason I use Bluetooth is because I have an android phone and if I'm not connected to wifi, or can't send a file over wifi for some reason (I'd typically need to upload somewhere first then download to my device), then I have no other options but BT.

So I suppose a follow up question would be, why isn't there some kind of peer-to-peer file transfer protocol using wifi that all devices implement? Given a lot of people don't have AirDrop because they're not using Apple devices how is the average person suppose to send files between devices quickly without first uploading to the internet or using cables?


I would check your environment for interference on the 2.4ghz range. I'm running Bluetooth gizmos galore and don't have aby problems.

Well battery problems but that's a different issue.


I don't have any of these issues you're describing. I use a BT mouse/KB audio on Windows all the time, and use it to send files to my phone.

The last time I had BT audio choppiness was in 2016 , and that was an issue with that specific phone's BT hardware.

If only the file transfer speed was better (100KB/sec only good enough for transferring small files), I'd be able to leave behind proprietary file sync services forever.


The factors that contribute the most are

1) Bluetooth devices are usually battery powered and have their microwave RF section and DSPs implemented in power-sensitive silicon. Layer 1 and 2 performance is not good.

2) The Bluetooth specification is very complex and requires IP licensing for more desirable features such as low-latency audio, so inexpensive Bluetooth devices often badly test unpopular features and forgo licensing for nicer CODECs.

3) Bluetooth is based on frequency-hopping (FHSS), and the wavelength difference between the lowest and highest permitted frequencies is about 4mm. In some cases, this means that an intermediate RF-opaque object which is around that size near either transceiver may cause portions of the Bluetooth spectrum to be blocked, resulting in some percentage of the transmitted frames to be below the receiver's ability to get the bits out of the frame. Those dropped frames are not retransmitted, so the audio presented to the user sounds like swiss cheese, with evenly interleaved gaps of a few dozen milliseconds each.

4) Many legacy Bluetooth devices for Windows have driver packages that install an entire parallel Bluetooth stack (CSR, Toshiba...) next to the Windows one, because the in-box stack was pretty bad for a long time and didn't support many newer features. The situation is much better now, but machines which were upgraded from such a state, or ones which had whatever drivers were in the device's box installed are often using Bluetooth stacks which are totally ancient.

5) Embedded Bluetooth firmware is often not tested against many hardware failure cases, or omits more sophisticated portions of the stack due to CPU or memory constraints, and relies on cost-sensitive NVRAM technologies which have high bit error rates compared to e.g. a NVMe device with a 1 GHz controller to do lots of fancy error correction. Sometimes, the device just doesn't have reliable areas of NVRAM to store certain persistent state, and has no way to tell you that the checksums aren't working out (if they're even implemented), so pairing just fails for what seems like mysterious reasons. Keep in mind that many, many Bluetooth chips are driven by extremely low-end CPUs (I've seen 8051s), so there just isn't space for handling errors. The spec is complicated enough that many procedures have lots of failure modes, and in many of those cases the firmware just gives up and drops the frame on the floor.


Bluetooth is indeed very complex, the complete spec runs into thousands of pages. The Nordic SDK has more than 100,000 lines of code in it, and the proprietary stack (which they don't give you source code for) is probably another 100,000 lines of code. Nordic tries to get you to buy their software development services for Bluetooth, which may explain why their example code is not the greatest in my opinion (for example they provide an example of handling interrupts and an example of connecting to multiple devices, but no example of doing both at the same time and you can't just put the two examples together.) Nordic's SDK is a wrapper around the Bluetooth stack, so you not only have to understand Bluetooth itself, you have to learn Nordic's wrapper around it. They kept changing the stack and SDK and the chips themselves every few months (look at their part number histories) as well so any code you wrote went out of date quickly. There is speculation that large manufacturers love Bluetooth because it is a large barrier to entry for smaller companies, unlike say ANT+. I got ANT+ working on an embedded device in a month. I spent two years trying to get Bluetooth to work on the same device (admittedly in a more complicated configuration with multiple simultaneous channels) and I've spent a decade doing embedded programming with wireless radios. Most developers just use an example program with little modification, so they don't handle errors well or think about recovery from bad situations or do security/encryption. Human bodies block Bluetooth signals. I had a test device about 3 feet from a laptop where I was running long term tests of the radio, the data stopped every time I stood between the device and laptop. We were using Bluetooth based body worn sensors with a custom smartwatch so this was a problem for us, if someone put the smartwatch hand behind their back or under their arm all communication stopped. Put your phone in your back pocket and it will miss most packets from your smartwatch. This comes from using the 2.4GHz frequency, VHF radios are much more robust in getting around bodies and through obstacles. Bluetooth is just the wrong technology for many of the things it is used for, but it became ubiquitous in smartphones so now we're stuck with it.


My spouse and I share a car. When I'm on my bluetooth headphones connected to m phone at home (say, doing the dishes and listening to a podcast), if she drives in to the car port (which is next to the kitchen), the car kicks my headphones off the blue-tooth connection, and I'm connected to the car instead. It's very annoying.


What surprised me the most was that a bluetooth smartwatch reduced my 2.4GHz home wifi speed to kilobytes per second whenever I tried to connect it to my phone app. It’s absolute trash technology in practice and I just don’t use BT anymore anywhere due to such problems.


I'll do my best to answer, what i've learned about this.

> 1. Devices from the same manufacturer can't see each other

There are different versions of 'bluetooth' if the host cant negotiate with the client it doesn't know how to deal with it.

> 2. Bluetooth turns choppy for no reason.

From my limited experience, I have noticed that there are different audio profiles, one of them is high quality but when you add a microphone into the mix it downgrades significantly. The microphone AND the audio output are both downgraded in quality, I think because the device switches profiles.

> 3. I have never seen BT work at all on Windows, even in 2024. I cannot think of a single example where I managed to connect a BT device to a Windows computer.

Sorry, I run linux, I assume people do bluetooth on windows.

> 4. BT audio is sensitive to my body moving, for example bluetooth headphones consistently drop audio when I walk at a specific pace.

You are walking at 2.4ghz, stop that. (Seriously, i have no idea what that is, that sounds awful and awesome).


To add insult to injury, Logitech's proprietary format to communicate wirelessly with mice and keyboards is a little wonder of ease-of-setup plus reliability-in-use. Granted they can much more rely on their own well-defined hardware but still.


There isn't a standard Bluetooth implementation so there's a certain degree of issues in the space. Overall though, I think you're projecting your anecdotal experience.

I too use Bluetooth on windows with headphones[1] and keyboard[2].

While I can't define the experience problem-free, I had occasional issues to solve (mostly with audio, due to bandwidth limitations and such on some controllers/receivers), it's not been as bad as you define it.

In fact, I would say that it isn't very different to the experience I've had with android/iOs where I had too issues with bluetooth.

[1] https://www.turtlebeach.com/collections/stealth-700-gen-2

[2] https://www.logitech.com/en-us/search.html?q=K400+Plus+Wirel...


https://xkcd.com/927/

From what I understand, there's no standard implementation of the standard. So each implementation is unique in some ways. Therefore a "unified" experience is impossible.


The same is true for almost all (real) standards: There's no reference implementation for 802.11, Ethernet, 5G etc. either, yet nobody would claim that a "unified Ethernet experience" is impossible.


I can't speak to the others, but if you haven't been able to get it to work on Windows, then it's you who are doing something wrong.


It's all about the chipset hardware and drivers, which are not standardized across the PC world. Some people don't care about Bluetooth, and they want to pay less for their boards, so manufacturers oblige them. On a PC, you have to pay extra for decent wireless performance. On Apple Macintosh you pay extra always, whether you want it or not, but you get consistent quality in return.


Have you considered the possibility that there might be more than one Bluetooth host adapter manufacturer for Windows laptops/PCs, and in addition to that more than one way to wire up said adapter correctly to ensure good radio propagation?

"Works on my machine" when it comes to Windows hardware is a pretty narrow-minded take.


I use Bluetooth on Windows all the time (like right now I am listening to music on Bluetooth headphones.)

The performance of individual devices for Bluetooth can vary widely.

A year ago I built a "gaming PC" which has a relatively big antenna that looks like the "ear" of a giant robot from a 1990 anime and I can walk all over my 2200 square foot house with my V-Moda headphones and never hear a dropout. I have a Dell Latitude laptop which was strong enough to connect to headphones through 10 (flimsy) interior walls at the office; it used to run Windows but it runs Linux now and still does a great job connecting to BT mice and headphones. On the other hand I also had an Alienware (also Dell) laptop which had dropouts if I turned my head sitting in front of the machine.

Other people think I'm crazy but I've never had iDevices of any kind be able to play music on BT speakers while streaming music over WiFi (even friends visiting can't make it work.) My current "on the go" device is an iPad which my major complaint is that I have 3 BT devices I want to use with: keyboard, mouse and headphones, but I can only get 2 of them to work reliably at the same time.

I think it comes down to this: a PC or phone could have very different electromagnetic performance based on the design and some are much better than others. You don't see it advertised or even tested in reviews so you can't just shop for a computer which has good BT performance. Similarly different devices are going to have different performance levels and it all can vary based on details... My V-Moda headphones really work great with my Yoshinon (e.g. the physical home of YOShInOn) but with some lesser headphones you might come to the conclusion that Yoshinon sucks.

Because the standard is so complex, all kinds of implementation details, even in software, could have a big impact. For instance, if you are using an audio codec with a lower bit rate you are making less demand on the radio and might have better reliability, but sound quality would be better with more bits. I love quality sound but if I had the option I might trade quality for reliability in range but... I don't get this option.

As far as frequency, Bluetooth uses the same 2.4GHz band that WiFi started out using. You'd better believe that Bluetooth is degraded if a lot of other devices (even other Bluetooth devices) are using that band. Sometimes I wonder if the whole "convertable" laptop thing was (a) an attempt to confuse flight attendants (do you have to put it away?) and (b) the shadow of the consumer electronics show where there are so many half-baked gadgets at such a density that you'd be insane to try to demo anything that uses BT... With the effect that devices aren't really designed with the BT lifestyle in mind because even if it worked at your home and office they couldn't demo it. (900 MHz has similar problems... The band is practically dead in 99.9% of America but go to Palo Alto and you find every Stanford grad has a bunch of half-baked gadgets that make my scanner scream and would convince any startup that the band is so crowded you can't use it.)

I'd also say the industry just isn't thinking about it in the right way. I wish there was an "infrastructure mode" for BT where my headphones could roam throughout the house and the data goes over the Ethernet and comes out through one of my WiFi hubs. It's the kind of thing I could probably get sorta-kinda working in a month or two with one set of headphones but to make it completely reliable with all the different devices out there and under all circumstances looks hard enough I can see why it hasn't happened.


Bluetooth is technology for location, tracking, and fingerprinting. Started as a wireless audio input/output protocol but there are too many incentives for other "smart" applications. It's like asking why search from Google is bad or why social networking website from Facebook is bad.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: