As part of the design of a digital instrument I was working on, I wanted to have a grid of square soft-touch silicone buttons that could light up in any colour using RGB LED’s. Unfortunately, I couldn’t find existing buttons that fit the size specifications that I needed in the design. The solution: cast my own silicone buttons using a 3D printed mold.
The 3D printed mold
Since this was a prototype, I was able to be creative with how I fabricated the components. The idea I landed on was to cast the buttons with the LED’s already inside them. There were a few benefits to this:
- The was mold significantly less complicated, because it could be achieved with a single piece of material
- The LED provided good leverage for easy mold release
- Air bubbles had plenty of surface area to escape from and barely anything to get stuck underneath*
*I mixed a few batches of silicone, varying the amount of catalyst slightly: in some of the ‘harder’ mixes the bubbles were caught underneath the LED pins.
I got the set of molds 3D printed in Melbourne through my good friends at 3DPE – who not only turned around the parts quickly (I was in a rush), but offered invaluable advice on things like layer height, layer orientation and surface finish, all things which would transfer to the silicone surface. Experimentation was half the fun.
I made the files for the mold by simply taking the CAD drawings I had of my variously sized buttons and subtracting them from prisms.
Once I had the molds, it was just a matter of suspending the RGB LED’s in place (by bending their legs and using some tape) and slowly pouring in the silicone mix.
Testing out the lights
Once I had my first test button (which came out a little deformed as I removed it from the mold too early) I grabbed a breadboard and quickly hooked up the light to an arduino, and got it cycling through the rainbow.
The final result
Happy with the experiments above and confident that I’d be able to cast better quality buttons as I got the hang of the process, I had additional molds 3D printed. This sped up the cycle times between pour and cure by increasing the batch sizes I was producing (I needed to get a total of 3 sets of 25 buttons, one for each prototype).
I ended up casting far more silicone buttons than actually made the cut, this was because a) I still had some things to figure out about how to mix and cast effectively b) Some of the silicone didn’t cure properly, leading to deformation c) I didn’t have an effective way to release all of the trapped air from inside the silicone mixture.
Through what seemed like shear brute force, I managed to cast a full 3 sets of buttons to a quality that I was happy with. Each button had it’s own individually controllable RGB LED fully embedded within it.
What I’d do differently
Although the grippy texture worked well for the prototype, it wasn’t the finish that I would ultimately want, this was simply due to the surface finish “grain” of the prints and silicone’s ability to produce mirrors of even the most intricately detailed surfaces.
After talking further with 3DPE, I learnt that it is possible to use a post-process to smooth the surface of the 3D printed mold – which would then give me the smooth surface I want. If anyone is looking to do something similar, I’d also recommend trying to find a vibrating table that you could use (or even better, hack together your own) for peace of mind.
Oh, and try to find a better working space than a share house bedroom to avoid the serial-killer level of plastic that needs to be laid over everything when casting silicone.