Open source Symfonisk WiFi speaker
Speaker of the House
Build open software, open hardware smart WiFi speakers for the home with the Sonos and Ikea Symfonisk.
Smart WiFi speakers are ubiquitous, attractive, and easy to use, but if you don't always want to buy the latest model – or simply love your independence – you can build your own loudspeakers to grace your living room. What you learn in the process also helps if you decide to convert high-quality passive loudspeakers.
With smart speakers from major manufacturers, the smarter the speaker functions the more problematic the speaker longevity. Additionally, you are dependent on the manufacturer in terms of the feature set and potential updates. Only what is deemed to be useful ends up on the loudspeaker feature list. For example, Sonos hasn't upgraded the Samba client that it comes with for years [1], saying the device doesn't have sufficient hardware resources. Surprisingly, they found enough scope for several other new functions.
After Sonos announced it would discontinue support for the first-generation operating system [2] and switch to the next generation, S2, fully functional devices suddenly experienced massive limitations [3]. Other manufacturers are not exactly excelling in this respect either: Competitors to the pioneer of cross-room loudspeaker components often discontinue support for their equipment far too early.
Free Technology
Quickly, you find yourself asking whether it wouldn't be preferable to have a smart system for the home that is independent of specific vendors. Basically, the following functions were on my wish list:
- Speakers connected over WiFi
- Synchronization of several speakers to create stereo pairs
- Access to local music libraries
- Connectivity for streaming services
- App-based or, if necessary, browser-based control
In addition to the basic functions of a smart loudspeaker, such as operation on WiFi networks or streaming, the ability to use free hardware was important for replacements and repairs. The use of open software means flexibility in terms of functionality and keeps maintenance down to a manageable level.
The Internet has many how-tos for do-it-yourself speakers that emulate the functionality of smart speakers. However, most people will lack the skills and tools required to create small loudspeakers with controls and an attractive design, and I wanted the design to harmonize with my living room.
Enter Ikea's ready-to-use Symfonisk system: The device, which is sold by the Swedish furniture store is compatible with Sonos and ideally suited for conversion into a smart open source speaker with freely available components and a Raspberry Pi Zero.
The components in Table 1 reflect my own preferences and the parts I could source in the European Union; you will be able to find good alternatives for many of the parts. For this hack, you need basic soldering skills, a soldering iron suitable for electronic work, and a simple multimeter. A glue gun for hot melt adhesive will also come in useful.
Table 1
WiFi Speaker Materials
Component | Price |
---|---|
Ikea Symfonisk |
$99 (EUR99, £99) |
Mean Well HDR-60-15 DIN rail power supply (15VDC, 4A, 60W) |
$22 |
Pi Zero WH |
$14 |
HiFiBerry Amp2 |
$50 |
MicroSD card |
$7 |
SD card slot extension |
$7 |
Micro-USB port expander |
$8 |
FPC adapter with 10 pins (0.5mm) |
$6 |
Cable for power connection (diameter >1mm) |
Available* |
Spacers (2cm and 1cm); M2 standoffs are included with the HiFiBerry Amp2, so you should choose M2 |
Available* |
Connecting cable |
Available* |
Heat shrinkable tube for insulation |
Available* |
*These articles were available in my electronics box, but they cost very little if you don't happen to have them. |
Symfonisk Disassembly
Disassembling the speaker completely into its individual parts is quite easy. Nevertheless, it is important not to damage anything in the process, because you will need the following parts later: the front cover, the front with both speaker drivers, the cabling on the speakers, the power connector at the back, and the LEDs and buttons on the front with flex cable to the main board. (Please read the "WARNING!" box.)
WARNING
Pay attention to the main board's capacitors when handling the interior parts of the device, because there is a danger of electric shock from stored energy, even if the speaker is not connected to the power outlet at that moment.
When you are working with an open enclosure and the speaker is connected to the mains, you must be careful to insulate the 230/120V parts properly and not touch any part of the setup.
Access to the speaker's internal parts is from the front by simply pulling the Ikea flag to remove the fabric cover, which is attached with small black rubber sockets that you simply pull out with a screwdriver or a pair of pointed pliers. Behind the cover are the cross-head (Phillips head) screws that secure the front.
After loosening all the screws, the next step is where you have pay the most attention. The front panel with the drivers (Figure 1) is inserted into the housing with anti-slip tape. To remove the front panel, simply insert a finger into the sound funnel (far left) and pull slowly. You have to take care that you only remove the front from the case and bring it forward a little, because all components are still connected to the inner workings.
Once the front is detached, carefully disconnect the cables behind it. The speaker terminals have a small safety hook that you need to loosen with pliers or a pin before disconnecting. The controls' ribbon cable is secured with a small flap that you must open with a screwdriver before you pull out the ribbon cable (Figure 2).
All the steps here should work easily and without much effort. The open housing with the separated components is then in front of you. The remaining parts are only screwed to the housing, so disassembly is correspondingly easy. Only the WiFi antennas and some cables are glued to the case, but they can be removed easily with a little caution.
The next steps should be conducted outside the case, so it very easy to perform tests and make corrections. If you put everything back together straightaway, you might have to take the Rasp Pi Symfonisk apart again.
Modifying the Power Supply
The power supply unit (Mean Well HDR-60-15) is very compact (and works with both 230V and 120V) and therefore is well suited for the conversion. The Symfonisk uses a 4-ohm midrange driver and an 8-ohm tweeter. (See also the "External Power Supply" box.)
External Power Supply
As an alternative to the integrated power supply, an external power supply could be considered, such as one left over from a defective notebook. In this case, however, it would be necessary to change the cabling on the back of the housing.
HiFiBerry recommends a power supply with 18V and 60W at 3A for use with their Amp2 Rasp Pi power amplifier. The HDR-15 is a 15V power supply unit but has an adjustable output of up to 18V. To adjust the power supply, turn the small screw next to the outputs completely to the right. You might want to use a multimeter to check the voltage. In speaker standby mode, I measured a consumption of 2.5W, which is less than the factory specification for Sonos devices [4].
To connect, simply plug the HiFiBerry Amp2 into the Raspberry Pi. The boards not only communicate over the Rasp Pi GPIO, the HiFiBerry also supplies the power over the connector. If you use a Pi Zero W and not the WH variant, you first need to solder on the GPIO header and test for functionality. Although this operation requires a little skill, in practice it is easier than you might think.
One goal of the project is to make sure the player does not lose its original outward appearance. Therefore, the power connection will stay on the rear panel. To do this, unsolder the old cables and connect new ones to the socket on the back. For the length of all cables in the conversion, use the width of the housing for orientation.
Solid core copper wires with a diameter of more than 1mm is advisable, because of the need to handle 230V (EU, Australia) or 120V (North America). Screw the other end to the inputs of the power supply. The polarity is not important, because it uses alternating current. The soldering points for the housing socket should be insulated with heat-shrink plastic tubing or hot melt.
Next, connect one output on the power supply to the input of the Amp2. In this way, as mentioned, you supply power to the Raspberry Pi immediately. Now you need to pay attention to the polarity (i.e., connect the positive and negative terminals the right way around). All in all, you only need one output at the power supply unit; the other one is free.
Buy this article as PDF
(incl. VAT)