Comment by nehalem
11 hours ago
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.
The other aspect to consider is changing requirements. Maybe a device capable of transmitting PSTN-level audio quality wirelessly would have been popular twenty years ago, but nowadays most people wouldn't settle for anything with less than 44.1kHz bandwidth. A faster processor means that there's some room for software upgrades later on, future-proofing the device and potentially reducing electronic waste. Unfortunately, that advantage is almost always squandered in practice by planned obsolescence and an industry obsession with locked-down, proprietary firmware.
[flagged]
These accusations of someone using ChatGPT are cheap mindless attacks based on nothing more than the fact that someone has put together a good argument and used good formatting.
If that's all your evidence is, don't you dare go near any scientific papers.
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.
Also see: USB 3+ e-marker chips. I'm still waiting for a Doom port on those.
Or the fourth option, an environmental disaster all around
The materials that go into a chip are nothing. The process of making the chip is roughly the same no matter the power of it. So having one chip that can satisfy a large range of customers needs is so much better than wasting development time making a custom just good enough chip for each.
9 replies →
It’s the opposite. Using an off the shelf MCU is much more efficient than trying to spin your own ASIC.
Doing the work in software allows for updates and bug fixes, which are more likely to prevent piles of hardware from going into the landfill (in some cases before they even reach customers’ hands).
Nobody cares, unless they’re commenting for an easy win on internet message boards.
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.
Incredible to see people try to spin the wild successes of market based economies as an economic failure.
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?
I can sort of see one angle for it, and the parent story kind of supports it. Bad software is a forcing function for good hardware - the worse that software has gotten in the past few decades the better hardware has had to get to support it. Such that if you actually tried like OP did, you can do some pretty crazy things on tiny hardware these days. Imagine what we could do on computers if they weren't so bottlenecked doing things they don't need to do.
That wasn't the GP's claim. Their implication was that it's an economic failure that we don't produce less powerful hardware.
1 reply →
> CPU: Dual-core 300MHz ARM Cortex-M4F
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.
I remember playing Doom on a single-core 25MHz 486 laptop. It was, at the time, an amazing machine, hundreds of times more powerful than the flight computer that ran the Apollo space capsule, and now it is outclassed by an earbud.
Can we finally end this Apollo computer comparison forever? It was a real time computer NOT designed for speed but real time operations.1
Why don't you compare it to let's say pdp11, vax780/11 or Cray 1 supercomputer?
NASA used a lot of supercomputers here on earth pior to mission start.
2 replies →
And perhaps more fittingly, that PC couldn't decode and play an MP3 in real time.
This is the "little part" of what fits into an earpiece. Each of those cores is maybe 0.04 square millimeters of die on e.g. 28nm process. RAM takes some area, but that's dwarfed by the analog and power components and packaging. The marginal cost of the gates making up the processors is effectively zero.
so 1mm2 peppered by those cores at 300MHz will give you 4 Tflops. And whole 200mm wafer - 100 Petaflops, like 10 B200s, and just at less than $3K/wafer. Giving half area to memory we'll get 50 PFlops with 300Gb RAM. Power draw is like 10-20KW. So, giving these numbers i'd guess Cerebras has tremendous margin and is just printing money :)
5 replies →
Yes but also Doom is very very old.
I bought a kodak camera in 2000 (640x480 resolution) and even that could run Doom on it. Way back when. Actually playable with sounds and everything.
Here's an even older one running it: https://m.youtube.com/watch?v=k-AnvqiKzjY
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.
These sorts of things feel like they would be quite inefficient on a general-purpose CPU so you would want to do them on some sort of dedicated DSP hardware instead. So I would expect an earbud to use some sort of specialized microcontroller with a slow-ish CPU core but extra peripherals to do all the signal processing and bluetooth-related stuff.
No doubt, maybe should I have emphasised the "general" part of "general purpose" more. Not a hardware person myself, I wonder whether there would be purpose-built hardware that could do the same more cheaply – think F(P)GA.
> I wonder whether there would be purpose-built hardware that could do the same more cheaply – think F(P)GA.
FPGAs are not cost efficient at all for something like this.
MCUs are so cheap that you’d never get to a cheaper solution by building out a team to iterate on custom hardware until it was bug free and ready to scale. You’d basically be reinventing the MCU that can be bought for $0.10, but with tens of millions of dollars of engineering and without economies of scale that the MCU companies have.
> I wonder whether there would be purpose-built hardware that could do the same more cheaply
Where are you imagining costy savings coming from? Custom anything is almost always vastly more expensive than using a standardised product.
> 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.
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.
I need that in lunar-lander exponents
(imagine the lunar lander computer being an earbud ha)
Well, current smartphone would be about 10^8 times faster/more than the lunar lander.
A single Airpod would be about 10^4 times as powerful as the entire lunar lander guidance system.
Or to put another way: a single Airpod would outcompute the entire Soviet Union's space program.
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.
Plus there’s actually less waste, I would imagine, by using a generic, very efficiently mass produced, but way overkill part. vs. a one off or very specific, rare but perfectly matched part.
There are enough atoms in that earbud to replace all of the world's computers.
We've got a long way to go.
Less computing power is not necessarily cheaper.
If it can run Doom it can run malware.
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.
The only real problem I could see is if the general purpose microcontroller is significantly more power-hungry than a specialized chip, impacting the battery life of the earbuds.
On every other axis, though, it's likely a very clear win: reusable chips means cheaper units, which often translates into real resource savings (in the extreme case, it may save an entire additional factory for the custom chips, saving untold energy and effort.)
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.
Marginal cost of a small microprocessor in an ASIC is nothing.
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.
It's intuitive to think of wasted compute capacity as correlating with a waste of material resources. Is this really the case though?
Waste is subjective or, at best, hard to define. It's the classic "get rid of all the humans and nothing would be wasted" aphorism.
If you look at the bottom of the page, it’s an advertisement for someone looking for a job to show off his technical skill.
Okay? Is that good or bad or what?
I will never understand people who treat MHz like a rationed resource.