Back Original

Doom has been ported to an earbud

Let's switch to a more readable font first.

I'll put out an article / video diving deeper into this later, but here are a few bits of info:

  1. The DOOM port that runs on the earbuds
  2. The 'serial server' that acts as a bridge between the earbuds and the web server and also transcodes the MJPEG stream to twitch
  3. The web server that serves assets, manages the queue, forwards keypresses and displays the MJPEG stream
  4. The static webpage that tells your browser what to display on the screen and how to communicate with the web server

The firmware pushes up against a few hardware limitations:

  1. Serial Connection

    Earbuds don't have displays, so the only way to transfer data to/from them is either via bluetooth, or the UART contact pads.

  2. CPU

    The stock open source firmware has the CPU set to 100mhz, so I cranked that up to 300mhz and disabled low power mode.

  3. RAM

    By default, we only have access to 768KB of RAM, after disabling the co-processor it gets bumped up to the advertised 992KB.

  4. FLASH

    The shareware DOOM 1 wad (assets file) is 4.2MB and the earbuds can only store 4MB of data.