Making a Internet Connected Shop Stereo

by TinkeringProductions in Circuits > Audio

7020 Views, 64 Favorites, 0 Comments

Making a Internet Connected Shop Stereo

IMG_20190520_213805.jpg

When I turn on the radio while driving I turn to my local college radio station 90.7 KALX. Through the years and different places I have lived I have always listened to college radio stations. Thanks to the power of the internet I can now listen to these stations whenever and where ever I want. However I have been kicking up a lot of sawdust in the shop lately and running my laptop just to have some tunes seemed like a bad idea. I also use my phone to document projects and have trouble with staying close enough to a bluetooth stereo for uninterrupted listening. Enter the College Radio an internet connected raspberry pi powered workshop stereo whose sole purpose is to play college radio streams. If this has piqued your interest come join me on a learning adventure in the internet of things.

What You Will Need

Here is what you will need to undertake the project yourself

Hardware

  • Small usb powered computer speakers(I used these)
  • Any model Raspberry Pi with the exception of Pi Zeros
  • A wifi adapter for said Raspberry Pi(only needed if you want to not be tied to an Ethernet cable)
  • 8gb micro sd card
  • 4 - 6mm M3 Screws
  • 10 - 8mm M3 screws
  • Super Glue
  • A thumb drive or network attached storage (only needed if you want to listen to your own mp3s)
  • Laser cut mirrored acrylic inlay
  • 3d printing filament for your machine
  • Ethernet Cable(only used during setup)
  • 3d Printed parts(files included in the instructable)
    • 1 3d printed Main Body
    • 1 3d Printed Rear Panel
    • 5 3d printed Strain Relief

Tools

  • Computer
  • 3d printer
  • Laser cutter
  • Screwdriver(multi head/security)
  • Allen wrench
  • Small files
  • Calipers
  • Soldering Iron
  • Helping Hands
  • Flush cutting wire cutters
  • Knife/wire strippers
  • Pliers

Software used

Getting the Raspberry Pi All Set Up

Runeaudio.PNG
Etcher.PNG
NetworkSuccess.PNG
M3U.PNG
Webstream.PNG

The first thing we need to do is to go to the RuneAudio website(www.runeaudio.com). Once on the website click one of the download buttons to get to a page that will list all of the different types of hardware RuneAudio runs on. Then find your version of RaspberryPi and download the corresponding image file. With the image file downloaded open Etcher, find the image you just downloaded, select your microsd card, and flash! Once this is done we're ready to move on to the RaspberryPi!

There are two ways to set up the RuneAudio UI. If you have a monitor and keyboard available you can plug them in and finish the setup directly on the RaspberryPi. If you don't we can set it up over your network. I did the over network setup so that is what I will cover here. However both setups are pretty similar. To do setup over the network plug your RaspberryPi into your network via an Ethernet cable and power it on. The next step is to connect to your RaspberryPi from another computer on your network. To do this open your preferred web browser and on windows go to http://runeaudio or http://runeaudio. or the ip address of your RaspberryPi. On MacOS go to http://runeaudio.local You will now be in the RuneAudio user interface and we can get everything else set up from there.

The first thing I did after accessing the user interface was to set up the wifi adapter. To do this I entered the networking section of the settings by selecting the menu in the upper right corner. I found my wifi adapter and selected my network ssid from the list. Next I entered my password and it connected no problem. The problem came when the wifi connection refused to get an ip address from my router. This sent me to the forums of RuneAudio to find a solution. With my limited knowledge I was able to find a quick and dirty workaround. That work around was to assign a static ip to the RaspberryPI's wifi adapter. Just make sure the ip you are setting isn't being used elsewhere on your network. With that I was no longer beholden to the Ethernet cable. Huzzah!

