Smart Speaker with Volumio, Raspberry Pi 3 and Adafruit MAX98357
Volumio is an open source music player designed to play all your music. It is available as a whole GNU Linux distribution for popular development boards such as Udoo, BeagleBone Black and my favorite Raspberry Pi.
As a weekend hobby project I built my own smart speaker powered by Volumio using a Raspberry Pi 3 Model B, an amplifier, a breadboard and a lot of wires. The power rating of the loudspeaker is 2 Watts and the impedance is 4Ohm. The same setup should work fine with any other version and model of Raspberry Pi with 40-pin header.
The amplifier is Adafruit MAX98357A. It is class D and it is just a mono amplifier using MAX98357A. In other words it is definitely not for audiophiles. I have connected it to the standard I2S digital audio input of the Raspberry Pi.
Volumio has a user friendly web interface which provides features for playing audio files or directly playing online radios. The back-end is written in Node.js.
I have done a GitHub PR to Volumio which also adds this Adafruit amplifier among the supported peripherals. Please note that the volume control is set to software mixer. If you want to replicate my setup just make sure you are using the latest version of Volumio that includes my patch. On the startup screen enable I2S and select MAX98357A amplifier. After that go to the settings and enable software mixer.