Whenever I see another supposedly menial device including enough general purpose hardware to run Doom, I wonder whether I should think of that as a triumph of software over hardware or an economic failure to build cheaper purpose-built hardware for things like sending audio over a radio.
> Whenever I see another supposedly menial device including enough general purpose hardware
The PineBuds are designed and sold as an open firmware platform to allow software experimentation, so there’s nothing bad nor any economic failures going on here. Having a powerful general purpose microcontroller to experiment with is a design goal of the product.
That said, ANC Bluetooth earbuds are not menial products. Doing ANC properly is very complicated. It’s much harder than taking the input from a microphone, inverting the signal, and feeding it into the output. There’s a lot of computation that needs to be done continuously.
Using a powerful microcontroller isn’t a failure, it’s a benefit of having advanced semiconductor processes. Basically anything small and power efficient on a modern process will have no problem running at tens of MHz speeds. You want modern processes for the battery efficiency and you get speed as a bonus.
The speed isn’t wasted, either. Higher clock speeds means lower latency. In a battery powered device having an MCU running at 48MHz may seem excessive until you realize that the faster it finishes every unit of work the sooner it can go to sleep. It’s not always about raw power.
Modern earbuds are complicated. Having a general purpose MCU to allow software updates is much better than trying to get the entire wireless stack, noise cancellation, and everything else completely perfect before spinning out a custom ASIC.
We’re very fortunate to have all of this at our disposal. The groveling about putting powerful microcontrollers into small things ignores the reality of how hard it is to make a bug-free custom ASIC and break even on it relative to spending $0.10 per unit on a proven microcontroller manufacturer at scale.
Or a third option - an economic success that economies of scale have made massively capable hardware the cheapest option for many applications, despite being overkill.
You should see it as the triumph of chip manufacturing — advanced, powerful MCUs have became so cheap thanks to manufacturing capabilities and economies of scale means it is now cheaper to use a mass manufactured general purpose device that may take more material to manufacture than a simpler bespoke device that will be produced at low volumes.
You might be wondering "how on earth a more advanced chip can end up being cheaper." Well, it may surprise you but not all cost in manufacturing is material cost. If you have to design a bespoke chip for your earbuds, you need to now hire chip designers, you need to go through the whole design and testing process, you need to get someone to make your bespoke chip in smaller quantities which may easily end up more expensive than the more powerful mass manufactured chips, you will need to teach your programmers how to program on your new chip, and so on. The material savings (which are questionable — are you sure you can make your bespoke chip more efficiently than the mass manufactured ones?) are easily outweighed by business costs in other parts of the manufacturing process.
It's absolute bonkers amount of hardware scaling that happened since Doom was released. Yes, this is a tremendous overkill here, but the crazy part here is that this fits into an earpiece.
It's already very cheap to build though. We are able to pack a ton of processing into a tiny form factor for little money (comparatively, ignoring end-consumer margins etc.).
An earbud that does ANC, supports multiple different audio standard including low battery standby, is somewhat resistant to interference, can send and receive over many meters. That's awesome for the the price. That it has enough processing to run a 33 year old game.. well, that's just technological progression.
A single modern smartphone has more compute than all global conpute of 1980 combined.
Earbuds often have features like mic beam forming and noise cancellation which require a substantial degree of processing power. It's hardly unjustified compared to your Teams instance making fans spin or Home Assistant bringing down an RPi to its knees.
> economic failure to build cheaper purpose-built hardware for things like sending audio over a radio.
You're literally just wasting sand. We've perfected the process to the point where it's inexpensive to produce tiny and cheap chips that pack more power than a 386 computer. It makes little difference if it's 1,000 transistors or 1,000,000. It gets more complicated on the cutting edge, but this ain't it. These chips are probably 90 nm or 40 nm, a technology that's two decades old, and it's basically the off-ramp for older-generation chip fabs that can no longer crank out cutting-edge CPUs or GPUs.
Building specialized hardware for stuff like that costs a lot more than writing software that uses just the portions you need. It requires deeper expertise, testing is more expensive and slower, etc.
Neither - it's a triumph of our ability to do increasing complex things in both software and hardware. An earbud should be able to make good use of the extra computing capacity, whether it is to run more sophisticated compression saving bandwidth, or for features like more sophisticated noise cancelling/microphone isolation algorithms. There are really very few devices that shouldn't be able to be better given more (free) compute.
It's also a triumph of the previous generation of programmers to be able to make interesting games that took so little compute.
A wireless earbud is closer in complexity to a WiFi router than a digital wristwatch.
Bluetooth is complicated. Noise canceling is complicated. Audio compression is complicated. Simply being an RF device is complicated.
It is an unfortunate physical reality that it requires a lot of processing to do all the jobs a Bluetooth earbud has to do. The incredible engineering success is that we can put a GHz class CPU in each earbud and all of that crazy processing happens on microwatts of power.
Putting supercomputers in your ears is mildly absurd on the face of it, but consider that we now have supercomputers that are so small, cheap, and energy efficient that we can put them and their batteries in our ears.
Besides, what's more wasteful, one silicon die or two? It a cortex CPU more wasteful than a 555 timer on equivalent die space? Is it more resource efficient to pay 10x more for a 2x larger die using 40x power and a bigger battery to go with it? Or is it most efficient to use the smallest, most efficient die, and the smallest battery you can get away with?
In the grand scheme of things, the "wasted" resources in the chip are essentially nil. You save far, far more resources by using more efficient processing. It's a few milligrams of silicon, carbon, and minerals. You should be far, far more concerned about the lithium batteries ending up in landfills.
I imagine it’s far more economical to have one foundry that can make a general purpose chip that’s overpowered for 95% of uses than to try to make a ton of different chips. It speaks to how a lot of the actual cost is the manufacturing and R&D.
I think it's just indicative of the fact that general purpose hardware has more applications, and can thus be mass produced for cheaper at a greater scale and used for more applications.
Ah yes the "good old days when we wrote assembly" perspective.
Like, I get it, but embedded device firmware is still efficient af. We end up stuffing a lot of power into these things because contrary to say wired Walkman headphones, these have noise cancellation, speech detection for audio ducking when you start having a conversation, support taking calls, support wakewords for assistants, etc.
Hi, I ported DOOM to the Pinebuds Pro earbuds.
It's accessible over the internet, so you can join the queue and play DOOM on my earbuds from your PC!
More info as well as links to the github repos can be found on the site.
On a tangent: I remember reading John Carmak saying that as game engines became more complex, he had to relinquish the idea of writing all the (engine) code himself, and start to rely on other folks contributions as well (this was in an interview after the release of Doom 3).
John is now on a mission to make AGI a reality. I’d say given his own investment there, he’s probably positive about it.
Just speculation on my part of course.
Also, “masters of doom” is such a good book. Recommend it for anyone who wants to peek behind the scenes of how Carmack, Romero, and iD software built Doom (and Wolf3D etc).
I think what really happened is that as Carmack became more senior he got more and more out of touch with the technology. So I don't understand why people still refer to his words as gospel, especially since the domain he's now in is so far outside of his original specialty.
Doom 2016 would've never been possible with him at the helm. Then again now they're adding viking bullshit to it so design by executive committee kills yet another beloved franchise.
Now ... I played the game when I was young. It was addictive. I don't
think it was a good game but it was addictive. And somewhat simple.
So what is the problem then? Well ... games have gotten a lot bigger,
often more complicated. Trying to port that to small platforms is
close to impossible. This makes me sad. I think the industry, excluding
indie tech/startups, totally lost the focus here. The games that are
now en vogue, do not interest me at all. Sometimes they have interesting
ideas - I liked little nightmares here - but they are huge and very
different from the older games. And often much more boring too.
One of my favourite DOS games was master of orion 1 for instance. I
could, despite its numerous flaws, play that again and again and
again. Master of Orion 2 was not bad either, but it was nowhere near
as addictive and the gameplay was also more convoluted and slower.
(Sometimes semi-new games are also ok such as Warcraft 3. I am not
saying ALL new games are bad, but it seems as if games were kind of
dumbed down to be more like a video to watch, with semi-few interactive
elements as you watch it. That's IMO not really a game. And just
XP grinding for the big bad wolf to scale to the next level, deal
out more damage, as your HP grows ... that's not really playing
either. That's just wasting your time.)
It's Doom in part because it's a significantly popular game, that was open sourced, with low resource requirements (but not too low to be trivial), with an innovative custom engine that people find interesting, originally created by a person who many respect or admired growing up, and the game itself is cool. And now there is enough inertia to keep choosing it.
Most people don't realize that games were small back then because they had to be.
The value of being small for most users almost doesn't exist. If you have bandwidth limits then yeah download size is important but most don't.
So the only meaningful change optimizations make is "will it run well enough" and "does it fit on my disk".
Put more plainly "if it works at all it doesn't matter" is how most consumers (probably correctly) treat performance optimizations/installation size.
The sacrifices you talk about were made at explicit request of consumers. Games have to be "long enough" and the difference between enough game loop and grinding is a taste thing. Games have to be "pretty" and for better or worse stylized takes effort and is a taste thing (see Wind Waker) while fancy high res lighting engines are generally recognized as good.
I will say though while being made by indies means they are optimized terribly the number of stylized short games is phenomenally high it can just be hard to find them.
Especially since it is difficult for an hour or two game to be as impactful as a similar length movie so they tend to not be brought up as frequently.
How are the PineBuds Pro, anyone have them? The Pine64 IRC network doesn't have a channel for PineBuds discussion so I haven't had an easy opportunity to ask.
To be honest, I've never actually used them for their intended purpose.
No idea what the comfort or audio quality is like.
There's a Pinebuds channel on the Pine64 discord, you can ask questions there :)
Mine have been great. Full disclosure, I deliberately don't use ANC... in fact, I may have installed firmware that doesn't have it. So I can't comment on that. But just as Bluetooth earbuds, they do their job.
Caveat to those considering buying PineBuds for "open source firmware": OOTB they come with fully working but proprietary firmware (part source-available SDK, part closed). The hardware is not 100% documented. There is open firmware they can run, but for example ANC has not been replicated yet, at least not well (and personally I love the ANC enough that I kept the factory firmware)-:
- Pine64's general model is selling cheap, quite-good, not-fully-documented hardware with expectation community software will(?) grow around it. Some of their products grow fantastic support, some less so, some remain "dev kit" — do your homework.
> Earbuds don't have displays, so the only way to transfer data to/from them is either via bluetooth, or the UART contact pads.
Bluetooth is pretty slow, you'd be lucky to get a consistent 1mbps connection, UART is easily the better option.
Does this means you can run a doom instance on each bud? Is it viable to make a distributed app to use the computing power of both buds at once?
This was a stretch goal, multiplayer. One earbuds versus the other. It's not that hard to implement but I've got a few other things to clear away first.
Using them for distributed computation though? interesting use of free will xD
The Puya PY32 series MCUs found in most vapes have 3kb of RAM and 24kb of ROM, whereas Doom requires at least 4MB of RAM. Assuming Moore's law also applies to the computing power inside a disposable vape, we should be seeing that post in around a decade :)
There's gotta be a Moore's law corollary for "Doom ported to [blank]" milestones. I wonder where this all ends? Doom ported to a mechanical pencil! Doom ported to a clipper card! To a lightbulb??
Adding high quality binaural audio to Doom would make this even more viable. Earbuds have accelerometers which could also be incorporated to add additional queues.
It's possible to run Zork I-III Frotz under a pen, some FPGA and even interpreting a PostScript file. Even the Game Boy, the C64, MSX... So, Doom is not the most ported game ever.
nehalem|1 month ago
Aurornis|1 month ago
The PineBuds are designed and sold as an open firmware platform to allow software experimentation, so there’s nothing bad nor any economic failures going on here. Having a powerful general purpose microcontroller to experiment with is a design goal of the product.
That said, ANC Bluetooth earbuds are not menial products. Doing ANC properly is very complicated. It’s much harder than taking the input from a microphone, inverting the signal, and feeding it into the output. There’s a lot of computation that needs to be done continuously.
Using a powerful microcontroller isn’t a failure, it’s a benefit of having advanced semiconductor processes. Basically anything small and power efficient on a modern process will have no problem running at tens of MHz speeds. You want modern processes for the battery efficiency and you get speed as a bonus.
The speed isn’t wasted, either. Higher clock speeds means lower latency. In a battery powered device having an MCU running at 48MHz may seem excessive until you realize that the faster it finishes every unit of work the sooner it can go to sleep. It’s not always about raw power.
Modern earbuds are complicated. Having a general purpose MCU to allow software updates is much better than trying to get the entire wireless stack, noise cancellation, and everything else completely perfect before spinning out a custom ASIC.
We’re very fortunate to have all of this at our disposal. The groveling about putting powerful microcontrollers into small things ignores the reality of how hard it is to make a bug-free custom ASIC and break even on it relative to spending $0.10 per unit on a proven microcontroller manufacturer at scale.
rogerrogerr|1 month ago
pibaker|1 month ago
You might be wondering "how on earth a more advanced chip can end up being cheaper." Well, it may surprise you but not all cost in manufacturing is material cost. If you have to design a bespoke chip for your earbuds, you need to now hire chip designers, you need to go through the whole design and testing process, you need to get someone to make your bespoke chip in smaller quantities which may easily end up more expensive than the more powerful mass manufactured chips, you will need to teach your programmers how to program on your new chip, and so on. The material savings (which are questionable — are you sure you can make your bespoke chip more efficiently than the mass manufactured ones?) are easily outweighed by business costs in other parts of the manufacturing process.
TrainedMonkey|1 month ago
It's absolute bonkers amount of hardware scaling that happened since Doom was released. Yes, this is a tremendous overkill here, but the crazy part here is that this fits into an earpiece.
tt24|1 month ago
Hardware is cheap and small enough that we can run doom on an earbud, and I’m supposed to think this is a bad thing?
danielbln|1 month ago
An earbud that does ANC, supports multiple different audio standard including low battery standby, is somewhat resistant to interference, can send and receive over many meters. That's awesome for the the price. That it has enough processing to run a 33 year old game.. well, that's just technological progression.
A single modern smartphone has more compute than all global conpute of 1980 combined.
varjag|1 month ago
the_fall|1 month ago
You're literally just wasting sand. We've perfected the process to the point where it's inexpensive to produce tiny and cheap chips that pack more power than a 386 computer. It makes little difference if it's 1,000 transistors or 1,000,000. It gets more complicated on the cutting edge, but this ain't it. These chips are probably 90 nm or 40 nm, a technology that's two decades old, and it's basically the off-ramp for older-generation chip fabs that can no longer crank out cutting-edge CPUs or GPUs.
Building specialized hardware for stuff like that costs a lot more than writing software that uses just the portions you need. It requires deeper expertise, testing is more expensive and slower, etc.
gpm|1 month ago
It's also a triumph of the previous generation of programmers to be able to make interesting games that took so little compute.
estimator7292|1 month ago
Bluetooth is complicated. Noise canceling is complicated. Audio compression is complicated. Simply being an RF device is complicated.
It is an unfortunate physical reality that it requires a lot of processing to do all the jobs a Bluetooth earbud has to do. The incredible engineering success is that we can put a GHz class CPU in each earbud and all of that crazy processing happens on microwatts of power.
Putting supercomputers in your ears is mildly absurd on the face of it, but consider that we now have supercomputers that are so small, cheap, and energy efficient that we can put them and their batteries in our ears.
Besides, what's more wasteful, one silicon die or two? It a cortex CPU more wasteful than a 555 timer on equivalent die space? Is it more resource efficient to pay 10x more for a 2x larger die using 40x power and a bigger battery to go with it? Or is it most efficient to use the smallest, most efficient die, and the smallest battery you can get away with?
In the grand scheme of things, the "wasted" resources in the chip are essentially nil. You save far, far more resources by using more efficient processing. It's a few milligrams of silicon, carbon, and minerals. You should be far, far more concerned about the lithium batteries ending up in landfills.
__MatrixMan__|1 month ago
Waterluvian|1 month ago
gjsman-1000|1 month ago
tobinc|1 month ago
mlyle|1 month ago
The RAM costs a little bit, but if you want to firmware update in a friendly way, etc, you need some RAM to stage the updates.
notarobot123|1 month ago
tracerbulletx|1 month ago
daft_pink|1 month ago
fennecbutt|1 month ago
Like, I get it, but embedded device firmware is still efficient af. We end up stuffing a lot of power into these things because contrary to say wired Walkman headphones, these have noise cancellation, speech detection for audio ducking when you start having a conversation, support taking calls, support wakewords for assistants, etc.
arin-s|1 month ago
RandomTeaParty|1 month ago
7777777phil|1 month ago
omoikane|1 month ago
ryan-duve|1 month ago
smi-nvidia|1 month ago
[deleted]
npsomaratna|1 month ago
I wonder what his feelings are in this age of AI.
Insanity|1 month ago
Just speculation on my part of course.
Also, “masters of doom” is such a good book. Recommend it for anyone who wants to peek behind the scenes of how Carmack, Romero, and iD software built Doom (and Wolf3D etc).
nortlov|1 month ago
fennecbutt|1 month ago
Doom 2016 would've never been possible with him at the helm. Then again now they're adding viking bullshit to it so design by executive committee kills yet another beloved franchise.
shevy-java|1 month ago
Now ... I played the game when I was young. It was addictive. I don't think it was a good game but it was addictive. And somewhat simple.
So what is the problem then? Well ... games have gotten a lot bigger, often more complicated. Trying to port that to small platforms is close to impossible. This makes me sad. I think the industry, excluding indie tech/startups, totally lost the focus here. The games that are now en vogue, do not interest me at all. Sometimes they have interesting ideas - I liked little nightmares here - but they are huge and very different from the older games. And often much more boring too.
One of my favourite DOS games was master of orion 1 for instance. I could, despite its numerous flaws, play that again and again and again. Master of Orion 2 was not bad either, but it was nowhere near as addictive and the gameplay was also more convoluted and slower.
(Sometimes semi-new games are also ok such as Warcraft 3. I am not saying ALL new games are bad, but it seems as if games were kind of dumbed down to be more like a video to watch, with semi-few interactive elements as you watch it. That's IMO not really a game. And just XP grinding for the big bad wolf to scale to the next level, deal out more damage, as your HP grows ... that's not really playing either. That's just wasting your time.)
RadiozRadioz|1 month ago
Guvante|1 month ago
The value of being small for most users almost doesn't exist. If you have bandwidth limits then yeah download size is important but most don't.
So the only meaningful change optimizations make is "will it run well enough" and "does it fit on my disk".
Put more plainly "if it works at all it doesn't matter" is how most consumers (probably correctly) treat performance optimizations/installation size.
The sacrifices you talk about were made at explicit request of consumers. Games have to be "long enough" and the difference between enough game loop and grinding is a taste thing. Games have to be "pretty" and for better or worse stylized takes effort and is a taste thing (see Wind Waker) while fancy high res lighting engines are generally recognized as good.
I will say though while being made by indies means they are optimized terribly the number of stylized short games is phenomenally high it can just be hard to find them.
Especially since it is difficult for an hour or two game to be as impactful as a similar length movie so they tend to not be brought up as frequently.
unknown|1 month ago
[deleted]
dclowd9901|1 month ago
branon|1 month ago
arin-s|1 month ago
utopiah|1 month ago
fooqux|1 month ago
yjftsjthsd-h|1 month ago
cben|27 days ago
- Pine64's general model is selling cheap, quite-good, not-fully-documented hardware with expectation community software will(?) grow around it. Some of their products grow fantastic support, some less so, some remain "dev kit" — do your homework.
linehedonist|1 month ago
neurostimulant|1 month ago
Does this means you can run a doom instance on each bud? Is it viable to make a distributed app to use the computing power of both buds at once?
arin-s|1 month ago
Using them for distributed computation though? interesting use of free will xD
KellyCriterion|1 month ago
primitivesuave|1 month ago
DJBunnies|1 month ago
WXLCKNO|1 month ago
arin-s|1 month ago
No touch controls though, it just plays the intro loop
tqi|1 month ago
utopcell|1 month ago
[1] https://www.decisionproblem.com/paperclips/index2.html
JonathanFly|1 month ago
Adding high quality binaural audio to Doom would make this even more viable. Earbuds have accelerometers which could also be incorporated to add additional queues.
automatic6131|1 month ago
KellyCriterion|1 month ago
fooqux|1 month ago
But, this probably makes more sense.
wolvoleo|1 month ago
unknown|1 month ago
[deleted]
guerrilla|1 month ago
Also, with DOOM running on all these things now, is it still impossible to get it to run well on a 386?
theragra|1 month ago
anthk|1 month ago
catlifeonmars|1 month ago
moktonar|1 month ago
listeria|1 month ago
jurakis|1 month ago
neonmagenta|1 month ago
nacozarina|1 month ago
optimalsolver|1 month ago
j1elo|1 month ago
https://news.ycombinator.com/item?id=46750419
mikeayles|1 month ago
frizlab|1 month ago
> shhhh don't look don't look it's ok just join the queue
love it
Yiin|1 month ago
epenn|1 month ago
- Society continues to produce more and more powerful devices.
- More and more of these devices begin running Doom.
- When this reaches the saturation point, society becomes Doom.
lombasihir|1 month ago