Homebrew Bluetooth Headphones
homebrewheadphones.com
homebrewheadphones.com
It has 5V stepdown converter and Li-Po charger as well as amplifier integrated on board. Cheap USB-C Li-Po chargers lack neccessary 5.1kOhm pull-downs and therefore work only with USB-A->USB-C cables. Soldering them onto charger PCB is borderline impossible, while adding them to most USB-C sockets is fairly easy (usually there are free pads to solder 5.1k SMD resistor). You then connect 5V and GND from USB-C socket to BT module and it handles charging the battery that is connected to separate pads.
I don't really understand why article recommends board without amplifier, I tried using CSR8675 board without one and it was waaay too quiet.
With 500mAh battery salvaged from old BT speaker I get over 20h of loud playback, which is fine for me.
[1] https://www.reddit.com/r/headphones/comments/r32ru2/yet_anot...
It depends on the drivers; if they're low impedance, the result may be deafeningly loud. Yours seem to be available in 32, 80, and 250 ohms, the ones in the article are 32.
Notable difference is that mine are simpler to build, though less integrated. I use an off the shelf bluetooth to 3.5mm adapter rather than one of those integrated boards (I did recently buy an integrated board to test out). The off the shelf bluetooth adapter just plugs in to the short 3.5mm cable I build in to the headphones, which has the advantage that you can make them wired headphones with a simple extension, which sometimes has its use. Anyway take a look!
[1] https://twitter.com/TLAlexander/status/1550903550930067456
While I’m out/in transit, of course there’s nothing particularly terrible about Bluetooth.
When I’m at home, however - I produce music a lot more than I consume it.
I also mainly consume music at home on my record players anyway, which obviously I don’t use Bluetooth for.
As any audio producer will tell you; the latency introduced be even the newest Bluetooth standards makes producing music in a DAW a frustrating experience at best.
I love the ‘best of both worlds’ headphones with optional latency-free wired support. I can take them on the go and use Bluetooth on the bus, I can connect a wire at home; and produce in bliss.
I would absolutely love to create my own headphones from the ground up sometime, choosing my drivers and cushioning carefully, and ideally modelling/3D printing my custom design, based on taking measurements of the shape of my head and size of my ears. (I prefer over the head headphones as even the most comfortable buds tend to hurt my ears after a short while.)
Sounds like a fun summer project sometime. :)
But yeah I use the wired mode a lot. On one of the headphones I got a TRRS splitter and added a microphone and I can plug the TRRS cable into my Xbox controller and use it as a gaming headset. It’s a very flexible system!
(also 18650 cell, as someone above already mentioned).
I don't know. The problem is that $20 pairs often sound on par with ones that cost around $200. But the ones that cost around $200 have much better ANC than the $20 ones. You can definitely tell on an airplane. And these don't have noise cancelling at all.
Still you'll enjoy something you made yourself more than the $200 version you just bought.
That's not the case for me. I enjoy the process of making something but in terms of day to day usage I enjoy the better version more.
I had been thinking the same but then I still gave it a shot and bought some new headphones with Bluetooth (and aptX support), in my case the Sennheiser Momentum True Wireless 2 (in-ear), and the Sennheiser Momentum 3 (over-ear). Turns out they can easily compete with (or are even better than) the cable-bound ~$250 in-ears I used to have.
Such a mindblowingly stupid product decision – it makes my blood pressure rise every time I think about it.
Something similar goes for Linux.
The resampling shouldn't matter much in theory, but in practice it's pretty noticeable. It seems to be optimized for CPU usage instead of audio quality.
Presumably on an Android phone, it makes sense to lower CPU usage (and thus prolong battery life) rather than go for the best audio quality.
On the other hand, if latency is important, like on a call, then you can get kind of reasonable latency if you almost give up on quality (34ms from aptX Low Latency) But you're much better off sticking with wired (low single digit milliseconds) since latency matters so much for good conversation.
100% pure unadulterated USDA-certified Prime grass-fed gluten-free all natural organic free-range BS, as the LDAC codec for BT comes in 330, 660, and 990kbps flavors and has even lower THD than aptX HD and an even wider frequency response (essentially to 20KHz). The catch is, only a few really recent and expensive chips have support for it, so almost nobody has heard (of) it, literally.
These talks about replacement, higher-bitrate codecs always have always been very dubious.
http://www.vastera.com.tw/1/PDF/DIO-S003B.pdf
Unfortunately so far I haven't been able to find any seller.
More specifically, just about any headphone with a LiPo (flat square) battery could be modified to accept an 18650. The charging voltages are the same, so you would just have to snip the old battery out and wire in an 18650.
I looked into bodypack solutions but it’s receive or transmit, can’t find transceivers.
Coverage is great, I can walk around my parents' house, and even out in the garden, without loss of signal. They live in a hundred-year-old stone house.
Sound quality is great for calls. Music is ok-ish. They don't have any kind of ANC.
Another drawback is the big-ass base that for some reason requires a dedicated power cord.
I believe you can also can change the name that the BT module broadcasts if you have an FTDI to USB cable (or something with UART pins like an Arduino). (You can also just change the “display name” on your iOS device bluetooth settings but it is just the name your device shows. I’m guessing this is doable on Android and everything else too.)
I've never seen comparisons to the proprietary Bluetooth codecs, but those are always implemented in hardware so it is impossible to do.
I don't know about battery usage, but Opus is simple enough to be implemented on micro controllers, so it should't be too bad.
Looking around for battery usage, https://news.ycombinator.com/item?id=21982964 claims LC3 is no simpler to decode in specialized low-powered hardware than Opus, while https://hydrogenaud.io/index.php?topic=118692.msg979046#msg9... claims LC3 is "basically Opus with a few marginal gadgets thrown in". In that case, I think the only reason Opus couldn't be as widely supported as LC3 is that there isn't money to be extracted from the system.
Then the main concern remains interoperability. I'd still pay a bit more to make sure my friend's random device has a better chance of working at all. Bluetooth is already a tire fire so I wouldn't like to add another layer of interop issues.
For $25 a pair they are easily the best headphones I have ever had, my last pair was a Plattan 1 that lasted 8 years!!! (cable broke once)
Quite a shame, because I really like the design.
I regularly use four devices (phone, tablet, laptop, desktop) and I have two pairs of headphones (in ear and over ear).
Since it’s 2022 and we have so much amazing technology all around us, these are the two things I’m missing: I’d like to be able to use any combination of these without pairing again and I’d also really like to stay connected while I’m listening to something or having a conversation.
Is this really too much to ask for? Now the funny thing is that it doesn’t matter if I spend $20 or $200. I’ve heard AirPods may be better as long as you stay in the apple ecosystem, but that’s one constraint too much.
You’re not going to like the obvious answer - get into the Apple ecosystem and buy Apple headphones.
They seamlessly switch between my iPhone, iPad and Mac. If I am watching something on my iPad and my iPhone rings, they automatically switch. If I start watching a video on my iPad and then start playing a video on my iPhone, they automatically switch.
Not to mention if I’m using my AirPods with my AppleTV at night and my wife starts talking to me, I just take one side out and the TV pauses.
Of course they work in just the opposite manner. If I put them in, audio switches to them.
I’m not sure if auto switching from my watch. But since I can take phone calls on it anyway. It doesn’t matter as much.
Also if I pair to any device connected to my Apple ID, all of my other devices automatically show them as an option - iPad, iPhone, AppleTV, Watch, Mac.
For Apple, the key feature is iCloud. Your headphone bluetooth information is stored in iCloud, so any headphones that have been paired with one device, are paired with all other devices. This is the secret sauce that make the system work. But even here, there can be issues. My Airpods connect to all of our Apple TVs, but my wife's don't. My iCloud account is the primary one, but I haven't figured out how to get my wife's headphones to transfer over as easily. So, even here -- when things work, they work great. When they don't -- you're stuck.
As far as using custom firmware, I'm not sure how much that would help you. The CSR8645 module from the article has its own firmware already installed and running. It looks like customizing would require some kind of license from Qualcomm. But, even then -- the secret sauce for migrating headphones from device to device isn't in the headphones. It's in the devices. So, that's where you'd need to add some custom code.
The key is to add your wife as an additional user on the AppleTV. The ability has been there since at least tvOS 13.x
https://support.apple.com/guide/tv/multiple-users-atvb59ec8e...
Isn’t this the whole idea of having a standard?
> For Apple, the key feature is iCloud. Your headphone bluetooth information is stored in iCloud, so any headphones that have been paired with one device, are paired with all other devices.
The pairing itself, while a bit annoying isn’t the whole problem, it’s having to connect and disconnect all the time and sometimes pair again. Now I’m not sure how iCloud is necessary for this, the device should already know my regular devices (in fact I think one of the headphones I have can be paired to nine devices, but only connect to two at the same time). The annoying thing is that it stays connected to devices I don’t use, e.g., the closed laptop, the desktop I’m not even logged in on or a different user is actively using. In an ideal world it would connect to all and figure out what to play. In an ok world I’m fine with it always connecting to my iPhone and the other device I’m actively using.
It isn’t the headphones that have the issue. AFAICT, it’s that your devices aren’t releasing the headphones from the connection. For this, you require coordination between your phone and tablet. The headphones can just be along for the ride. Your devices try to keep their connection as stable as possible. If your tablet doesn’t know your phone now wants to play a video, why would your tablet disconnect from the headphones?
Maybe it isn’t iCloud that does this (but iCloud definitely stores the Bluetooth ids so you only have to setup the headphones once). But there is some OOB communication between the devices. This is the Apple secret sauce and why they can have the feature, but other vendors struggle.
Say I'm connected to devices A and B. Now C starts playing something, so via iCloud through one of the connected devices, the headphones get the message to disconnect and connect to C.
So A, B, C need to be connected to some server, otherwise they won't have the information on the state of A, B and C and to take actions to connect or disconnect.
Now one alternative would be to have two Bluetooth controllers to stay connected to four devices, but that would increase size and battery consumption. Another would be to periodically rotate connections to idle devices, but that risks not being connected when needed.
If I were designing this, I'd make some sort of a "partial connection", not the full protocol that sends audio, but something that can broadcast to previously connected devices that triggers a full connection.
25-40 hours is pretty common with big over-ear headphones these days, even ones with ANC…
well yes... But frankly given low power btle with audio chips exist it's related more to chip/software than say the battery type...
I still think 80C on PETG should be high enough, and it's a much nicer material to print.
Us Linux types remember how long it took until the MP3 patents expired for us to stop having to add non-free repos everywhere and being treated as the ugly cousin because we couldn't support such a universal codec out of the box.
Fast forward today, and we're back at square one because everyone and their mother wants some new codec to make bluetooth audio quality suck not so bad. (Bluetooth couldn't do better than SBC out of the box? really?)
The only difference between yesterday and today is that, we Linux folks are much better at quickly enabling support for proprietary codecs out of the box.