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?
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.
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.
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.
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.
Sometimes BT audio gets bad depending on how many walls it has to go through but thats reasonable.
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
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.
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.
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.
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?
Old devices such as my 2015 Subaru Forrester are still… garbage as far as Bluetooth usability goes. It’s not worth even trying.
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).
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)
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.
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.
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.
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?
Well battery problems but that's a different issue.
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.
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.
> 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).
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...
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 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.