If you like the idea of the Amazon Echo, the Google Home, or the Apple HomePod, but you'd rather not spend any money on any of them, would prefer to control as many of the variables as possible, or just want something fun to do over the weekend you can build one at home for yourself by repurposing an old phone, tablet, or Raspberry Pi you've got lying around.
Here's what you need to do to start chatting to your speaker.
The speaker setup
The easiest smart solution is to just repurpose and old Android or iOS device. There's no programming or soldering -- just activating the always listen function on the device. Yet, unless you're going to rely on the audio output built into your phone or tablet, you'll need a speaker to pump out your tunes and your chosen smart assistant's responses. Any speaker with an aux in port or Bluetooth capabilities will do, but for the sake of stability and consistency, you're probably better wiring everything up.
In our case, we used an Anker SoundCore Mini to test some smart speaker setups with, which does the job perfectly well and pumps out a very good level of sound for its size. If you're more concerned about audio quality, get a bigger and more expensive speaker instead -- the beauty of setting up your own smart speaker is that you've got the choice.
Another advantage of this DIY approach is portability, something you don't get with the Google Home or the Apple HomePod. Most of the time you're going to want to keep your speaker in a fixed place and hooked up to a power source (and your phone or tablet too), but if you do opt for a portable model you can take it on the road with you if you need to. Just make sure it doesn't automatically power down when inactive, which will stop you from controlling it from the other side of the room.
At the core of the Google Home is the Google Assistant, so if you've got a spare Assistant-enabled phone lying around you can connect it up to a speaker to create a makeshift Google Home -- depending on your speaker, you might get better audio performance that the Home too. You can even get the Assistant on the iPhone now, though you don't get the instant voice activation feature that would turn your old iPad or iPhone into a Google Home.
In our case, we used an LG G6, which has Google Assistant baked in, though you can get the same basic functionality if your phone just has the older Google Voice Search features. From the Google app, open up the menu, choose Settings and then tap Settings under the Google Assistant heading. Tap Phone, then "OK Google" detection, and make sure Say "OK Google" any time is set to On.
With that done, you can connect your Android phone to your speaker and use the "OK Google" voice shortcut to get it to do your bidding. You can tell it to "play some rock songs" or "set a reminder for tomorrow", for example, as well as mining all the standard Google goodness as far as web searches, calculations, and trivia are concerned.
If you've got an old iPhone or iPad knocking around the house then you can hook it up to your speaker of choice and hey presto -- you've got a HomePod, minus all that sophisticated sound tweaking, and without the glowing orb on top of the speaker. You've even got the benefit of a screen if you need one, and you don't have to wait until the end of the year to have it.
You're probably going to want to keep your iDevice plugged in at all times and make sure Siri is always listening -- head to Settings then tap Siri and make sure Siri is enabled first of all. Then, turn the toggle switches for Access on Lock Screen and Allow "Hey Siri" to On.
With that brief setup out of the way, you've got all the capabilities of Siri just a voice command away. Play some tunes, look up the ages of your favourite celebrities, find out how long it will take to drive to the office, or get the latest sports scores. If you're not sure what you want to hear, just say "hey Siri, DJ for me."
You can't integrate Alexa into Android or iOS the same way you can the Google Assistant or Siri (well not unless you've got a Huawei Mate 9), so you've either got to use a slightly clumsy workaround or take a more DIY route if you want to build your own Amazon Echo -- and we'll mention them both here.
The first option is to use the Amazon app for iOS, connect your iOS device to your speaker, and tap the microphone button in the top-right corner of the app's front screen to enable Alexa. Virtually all Alexa commands and skills will work in the latest version of the app, but you need to manually launch it -- pretty less than ideal.
That same functionality isn't even available in the Amazon app for Android though. So if you've got an old Android device lying around, hook it up to your speaker and then install the free Ubi app instead. Once you've logged in with your account you get access to most of your Alexa commands and features, though again the app isn't always listening, so it's not ideal.
The Raspberry Pi route
If you really want to create a decent Amazon Echo replacement without an actual Amazon Echo (in the US, at least -- Cam), you need to take the Raspberry Pi route -- you can install Alexa at a basic level here, without the interference of iOS and Android, though the process is more involved. Thankfully our friends at Lifehacker have a comprehensive walkthrough.
We won't duplicate that guide in its entirety here, but as well as your Pi, your speaker, and a little Pi technical know-how, you're going to need the Alexa Pi software from GitHub, a microSD card, a microUSB cable, a USB microphone and a keyboard and mouse to set the whole thing up (you can unplug them afterwards).
You also need to sign up for a free Amazon developer account and plug in your account details when prompted as you're setting up the Pi. Fix the hardware up as you see fit and you've got a system that works just as well as a standard Amazon Echo, albeit without the Amazon fit and polish.
Other DIY hackers have been setting up Pi-based Echos with screens, like the Echo Show, and it's really up to you what you use as a display. You're not getting the Echo Show interface though, you're getting the Alexa app interface running in a web browser, so you may consider the extra visuals not worth the effort.
Of course, these alternative smart speaker setups aren't for everyone -- the experience isn't quite as seamless, and you can pick up an Echo Dot pretty cheaply -- but it's a fun way to get some extra use out of an old phone or tablet that's not doing anything much.
All you need is to keep the power on, your devices connected, and the wake word active, which means you could easily use Bixby or Cortana on Android if you prefer. To set Cortana as the default assistant on Android, head to Apps in Settings, tap the cog icon, then choose Assist & voice input and tap Assist app to switch to Cortana.