Introduction: Floating Portable Speaker
This instructable will go over my recent DIY project of building a totally water proof, floating, portable speaker. (Working name in progress lol).
My goal/inspiration for this project was to have a speaker that floats around like a buoy in the sea. Throw it in your pool or off the side of your boat and this little guy will get the party going. And with wireless charging everything will be completely water proof.
It has been a fun little pet project of mine over the last year or two. I am hoping to upload my CAD files so anyone with a 3d printer can try and build one for themselves. I would love to hear any feedback, comments, or ideas to expand on.
What you need:
- 3d printer
- 3d print epoxy
- Marine grade speakers
- Waterproof switch
- Expansion foam
- Silicone sealant
- Wireless charging power tool battery
- Raspberry pi
- Hifi berry amp 2
- Button head cap screws
- Screw posts
- Hex nuts
Skills you need:
- 3d cad design (optional if you want to design your own)
- limited knowledge of electrical circuits
Step 1: CAD Design
This project has evolved over time but there has been one constant throughout. I will be using my favorite little toy: the 3d printer. Without a 3d printer a "prototype" build like this would be impossible. There was tons of trial and error along the way. And not to mention, most of the geometries I designed would be tough to fabricate if not impossible with classic diy techniques.
I tried to design with other potential building techniques in mind. I am interested in trying to "tumble mold" the shell or even just injection molding. With this in mind, I tried to design with uniform wall thickness and zero negative draft.
I kept modifying the CAD design until it could be 3d printed in vase mode. This greatly reduced the print time, cost, and weight of the shell (and as a bonus vase mode looks fantastic).
A couple of lessons I learned along the way are:
- Do everything you can in your design to keep the nozzle continuously flowing. For example, the completed part needs a few holes and has a decorative wavy top layer. If these features were modeled the 3d printer nozzle would have to stop its flow, move, and begin flowing again. This results in weak spots and strings. Instead I found it better to model “witness indents” where holes will go and cut them out of the completed 3d print later.
- Large diameter vase prints will have a tendency to warp. It is beneficial to include ribs or undulation to add strength to the shape.
My current design has 9 different parts that need to be printed out:
- Main body shell btm
- Main body shell top
- Main body shell cover
- Arm btm
- Arm top
- Tweeter mount btm
- Tweeter mount top
- Electronics case btm
- Electronics case top
As I mentioned earlier I was able to set up almost every print to be done in vase mode. With the only exceptions being the tweeter mount btm and top.
Connecting the parts
The main body shell btm and top will be glued together with a sealant. Creating 1 large sealed cavity for the woofer and electronics.
Button head cap screws will be used to mount the arms to the main body and tweeter mount. The tweeter mount btm has pockets sized to fit a hex nut. Simply slide the hex nut into the pocket and it is ready to receive the mounting bolts.
Screw posts are used in the main body to receive the mounting bolts. Glue the posts into location with a sealant.
Check out the other instructable I wrote up for designing the arms.
Step 2: The Battery
Choosing a battery
We will be using a bosch WC18CF-102. It is the only battery I found with the very cool feature of induction charging. (Probably have a copyright). I would recommend buying the battery online from amazon or ebay, but watch closely because the prices tend to swing wildly from ~50 to ~100 over the course of a month or so.
Induction charging is ideal for this project because it is wireless. The magnetic field used to induce charging can easily pass thru a waterproof boundary.
Induction technology is very cool wireless transfer of electrical power and becoming popular these days (wireless phone charging, etc). It works by creating a magnetic field with one coil (a). And if a second coil (b) is near/above coil (a) the magnetic field induces a current. Wikipedia is always a good source but there are plenty of much smarter people than I explaining it on the internet if you would like further reading.
Up-cycling your battery
The first thing you will do with your beautiful expensive battery will be to remove the outer shell (and void any warranties). The factory shell is designed for rugged power tool related work and we do not need the corresponding bulk.
Warning: Avoid damaging the battery cells or their outer cover. You may short and/or ruin the battery.
The factory shell is held together with anti tamper torx screws, but allen wrenches work just fine. There is one screw hidden behind a tamper resistant plastic seal. The seal can be removed with a drill bit or a knife and the final screw can be accessed.
Now looking at the inside of the battery you have 3 main components. The induction coil, the battery cells, and the PCB (protection circuit board).
The next step (optional) is to remove the inner shell of the battery. The factory inner shell is still a little bulkier than it needs to be and I feel its worth it to 3d print a smaller one. You will have to cut the main power leads to separate the battery cells from the induction coil and the PCB. Now remove the individual cells and you will have (5) 18650 batteries rolling around.
How batteries work
You may be surprised to find out the battery is made out of 5 AA looking batteries. But these 18650 battery cells are the building blocks for tons of rechargeable batteries of any size or power. This standard cylinder size (18mm dia x 65mm length) can be filled with lithium ion, or nickel cadmium, or etc. The different materials are chosen based on price and performance but almost every 18650's produce around 3.7v when charged. Connecting 18650's in parallel will combine capacity. While connecting 18650's linearly will combine voltage. (Fun fact even Tesla car batteries are built by combining 7000+ 18650 batteries in a combination of linear and parallel).
Our battery pack is built with 5 18650's connected linearly. The voltages of each cell add together to create an 18v battery. Each cell have a "comfortably" be charged to ~4v and discharged to ~3.3v. If you force a battery cell to go higher or lower the battery will probably catch fire (too high) or completely die (too low). This is why we need a battery PCB. The Protection Circuit Board will guard the battery from overcharge or over discharge.
You will also notice in our battery there are 2 small black wires (one connected to the PCB and one to the induction coil). These wires have a thermocouple inside them for the PCB to monitor heat levels and stop function if it ever gets too high.
When building a battery from scratch an engineer needs to carefully review cell material properties, charging source, charging speed, discharge use, cell wiring, PCB's, etc. to create a battery that both safe and performs the needed task.
Luckily, we will not have to worry about paring the correct PCB with the charging source or anything else. We are using the battery designed by the bosch engineers just putting it in a smaller shell.
Putting the battery back together
After sliding the battery cells into their new low profile shell I connected them together end (+) to end (-). Probe a multi-meter across the battery and you should read ~18v.
Next, I soldered the induction coil leads back onto the battery and slid the thermocouple wire up against one of the battery cells.
Finally, the PCB will need to be wired back in. Solder the red wire back to the (+) end and the black wire to the (-) end.
Need help from someone smarter than me!
It would be more beneficial to build the battery in a circular shape. This would allow an even distribution of weight and the other electronics used could fit inside taking up less volume. But I discovered that the induction charge will not work in this configuration. The charger will register an error unless there are battery cells placed directly above the induction coil. Please comment if you have any theories on why this is the case. It is worth noting that I have found the battery cells above the induction coil do not have to be the ones getting charged.
Step 3: Programming
Choosing a receiver
Throughout the internet there are tons of diy bluetooth speaker builds, but all built from 3 main "ingredients" (power source, audio receiver, speakers). There are tons and tons of receiver options to choose from. Varying from labor intensive builds to store bought plug and play, from cheap to expensive, from great quality to crap, etc. For this project I settled on the raspberry pi with a hifiberry pi hat. It is on the high end of price and quality but it is easy to get up and running. Another bonus is the hifiberry pi hat can run up to 20v so the battery can be wired directly into it. I tried a few cheaper bluetooth receivers but they required a "buck converter" to lower the voltage. Also, powering an amp and receiver with the same battery tends to create an annoying ground loop buzz.
Setting up the raspberry pi
If you are anything like me this step is a little out of your technical background and can be daunting. But I promise its not that hard.
For those completely new to the concept of raspberry pis they are these amazing little computers you can buy and program for any assortment of projects. There are tons of cool projects on instructables (and a great raspberry pi community) that show in detail how to get your little computer up and running.
A popular project out there is running your raspberry pi as a receiver for Bluetooth audio, wifi audio, or both. For this project I chose to set my raspberry pi to receive wifi audio but you could easily do the same as a Bluetooth receiver. The reason I chose wifi is because in theory the audio quality will be better through wifi. Playing audio through wifi on your phone uses less phone battery. And I think there is a cool factor to the wifi audio.
I would suggest following other instructablesto set up the raspberry pi. But to sum up the steps you need to:
- Download Debian software and load to sd card
- SSH into your raspberry pi, or hdmi connect to a tv screen
- Install shairport, or max play, or other
- Set up the program to run when the raspberry pi boots
Now that you have your raspberry pi up and running you will need to set up the audio board. Some raspberry pi's have an audio board built into it but they do not sound very good. We will need to add a “pi hat” so we can get the volume and sound quality we want. There are many options out there. I sprung for the higher end “hifi berry”. As all pi hats you simply plug the hat into the open ports of the raspberry pi and tell the raspberry pi what you have installed. What is nice about using the hifi berry is it runs on the 20volts. Depending on what pi hat you choose you may need a “buck converter” to regulate the voltage. To add your raspberry pi to the circuit you connect the + wire from switch to the voltage + on the pi hat. And connect the – on the pi hat to the – on your battery. The pi will power the raspberry pi board so you do not have to worry about providing the 5v to it.
Step 4: Speakers
For this project I chose to use Polk Audio MM-6501. These are marine grade speakers and are built to handle any weathering you can throw at them. The woofer is completely sealed so if my speaker was ever submerged there shouldn't be any water leaking into the body. As a bonus they are pretty celebrated for their sound quality (I sure hope so they aren't cheap!)
I feel I did a pretty intensive search of all marine grade drivers and these were the only ones I could find that would fit my project needs. If anybody has any suggestions I would love to check them out. Aside from the price the woofer is a 6.5" dia and probably too large for the way I am using it. For this project a 4" woofer would be plenty to get the job done.
The speaker set comes with a crossover. And you guessed it, the crossover is a little bulkier than it needs to be for this project. Pop off the top plastic piece and you are good to go.
Wiring the speakers is extremely straight forward. The audio out of the pi hat will go into the crossover in ports. Woofer ports are wired to the woofer and tweeter ports to the tweeter.
After screwing the woofer into place make sure to apply sealant over the screws and anywhere else you think water could get in.
The tweeter comes with a few plastic brackets for mounting. Make sure it is rotated correctly for the speaker wires to come thru and screw it into place. Solder the speaker wires to the tweeter and snap it into the bracket.
Step 5: Water Proofing
Water proofing overview
My main goal for this project was for the speaker to float in water while playing. Whether it be a pool, lake, stream, bathtub, etc I can guarantee water will be splashed up into every nook and cranny. Or possibly the speaker will be fully submerged in water at some point in its life. Ask any engineer and they will tell you somehow someway water will find its way in. So that is what we are up against..
3d printed shell
After all parts are printed we now have a very brittle, weak, and non waterproof speaker. There are a few products out there to solve this problem but I am partial to smooth-on for its ease of use. Mix and paint on a few layers of the clear 3d print epoxy and now you have a strong waterproof shell.
To strengthen the handles I filled them with crack sealing expansion foam. (make sure to run a speaker wire thru one of the handles before filling with foam)
Water test your parts to double check there are no leaks.
As diligent as I tried to seal the outside it is likely water will eventually find its way into the shell. So I set up a second and 3rd line of defense against the electronics. After all the electronics are wired and ready to go wrap them with Glad press and seal. Wrap and wrap until you are confident you could dunk your electronics into a bowl of water. (Another option for this would be to cover the electronics with a water proof electrical potting. This is probably the best option, but it is permanent. I have a tendency with projects like this to take everything apart and make some little change).
After I wrapped the electronics with press and seal I placed them into a small 3d printed box. This box will also be completely sealed and placed inside the main shell.
The switch will also need to be sealed into it's home. If the main shell ever somehow gets completely filled with water the metal leads on the switch and woofer will be exposed. So cover them with sealant as well.
Step 6: Wiring
Permanent vs temporary
As I built this project it was (and still is) a work in progress. I am constantly changing my mind about this, replacing that, upgrading something else. Because of this, I wired everything up with molex style connectors. If I decide I don't like the on/off switch I can easily trade it out for another one.
If you are going to try and build your own feel free to follow this "temporary" wiring set up or do your own permanent set up
Wiring the switch
For this project I went with a simple waterproof switch, and bonus, it lights up when switched on.
Wiring the switch is simple. There are 3 prongs on the back. The 2 silver ones are for the circuit. Connect the battery (+) with one of the silver prongs and the raspberry pi (+) with the other. The third prong (bronze) is for the light inside the switch. If you would like the switch to light up when on connect this prong with the battery (-) .
Wiring in the pi
As you can see on my wiring diagram it is a very simple set up. The (+) prong of the switch will be connected to the (+) port on the pi hat. The (-) port will be wired to the battery (-).
Last the audio out will be wired to the crossover. And from the crossover to the speakers.
Step 7: Counter Weight
To get this speaker floating right side up we need to add some counter weights.
Another benefit of 3d printing in vase mode is the body of the speaker is pretty light. Also, the battery and induction coil are positioned at the bottom so the center of gravity is naturally very low. We will only need to add around 3 lbs to the bottom of the main shell to achieve the desired floating orientation.
Really anything you can find to stick in there will work as a counter weight. I found some wrist weights around the house and decided to put them to use.
Like the battery before, the wrist weights are too bulky. Cut open the 1.5lb wrist weights and remove the sand. Make 2 small weight bags out of cling wrap.
Step 8: Finishing
Main shell btm
First place the electronics box into the the bottom of the main shell.
Next place the counter weights on either side of the electronics box. Once everything is where you want it use expansion foam to seal and hold it in place.
Main shell top
After mounting the woofer make sure to go over all the screws and woofer edges with sealant. Next, glue the switch into place with the sealant.
The upper shell cover is just cosmetic and is placed over the upper main shell.
Run bolts thru the handle, thru the upper shell cover into the screw posts to mount the arms. And bolt the btm tweeter mount into place as well.
Before mounting the 3rd handle place the top tweeter mount into position. There is no hardware to hold this piece on, but the handles squeeze it into place.
Last, glue the main shell btm to the main shell top. To do so run the sealant around the seam before connecting the pieces. Additional 3d print epoxy can be added to this joint to strengthen it.
Step 9: Complete
There you have it. Ready for a warm summer day in the water.
Overall I would say the sound quality is decent. Plenty of volume for everyone to hear while your at the pool. If I were to change anything I might make the main shell even bigger to accommodate the later woofer.
I would love to hear any feedback or thoughts. Thanks!
Second Prize in the
Audio Contest 2018