Introduction: LED Climbing Holds
My friends and I had the idea to build a climbing wall using climbing holds with embedded LEDs instead of taping holds to indicate routes. In the spirit of "go big or go home", we decided to build a really big wall for Burning Man! We're excited to use the wall for even more cool things there -- like visualizing music and playing climbing games! (The completed wall is the third picture -- it was a pretty sweet experience!)
We've been iterating on design and manufacturing for the holds for the past few months and finally locked down on design, materials, and electronics. This Instructable will teach you how to make one of these holds, how to mount it to a wall you build, and how to control the holds to set a route or have a light show dance party (our system is controllable by anything from an Arduino to a professional lighting system, and a lot of things in between.). I will also explain some design decisions we made along the way. We will not be going over how to build a climbing wall; there are some excellent Instructables already on how to build a climbing wall, and I encourage you to look over those for ideas.
To start, all of our code to control the lights and Eagle files for the boards (both open source!) can be found on our github page.
Step 1: Gather Materials
Bill of Materials (Holds):
*Note: you will also need a 3/8" bolt and wall with corresponding T-nut to bolt to.
- 1x climbing hold to cast. You can make your own out of foam (not covered in this Instructable, but others exist), or use an existing one (but be aware of copyrights!)
- rubber cement and spare cardboard box to glue the hold to
- silicone for mold making. I used both Oomoo 25 and Rebound 25 for this project. I'll explain pros and cons of both in the next steps.
- polyurethane (or polyester) 2-part resins. I used Smooth-Cast 325/326 (main difference is pot life, which I'll explain shortly).
- 1x circuit board with LEDs to cast in the hold. See below for board BOM.
- 1x 3/8" washer
When mixing the silicone and plastic (polyurethane / polyester) compounds, please do this in a well-ventilated area and wear gloves to protect your skin. Take time to read the MSDS and Technical Bulletins for any product you use, so you understand any additional risks and understand what to do if you accidentally splash something on you. Polyurethane or polyester compounds can have some nasty long-term health effects associated with either breathing them in or having skin contact, so additional personal protective equipment may be necessary depending on exactly what you're using.
Bill of Materials (Holds Electronics):
*Note #1: The github contains files for regular RGB LEDs and controllable WS2812 RGB LEDs. The holds for our Burning Man project will use the WS2812 boards, but I also have controller boards ready to go for the other two options as well.
*Note #2: I used 0603 packaged passives, but you can modify the board in Eagle to use different sized resistors/caps if you're more comfortable with other sizes. The LEDs are also SMD components; both are 5050 packaged.
- 2x LEDs (RGB or WS2812)
- 4x 28 AWG wires, different colors preferred. Pick your length depending on your wall height (taller wall = longer length).
- 1x 2x2 0.1" pitch Quickie connector (what I used)
- (for WS2812 holds) 2x 150 ohm resistors (what I used)
- (for WS2812 holds) 2x 0.1uF capacitors (what I used)
- (for WS2812 holds) 1x 22 ohm resistor (what I used)
- (optional) a 2-56 machine screw and corresponding nut, at least 3/4" long, to help prevent holds from spinning
Bill of Materials (Controller):
*Check github for BOMs. Controller BOM varies greatly depending on if you're driving regular RGB boards or WS2812 RGB boards.
- fine tip soldering iron
- soldering tip cleaner
- (optional, but extremely helpful) solder wick, flux
- cups to mix silicone and plastic in. It is helpful if the cup is reusable and has volume markings.
- popsicle sticks to mix silicone and plastic with
- (Optional) a scale. Some resins are done by weight, but everything I've listed can be done by volume.
Step 2: Making a Silicone Mold
The two types of silicone mold material I used were Oomoo 25 and Rebound 25. Oomoo 25 is blue, tin-based silicone, cures in about 2 hours, and is extremely easy to work with. Rebound 25 is salmon colored, platinum-based silicone, and is painted on in layers over the course of a day. Both of these are 1:1 volume based (no scale needed), and do not require heat to cure, which makes both of them excellent for makers at home.
Oomoo 25 molds are solid blocks of material, while Rebound 25 molds are a thin silicone skin (see photos).
I ended up using a combination of both depending on what kind of hold I was making. One of my limiting factors was that I wanted to be able to cast many holds at once. The Rebound molds require a lot of support material to keep them from collapsing while casting, making the Oomoo molds more appealing for large-scale production.
Here's a quick pro/con list between the two, if you're having a hard time deciding:
- mold is level when making a casted replica, no need to support it
- pouring the mold requires a box
- wastes a lot of extra material to fill box
- breaks after some number of castings, silicone tears easily
- less material usage, saves $$ (especially for large holds!)
- stronger, lasts for more castings
- can glue to just cardboard for making the mold
- takes more time to make a mold, need 1 hr between each layer
- need 4-5 layers before thickness is sufficiently strong
- need a thickener for overhanging areas
- need to support hold when casting
I also think Smooth-On Equinox 38 looks like an interesting candidate for molding the holds, but have not tried it myself, so YMMV.
Back to how to make things!
For Oomoo 25, first glue the hold down into a box (or something with walls to support the mold). I use rubber cement to glue things down since it's an easy to use, non-destructive glue (double-sided tape here doesn't seem to work too well). Make sure your box has no holes, or else the silicone will leak out! Simply mix the Oomoo 25 parts A and B in a 1:1 ratio by volume for ~1min, taking care to scrape the sides to make sure everything is well mixed. Then pour the mixture into your box with the hold. (I typically do not worry about bubbles for casting the holds, since any bubble is just additional texture for the hold.)
Oomoo 25 has a pot life of 15 mins and a cure time of 75 mins, meaning if you mix the 2 parts together, after 15 minutes you'll find it difficult to pour and after 75 mins it'll completely set. I typically let it cure overnight (especially for the large molds) just to be safe.
For Rebound 25, this process is a bit more complicated. First, glue down the hold (with rubber cement or otherwise) onto a flat sheet of cardboard (no walls needed). Then, mix a little bit of Rebound 25 parts A & B together, 1:1 volume. In this case, it's best to err on the side of too little, because you can always mix more to paint on. Paint the mixed silicone on, and let it dry for an hour (or wait until it feels tacky but doesn't come off onto your glove). Repeat this mixing and painting process until you've made 4 or more coatings. The way I checked to make sure the mold was thick enough was by seeing how translucent it was -- the first coat is fairly translucent, but the final coat should leave everything pretty opaque. You can also add thickeners to the silicone (2nd layers and later) for holds with overhangs so that the silicone doesn't just flow away.
To demold (remove parts from) either of these molds, I typically peel off everything except the bolt hole off the hold, and then gently twist to release the bolt hole. The Oomoo 25 tears easily, so be gentle with that one, but the Rebound 25 is fairly strong and can handle a strong pull if needed.
To support the Rebound 25 when casting, place it in a container with something squishy to support the bottom -- things like sand, dry rice, dry beans, etc all work. I personally use dry macaroni to maximize my volume to price ratio. Take note that you should not eat the food afterwards if you choose to use food. For interesting geometry holds (ie more jugular holds), I've also made plaster shells with some success. The Oomoo 25 molds should not require any support when casting.
Step 3: Stuffing the LED Boards
I'll break this down into steps based on what type of LEDs you're using, since they're slightly different:
Each hold board requires:
- 2x WS2812 LEDs (comes in a 5050 package)
- 2x 150 ohm resistors (0603 package)
- 2x 0.1uF capacitors (0603 package)
- 1x 22 ohm resistor (0603 package)
- 4x 28 awg wires (I use 6ft lengths of each, different colors)
- 1x 2-56 bolt & nut
Solder the LEDs, resistors, and capacitors onto the board. I recommend you then test the board to make sure the LEDs light up, then solder the wires on. Afterwards, put the nut and bolt on. Both the wires and the end of the bolt should be sticking out the back of the board (the side of the board that the LEDs are not on).
It's extremely helpful to have different colors for the wires since they all have different purposes. I twist the wires together after soldering them on so that they can stand up straight when casting the hold.
Regular RGB LEDs
Each hold board requires:
- 2x RGB LEDs (5050 package)
- 4x 28 awg wires (I use 6ft lengths of each, different colors)
- 1x 2-56 bolt & nut
Solder the LEDs onto the board, and test if you'd like (recommended). Solder the wires on, and put the nut and bolt on. Here, the wires don't necessarily have to be different colors (though it helps), but I'd definitely recommend the power wire be a different color from the RGB wires. When you test the LEDs, be sure to have current limiting resistors hooked up or else you'll likely blow out the LED. Again, both the wires and the end of the bolt should be sticking out the back of the board (the side of the board that the LEDs are not on).
Step 4: Build a Controller Board
Once you have LED boards, the next step is to make it light up!
There are lots of ways to do this.
For the simple LED-only boards, the least complicated is to use an Arduino and drive the Red, Green, and Blue LED wires with the Arduino's digital or PWM pins.
For the WS2811 LED boards, the least complicated is to use the Adafruit NeoPixel Library to drive the hold. Each WS2811 board is composed of two independently controllable lights in a chain -- this means that you can light up the both sides of the hold different colors!
For more complicated, interesting patterns involving lots of lights and computer control, we've designed a couple of Arduino-software-compatible controller boards that communicate using DMX512 (a common lighting control standard). These boards can be found in our github repository. The bill of materials , schematics, and PCB layouts for each board are also available there. You will need an AVR programmer to program the DMX firmware onto these boards -- for example, you can use an Arduino as an AVR Programmer.
The RJ45 connector pinout follows the pseudo-standard pinout for DMX over CAT5 (http://www.pathwayconnect.com/content/view/91/26/), though you can safely not think about this if you are using a Raspberry Pi and our Raspberry Pi adapter boards.
Once you've got this assembled and programmed, you can connect it to a DMX system and watch as the magic happens!
Step 5: Casting the Hold
Ah, the fun part!
As I mentioned before, I used Smooth-Cast 325 and 326 for casting the holds. I think Smooth-Cast 325 would be harder to use for larger holds (short pot life), but would be pretty good for small holds since it's a little more opaque than 326 and thus diffuses the light a little better. The boards are designed such that the LEDs are placed right behind the washer, which is used to reflect & disperse the light from the LEDs.
So! First, put a washer on the bolt hole sticking up in the mold. Also put a board there -- this likely requires compressing the bolt hole column a little, but it should be a snug fit to prevent the board from falling down. Make sure the wires and anti-spinning bolt are sticking up out of the hold! It's also a good idea to eyeball the board to make sure it's roughly parallel with the table, and to make sure the nut clears the height of the hold.
Now that the mold is prepared, it's time to mix the two parts of Smooth-Cast 325/6. This is also a 1:1 volume mix. It's a good idea to get an estimate of how much material you'll need so that you don't waste any; I typically pour a little bit of water in to guess how many fluid ounces I'll need, and then dry off the mold. (Be careful that the mold is actually dry -- water might mess up your cast part if there's any remainder!) Remember to mix the two parts together thoroughly, and scrape the cup often while mixing. Once the two parts are basically homogeneous (no distinguishable streaks of yellow or clear), slowly pour the liquid into the mold. Be careful not to splash any plastic onto yourself, and be careful not to overfill the mold. The plastic should cover the nut that's holding the bolt on, such that it can smoothly interface with the wall. Rebound 25 molds, at this time, might need to be adjusted a little to be actually flat -- as always, be careful when doing this, and it's not 100% necessary to make your molds perfectly flat.
Once you've poured the plastic in, it's time to play the waiting game. Smooth-Cast 325 can be demolded after 10 minutes (I usually wait 30), and 326 after an hour (I usually wait 2+ hours). The material will get very very hot as it cures, so be careful. As a corollary, if the material is hot when you want to demold it, you'll want to wait until it cools down back to room temperature.
Step 6: Light It Up!
Now you have your very own light-up hold! To get it to light up, connect it to the correct controller board, program it with the correct code (all on github), and power it on! If you can't make the controller boards, Arduinos will also be able to control these lights -- try using the Adafruit NeoPixel instructions for controlling the WS2812 holds, or look up one of many Instructables on how to power RGB LEDs.
Note: Be very careful about applying the correct voltage to your lights. The WS2812s technically only take 6-7V (though I've successfully gone up to 9V), and I've blown one by applying 12V before. Similarly, RGB LEDs typically need a current-limiting resistor to prevent blowing those up as well. Do your due diligence here, and you'll be a lot happier :)
To mount the holds onto a wall, I drill a 6-hole pattern onto the wall (these holds should clear the T-nut; you can use a spare board to locate the holes with more precision) and feed the wires and anti-spinning bolt through. I then crimp the wires with a Quickie 2x2 connector (which is why different colored wires are so useful), and plug the connector onto the headers on my board.