top | item 46753484

Doom has been ported to an earbud

438 points| arin-s | 1 month ago |doombuds.com

136 comments

order

nehalem|1 month 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.

Aurornis|1 month ago

> 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.

rogerrogerr|1 month ago

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.

pibaker|1 month ago

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.

TrainedMonkey|1 month ago

> 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.

tt24|1 month ago

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?

danielbln|1 month ago

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.

varjag|1 month ago

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.

the_fall|1 month ago

> 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.

gpm|1 month ago

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.

estimator7292|1 month ago

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.

__MatrixMan__|1 month ago

If it can run Doom it can run malware.

Waterluvian|1 month ago

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.

gjsman-1000|1 month ago

I will never understand people who treat MHz like a rationed resource.

tobinc|1 month ago

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.

mlyle|1 month ago

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.

notarobot123|1 month ago

It's intuitive to think of wasted compute capacity as correlating with a waste of material resources. Is this really the case though?

tracerbulletx|1 month ago

Less computing power is not necessarily cheaper.

daft_pink|1 month ago

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.

fennecbutt|1 month ago

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.

arin-s|1 month ago

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.

RandomTeaParty|1 month ago

What compression ratio does your jpeg encoding achieve?

npsomaratna|1 month ago

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).

I wonder what his feelings are in this age of AI.

Insanity|1 month ago

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).

nortlov|1 month ago

Carmak made extensive use of AI during Doom development: Approximate Interpolation.

fennecbutt|1 month ago

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.

shevy-java|1 month ago

I am a bit said that it is always Doom.

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

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.

Guvante|1 month ago

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.

dclowd9901|1 month ago

Im with you. I want to play Freespace 2 on earbuds.

branon|1 month ago

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.

arin-s|1 month ago

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 :)

utopiah|1 month ago

Was using them just this morning. I've been using them since they are out. Great device but battery is quite limited, ~2hrs top with ANC on.

fooqux|1 month ago

I'm also curious. I used to be a big supporter of Pine64 but the e-ink tablet and phone debacles have kinda soured me on them.

yjftsjthsd-h|1 month ago

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.

cben|27 days ago

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.

linehedonist|1 month ago

The Doom port itself is pretty fun, but I love the presentation of it. Brilliant idea to let people play the game themselves on the actual hardware.

neurostimulant|1 month ago

> 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?

arin-s|1 month ago

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

KellyCriterion|1 month ago

Im waiting for the post "Doom ported to disposable Vape chip" :-D

primitivesuave|1 month ago

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 :)

WXLCKNO|1 month ago

A few more years and some more ram on these earbuds and we'll be able to run some nice local earbud kubernetes clusters

tqi|1 month ago

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??

JonathanFly|1 month ago

Is there no way to play Doom with just the earbuds? There's a mod that adds audio cues to make Doom playable for the blind: https://www.youtube.com/watch?v=vtoAo__2kYo

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.

fooqux|1 month ago

At first I thought you found a way to control/view the game acoustically and I was very curious how that worked.

But, this probably makes more sense.

wolvoleo|1 month ago

But can it run crysis?

guerrilla|1 month ago

Awesome advertising for the Pinebunds Pro. No chance the Fairbuds can do this? I don't know much about them.

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

I think there was a port that was much less demanding, and likely suitable for 386, but needs to be backported to x86

anthk|1 month ago

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.

catlifeonmars|1 month ago

As an aside, I really like the style of the page. I wish it was available as a classless css dropin stylesheet.

moktonar|1 month ago

We should definitely send a playable copy of doom to aliens on a golden record on the next Voyager mission

listeria|1 month ago

and risk having them interpret it as a declaration of war?

jurakis|1 month ago

This is awesome! the amount of devices doom has not been run on shrinks by the day haha

neonmagenta|1 month ago

Have we successfully ported Doom to a beeper yet?

nacozarina|1 month ago

someone made a crude web server out of a vape pen a few weeks ago, we can’t be too far from running doom on one

frizlab|1 month ago

> wow this front end code is atrocious, state management is everywhe-

> shhhh don't look don't look it's ok just join the queue

love it

Yiin|1 month ago

I'm more impressed it wasn't written by llm than I can be judgemental about the code itself

epenn|1 month ago

In light of this I propose "Doom's Law" as the ultimate expression of late stage capitalism:

- 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

can we run doom on water pump?