At this point the RaspberryPi is good to go running RuneAudio! The only problem is there is nothing on it for it to play :( . So now it is time to get your college radio stations set up. To do that you need to go to your college radio stations website and hunt down their .m3u files that you download to stream their stations. Here is where we take a bit of a side step to get RuneAudio to do what we want. Unfortunately RuneAudio does not support .m3u files. Fortunately there is a really easy work around. To work around this we will open the .m3u file with a text editor. I'm on windows so I am using notepad but really any text editor will do. Once it is open you will see the streaming address that will need to be input into RuneAudio to be able to stream them.(I am attaching a text document with a few college radio stations I enjoy.) Armed with the secrets of the m3u file entered the information into the appropriate areas under the MyWebradios section of the Library and you are good to go!

Now that the software is set up lets get back into the meat space and poke some stuff with a stick!

Downloads

Testing and Tearing Things Apart!

IMG_20190518_195735.jpg
IMG_20190518_195811.jpg
IMG_20190518_200144.jpg
IMG_20190518_201338.jpg
IMG_20190518_201929.jpg
IMG_20190518_202018.jpg
IMG_20190518_202142.jpg
IMG_20190518_204534.jpg
IMG_20190518_203041.jpg
IMG_20190518_204223.jpg

Now you might be like me and have seen all the awesome guides on instructables for building bluetooth speakers or high fidelity speakers where all the individual components are planed/purchased and then made into something awesome. Well I don't need high fidelity audio when I am running an orbital sander and when I went to price out the low fidelity components I found it would just be cheaper to buy something already made and tear it apart thanks to the economy of scale. However because I was going this route I wanted to make sure everything worked before I went on a warranty voiding screwdriver powered romp thought the guts of the usb speakers. I plugged everything in and fired it up. I was streaming KALX from my RaspberryPi and could have stopped there but I had a dream and a hankering for disassembling.

A few thoughts about buying electronics with the sole purpose of stealing their guts.

  1. Manufacturers hide screws
  2. Sometimes instead of screws they just use glue
  3. Things can be really hard to dismantle without breaking their components

I picked the speakers I did because in the product photos there was a picture of the back with what looked like screw holes, they were powered by usb, and they matched my price point! I was really pleasantly surprised with how easily they dismantled with just a philips head screwdriver and pliers. I started with the speaker with the least components just in case I broke something while figuring out how the parts separated. With the four rear screws removed the front panel with the speaker popped free. The speaker was glued to the front plastic panel but I figured I would just incorporate that into my design later instead of trying to get it separated. Using my soldering iron I disconnected the speaker from its wires after making sure I knew which sides of the speaker was the positive and which was the negative.(It was labeled!)

Now it was time to get the guts out of the side with the power and amplifier circuit. I took out the same four screws and out popped the front speaker it looked like the circuits we being held in place by some unseen fastener. I figured it might be the volume knob and I was right. To get the volume knob off I carefully pried up on the knob moving back and forth from one side to the other till the plastic knob was in my way no more. The potentiometer was a panel mount variety with a nut securing it in place. Using my pliers I loosened the nut and the circuit popped right out. The one place this manufacture used glue was for cable stain relief so there was no way I was going to salvage the wire connectors.

Finally I had all the parts I needed from the speakers with some bonus blue led light panels for a future project. It was time to bust out the calipers and measure everything and I mean everything. This took quite some time but in the end it was worth it. Armed with detailed measurements it was time to design my new shop stereo!

Dreaming, Designing, and Drafting

Autodesk Fusion 360 (Education License) 5_18_2019 8_55_59 PM.png
Autodesk Fusion 360 (Education License) 5_18_2019 8_44_40 PM.png
Autodesk Fusion 360 (Education License) 5_18_2019 9_14_43 PM.png
Autodesk Fusion 360 (Education License) 5_18_2019 9_36_24 PM.png
Autodesk Fusion 360 (Education License) 5_18_2019 9_44_29 PM.png
Front case.PNG
Autodesk Fusion 360 (Education License) 5_19_2019 8_19_02 AM.png
IMG_20190520_205058.jpg

I did all of my design work in Autodesk's Fusion 360 which is currently free for hobbyist use. I am self teaching the software using the resources available through Autodesk's website, Instructables, and youtube. Since this is the case I will stay away from the nitty gritty operational instructions and focus more on the broad strokes of what I did.

The first thing I did was to draft up the individual components based on my measurements. For the Model of the RaspberryPi I took a short cut and imported a model done by user Anjie Cai from Autodesk's Fusion 360 community area. The bummer here is it turned out to be a model for the a different version of the RaspberryPi than I was using. So if you are going to use other peoples models make sure you double check that they will work for you. With all my components represented in the 3d space it was time to design the body of the stereo. I have always been inspired by appliances from the Art Deco period so I did a google image search for "Art Deco Radio" and found one that inspired me. I imported that image into Fusion 360 as a canvas and got to work sketching. My inspiration radio only had one speaker so after I got the one side all drafted up I mirrored the sketch to have my final face panel design. It sort of looks Art Deco but also sort of like Johny 5 from the 1986 movie short circuit. I liked it so I extruded and poked until I had the design for the body of the stereo. For the back of the case I just offset the front face and placed the components. Compared to the front it was a breeze. If you want to take a look at my Fusion 360 design you can check it out here. With the models all done I exported them as stl's for 3d printing. I then used Cura to slice the stls and generate the gcode for my 3d printer. While the parts were printing I was able to contemplate the mirrored acrylic inlay.

The inlay was a bit harder for me to figure out. When I do design work for the laser I usually work in Inkscape. However I didn't want to have to do my drafting all over again just to get the inlaid pieces. A quick search of the Autodesk Knowledge base told me I could export sketches as dxf files. Which brought be one step closer but my sketches had been plentiful and incoherent.(what can I say I am learning) This knowledge wasn't going to get me all the way there. Luckily I am currently working my way through JON-A-TRON's CNC Class and had just gotten to the part where he covered projecting. So I projected my final front face to a new sketch and had everything I needed in one place and ready to export as a dxf file! With that file in hand I imported the dxf file into Inkscape and got to work making the file laser ready. In my case that meant making the lines red and moving the parts around to minimize waste.

With my files ready and my machines toiling away to bring my dreams from the virtual space into the meat space I went to bed because it was going to take 10 hours to print the body of my radio. I am also including here my stl's and svg file if you don't want to bother with modifying anything. The RaspberryPi mounts are for the original just fyi.

Assemble Your College Radio!

IMG_20190520_211143.jpg
IMG_20190520_211634.jpg
IMG_20190519_130848.jpg
IMG_20190519_130846.jpg
IMG_20190519_140949.jpg
IMG_20190519_141044.jpg
IMG_20190519_140155.jpg
IMG_20190519_141423.jpg
IMG_20190519_143611.jpg
IMG_20190520_213051.jpg
IMG_20190520_213557.jpg

Thanks to the power of the internet we don't have to wait to start the satisfying and final part of this saga which is the assembly! To start I press fit the laser cut acrylic into the front panel there were a few spots that needed some light filling to get the acrylic to fit. I used a super light touch on the filing as I didn't want to file away too much and leave gaps. Once everything was press fit in I didn't want anything to shift or pop out so I gave it a bit of super glue to make sure it stayed in place.

While the super glue was drying it was time to work on the electronics. I first did a dry fit of the amplification pcb in the rear panel. As a reward for my careful measuring earlier everything fit like a glove. So it was time to start wiring everything up. Using my flush wire cutters I cut off the connectors from the amplification pcb and was pleasantly surprised so see clear labels. Then I prepped the wires we got out of the speakers earlier by trimming them to size and tinning them. Finally I soldered everything in place according to its label. With that done I decided to power everything up and see if it still worked. It was going to be way easier to troubleshoot if there was a problem with the parts not in the case. It worked on the first try so I did a little happy dance and reached for my allen wrench and M3 screws.

The amplification pcb is held in place by friction and the panel mount potentiometer just like in the original housing. The 8mm M3 screws are used to hold the power strain relief and the RaspberryPi in place. The 6mm M3 screws and remaining stain reliefs were used to secure the speakers. Finally once all the internal components were set the back panel was placed on and attached using the remaining 8mm M3 screws. With the last screw in place I was finally done.

Rock Out With Your New Radio

IMG_20190521_181127.jpg

I found a place in the corner near my small wood lathe to place my radio where it can get power. There are apps for your phone that let you connect to your stereo or you can just connect to the static ip you assigned it. You get all the benefits of a bluetooth connected stereo with none of the drawbacks.

This was a really fulfilling project for me as it brought together so many skills that I am learning/developing. I appreciate that you took the time to check out my instructable. If you have any favorite college radio or other streaming radio addresses you think are awesome I would love it if you could share them with me. Also if you decide to make your own please share pics. Happy making!