I first had the idea for this project when I came across a similar build on hackster.io which is now also published here as an instructable. In this project they remodeled a broken 80s boombox using a Raspberry Pi and replaced all electronics except for the speakers. I am also in possession of an old 80s boombox where only one of the tape decks was broken so I planned to remodel it with the following features.
- Keep original speakers and amplifier
- Keep the working tape deck (because I still have some awesome old mixtapes)
- Replace broken tape deck with Raspberry Pi and touchscreen
- Add LEDs with spectrum analyzer feature
- Add a high capacity rechargeable battery
Step 1: Gather Components
Here is a list of all the components I used
- Sanyo M W200L boombox
- Raspberry Pi 3 B+ (amazon.de)
- 3.5" TFT touchscreen (amazon.de)
- 20000 mAh powerbank (amazon.de)
- 1 m WS2812b LED strip
- Arduino Nano
- Panel Mount Extension USB Cable (amazon.de)
- Ground Loop Isolator (amazon.de)
- DC - DC Boost Converter (amazon.de)
- 2x 1.8 kOhm, 1x 4.7 kOhm resistors
- push button switch
- 1000 µF, ~16 V capacitor
I was lucky enough to find this beautiful boombox in the trash a while ago. It was fully working except for one of the tape decks which keeps eating the tape. The plan was to remove the broken tape deck an replace it with a Raspberry Pi and a 3.5" touchscreen which fits almost exactly in the same space. For powering everything, I first thought about using several 18650 batteries wired in parallel but then decided to just use a powerbank since it was cheaper and has the charging circuit and 3.7 V to 5 V boost converter already build-in. Make sure though that you get a power bank which can provide enough output current. My powerbank can supply 3.4 A on two separate outputs but the total output cannot be larger than 3.4 A, i.e. I have about 17 W. The boombox is rated at 12 W which is fine but the RasPi and display can draw more than 1 A. So in total I am running a bit short of battery power and noticed some voltage drops when there are current spikes, e.g. when the tape deck motor is switched on. In addition, most powerbanks have a sleep function when the drawn current is below a certain threshold. This was not a problem for me since the RasPi does always draw enough current but it is also something to take into account. Next time I will probably use 18650 batteries which can provide more current. Since the boombox is running on 7.5 V, I still needed another boost converter. A panel mount USB cable was used to have a micro USB socket on the housing for charging the power bank. The LED strip, Arduino Nano and resistors were used to build a spectrum analyzer. The capacitor is recommended to avoid current spikes when powering the LED strip and can also help to reduce humming noise in your speakers. Since I still ended up with a lot of humming noise, I also added a ground loop isolator. In addition, to the components above, I also used a lot of wire, hot glue and some 3D printed components.
Step 2: Install Volumio on RasPi
Volumio is an open source Linux distribution designed for music playback. The UI runs on a web browser, i.e. you can control it from any phone or local PC that is connected to the same network. It supports many music streaming sources like YouTube, Spotify and WebRadio. Volumio is designed to run in your local network at home but I would also like to take my boombox outside in the summer. In this case I will have to open a local WiFi hotspot with my phone for the RasPi to connect.
Volumio also has a touchscreen plugin that shows the UI on any screen connected to the RasPi itself, however, getting this to work with my display required quite a bit of work. I basically followed this tutorial but had to make some adjustments since my display runs over HDMI.
Many people recommend using a DAC such as HiFiBerry for audio output but I was quite satisfied with the audio quality coming from the audio jack on the RasPi itself. After all I was not trying to create an audiophile high quality music source.
Step 3: Making the Spectrum Analyzer
For the spectrum analyzer I glued three rows of WS2812b LED strips to the panel that was showing the radio frequency. The electronics consist of an Arduino Nano and a few resistors according to this instructable. I also added a dip switch and wrote my own arduino code which is available below. The code is based on the FFT and FastLED libraries. The dip switch can be used to alter between the spectrum analyzer mode and two different LED animations. Since the spectrum analyzer will only be connected to the audio signal of the RasPi, the animations can be used when listening to music from the tape deck. For testing, I connected the audio jack of the RasPi to the Arduino and adjusted some parameters in the code according to the noise and volume. Since the noise situation changed a lot in the final configuration I had to readjust everything later.
Step 4: Remove Old Electronics
After opening the boombox, I removed all unnecessary parts this included the AC-DC transformer, radio and broken tape deck. This left me with enough space to add all of the new components. I also cut all unnecessary cables short so that they do not act as antennas and pick up noise.
Step 5: Insert Raspi and Touchscreen
Next, I removed the plastic cover from the tape deck and carefully attached the touchscreen and RasPi using hot glue. As you can see the 3.5" screen fits almost exactly in the space of the plastic cover from the tape deck.
Step 6: Wire New Electronics
I connected everything according to the attached schematic. The audio signal from the RasPi is running through the ground loop isolator and then into the input of the removed radio. In addition, one channel is connected to the spectrum analyzer. In the picture above, the old boombox circuit, the RasPi and Arduino are all powered from a single output of the powerbank. However, as already mentioned there were some voltage drops when there was a high current demand (e.g. starting the tape deck motor, turning the volume to max) which could cause the RasPi to restart. I then connected to RasPi to one output of the power bank and the boombox amp + arduino to the second output, which alleviated the problem. I reused the former mono/stereo switch of the radio and connected it to the power line. To step up the voltage to the 7.5 V needed for the boombox a boost converter was added. For recharging, I attached a panel mount micro USB cable to the back of the housing. The powerbank was placed in a 3D printed holder and attached with hot glue. All other components were also fixed with hot glue. I tried many different grounding schemes to reduce the humming noise. In the final configuration there is still a little bit of high pitched noise present but it is not that annoying. I thought the situation could be improved by connecting the specrum analyzer before the ground loop isolator but this was not the case. Finally, everything was tested and the Arduino code was again adapted to the noise conditions. I also frosted the plastic cover of the housing with sanding paper to diffuse the light of the spectrum analyzer LEDs.
Step 7: Add 3D Printed Components
Since the missing tape deck left some empty slots where the buttons were located, I 3D printed some fake buttons and glued them to the housing with hot glue. In addition, I also 3D printed a holder for the stylus of the touchscreen and a holder for the dip switch.
Step 8: Finished!
Finally, I closed up the housing again and could enjoy the finished project. I am already looking forward to using the boombox outdoors at the next BBQ party, sadly I will have to wait until next summer for that.
If you like this instructable please vote for me in the audio contest.