You Otter Be Able To Stream That Audio: Open Hardware Eclipses Chromecast Audio

When Google halted production of the Chromecast Audio at the start of 2019, there was a (now silent) outcry. Fans of the device loved the single purpose audio streaming dongle that delivered wide compatibility and drop-dead simplicity at a rock bottom $35 price. For evidence of this, look no further than your favorite auction site where they now sell for significantly more than they did new, if you can even find an active listing. What’s a prolific hacker to do about this clear case of corporate malice? Why, reinvent it of course! And thus the Otter Cast Audio V2 was born, another high quality otter themed hack from one of our favorite teams of hardware magicians [Niklas Fauth, Jan Henrik, Toble Miner, and Manawyrm].

USB-C and Ethernet, oh my!

The Otter Cast Audio is a disc about the shape and size of standard Chromecast (about 50mm in diameter) and delivers a nearly complete superset of the original Chromecast Audio’s features plus the addition of a line in port to redirect audio from existing devices. Protocol support is more flexible than the original, with AirPlay, a web interface, Spotify Connect, Snapcast, and even a PulseAudio sink to get your Linux flavored audio bits flowing. Ironically the one thing the Otter Cast Audio doesn’t do is act as a target to Cast to. [Jan] notes that out of all the protocols supported here, actual Cast support was locked down enough that it was difficult to provide support for. We’re keeping our fingers crossed a solution can be found there to bring the Otter Cast Audio to complete feature parity with the original Chromecast Audio.

But this is Hackaday, so just as important as what the Otter Cast Audio does is how it does it. The OtterCast team have skipped right over shoehorning all this magic into a microcontroller and stepped right up to an Allwinner S3 SOC, a capable little Cortex A7 based machine with 128 MB of onboard DDR3 RAM. Pint sized by the bloated standards of a fully interactive desktop, but an absolutely perfect match to juggling WiFi, Bluetooth, Ethernet, and convenient support for all the protocols above. If you’re familiar with these hackers’ other work it won’t surprise you that what they produced here lives up to the typical extremely high quality bar set by such wonders as this USB-C adapter for JBC soldering iron handles and this TS-100 mainboard replacement.

It sounds like a small production run might be on order in the future, but until then production files optimized for a particularly popular Chinese manufacturer are provided, with complete BOM and placement files. It sounds like turnkey production costs from that manufacturer are a shockingly reasonable $10 (total) per unit with most components, and come to a still-reasonable $22 with the remaining self-sourced components manually installed.

For a demo of the finished goods, check out the tweet embedded after the break.

42 thoughts on “You Otter Be Able To Stream That Audio: Open Hardware Eclipses Chromecast Audio

    1. From a brief look at the schematics: One of the jacks is the MIC in mentioned in the article.

      The other two are called LOUT/ROUT and LHPOUT/RHPOUT with HPOUT having much bigger coupling capacitors. My guess: One is the line out, the other is for headphones.

        1. No SPDIF out? Shame… I would ditch the head-amp and analog in for digital out any day of the week, but hey, can’t please us all :) Keep up the good work and all the best in the future!

      1. Reading the BOM it is an B4013AM422-42 Electret Condenser Microphone which would be placed on the circular pads to the top right of the Allwinner(SOCHIP) S3 video encoding processor.

  1. I keep seeing projects like this, but sadly none seem to address something thats become really important to me, and google does a pretty good job of – Multi Room Audio. They practically give the Home Minis away, so theres even music or radio to shower to.

    Back in the day, Squeezebox was fantastic as it would sync up rooms perfectly, they sold both all in one speakers and dumb streamers, and also allowed software players. Unfortunately nothing other than google / sonos / (other big players?) seem to support that now.

    1. At least for my narrow case, AirPlay does multi-room. I have used Apple AIrport Express wifi base stations as Airplay receivers since they were first released 15+ years ago. In Windows iTunes, I can choose multiple Expresses (and/or “My Computer”) as output devices for my music.

      On Macs, Airplay devices can be set as the system speakers, for all applications. On Windows (without 3rd party kluges) only iTunes can broadcast to them.

      I’m not sure what the capabilities are with an iPhone or other device as the music source.

      1. Yes have ended up giving my Squeezebox collection to my FIL when I changed to a fleet of Sonoses, and then more recently google homes. With 6 zones, the sonoses were getting expensive.

        He’s got them running from an RPi serving just local music. The BT transmitter you touch on is a fantastic tick for SB – I had a BT transmitter indoors, a KLEER transmitter for a portable ARCAM R-Cube that came out to the garden, and a couple of O2 Jogglers as dedicated control surfaces. Back in the day, it did everything, and still probably would if wife appreciation factor was less of an issue!

          1. That was exactly the problem! Squeezebox Server has got upset about something / stopped reindexing / lost half the library / crashes when playing X song!

          2. @Ben, haha, I have no wife, and I am not yet a wife, but I’m familiar with those kinds of solutions which we techy people think are fine, but really they’re quite fragile. It’s usually worth investing some time to make sure that things can be restarted gracefully (without manual intervention) to a working state and that any failure is detected (logged) and recovered from automatically if possible.

            Many years ago I shared a home with a friend who wanted to run our home network like it was an enterprise installation. We said fine, but she had to support us when it went wrong. Unfortunately it went wrong when she was out of the country and we had to break into her room and have her talk us through connecting through her labyrinth of old computer hardware.

        1. I dug into it a bit more and Sony and Philips, the S and P in S/PDIF, are not selling any cheap one chip solution that will encode AES3. I did post another reply with links that has not arrived (yet), which suggests dedicating an Arduino to bit-bang it, it is not a complex protocol.

          1. If you do that you’ve already lost the benefit of keeping the audio in the digital domain. Any equipment that has TOSLINK or S/PDIF will have an analogue input so you may as well use that rather than convert back to digital again and then back to analogue a final time.

          2. You can bitbang it, but be careful of what you hook it up to. Traditional 16-bit stereo implementations recover the clock from the transmitted data to time the DAC, so any jitter in the output can wreck sound quality. DSP-based receivers (as most are) will retime the signal to a local clock making this a non-issue.

            If your audio source has an I2S output, you can use the time-tested Cirrus / Crystal Semi CS8406 with an external precision oscillator to generate a clean AES3 signal.

            But tricks like abusing SPI or SPI-like interfaces on an MCU would work too.

  2. What this needs is a cheap Android STB box converted to be a headless music source. Pick something you have the Android source code to, and then modify the ALSA setup to send the audio out via snapcast. You can’t do that without root privileges. Now you can run any Android music streaming app on it.

    So how about a UI for it? You can either remote the screen. Or remote control it using Android Auto. I have long been annoyed that the Android Android music interface API is encryption locked. There are hacked encryption keys on github to let your access it. Once you have access to it, you can make a little remote control app that lets you pick the remote app for the music source and then select song/playlists from that app.

    I would very much like to have a tiny OLED remote control that works this way, but the encrypted Google API blocks me from building it. The device would function as a head-end to a headless Android box. You can build this from an ESP and OLED for three dollars. I have tried contacting Google a dozen times about allowing Android Auto to be used this way. But I never get a response.

  3. Please forgive an old man’s ignorance but what does this do? I have a USB bluetooth dongle in my desktop and a Logitech BT Audio Adapter next to the amplifier so I can play sound from the desktop without wires. Does this mean that I could run UTP to the amplifier and do away with the radio waves?

    1. Pretty much – It also means the device itself is capable of managing the stream – i.e. if you set a Radio station playing, and kill the PC, the radio is still playing as the device itself is pulling down the stream. It also means that others can control it.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.