Introduction: Create Your Own Amazing Disco Bar!

Using MIT's controller boards used for their Disco Dance Floor, I've created a computer controlled Disco Bar using 128 RGB LED's, 250' of cable, and a built in fridge! Learn how to make your own and impress your friends!

Or if you just can't wait, watch the final video of my bar in action on YouTube:

http://youtube.com/watch?v=jkqoPkuJaMI

Step 1: Introduction

I wanted to keep this document focused on the hardware and software aspect of the bar, so I will not be talking about any of the woodwork. It is up to you to come up with your own unique idea!

I will be going over the following topics:
- What equipment I used
- Model #'s of all the parts and components I used
- How I soldered MIT's controller boards
- How to put the firmware onto the Atmega8L chip
- How I made the cables, and what connectors I used
- Installing the cables into your design.
- How to use Clint's controller software.
- How I made the animations

The first step is to buy MIT's controller boards! You can purchase them here:
http://www.dropoutdesign.com/products/ddf.html

You have three options when ordering your boards:
1. Buy an unpopulated board and purchase the components yourself.
2. Buy a kit which includes a bare board and all necessary parts.
3. Buy a premade board. Expensive, but saves you a ton of soldering.

Step 2: Equipment

These are the tools that you will need to complete this project.

Step 3: Bill of Materials

This is my bill of materials.

NOTE: Anything you DON'T see listed here is the same as MIT's bill of materials. What I have listed here are the custom parts I ordered that are specific to my design or that were not listed on MIT's bill of materials. You can see MIT's bill of materials listed in their latest documentation, which you can get below.

It goes:
Part
Model #
Where I ordered it


Red resistor pack
742C083221JCT-ND
Digikey.com

Blue resistor pack
742C083820JCT-ND
Digikey.com

Green resistor pack
742C083680JCT-ND
Digikey.com

Switch resistor pack
742C083102JCT-ND
Digikey.com

RGB LED's
RL5-RGB (common anode)
Superbrightleds.com

Headers for boards
WM4003-ND
Digikey.com

Metal crimps for cables
538-08-50-0005
Mouser.com

Housing for cables
10-11-2053
Jameco.com

SIPP connectors
102200
Jameco.com

Ribbon Cable
37760
Jameco.com

AVR Programmer
ATSTK500-ND
Digikey

Step 4: How I Soldered MIT's Controller Boards

NOTE: I am writing this documentation based on revision 1.17 of the controller boards. There is a newer 2.05 version out as of right now. The procedure is pretty much identical, but double check MIT's documentation as well if you have the newer boards. (You can get their documentation on the previous step) First off, you want to make sure you have the smallest, sharpest tip on your soldering iron. Some of the components are ridiculously small, and if you are using an old dull tip, you will have a very hard time.

1. The first items I soldered on were the resistor packs. MIT recommends doing the LED drivers first, but this is the way I did it. First, put a little solder flux on every pad where the resistors will be seated. Second, using your tweezers, place the resistor pack right onto the pads. The flux is kind of sticky, so it should hold it in place. Next, press directly down on the resistor pack so it doesn't move at all, and press the tip of your soldering iron right where the board and component meet. You only need to do this on one or two of the pins just to tack it in place. Now that it is held in place with a couple of joints, go around, and very carefully add a tiny bit of solder to each joint.


2. Next, I soldered on the LED Drivers. You basically follow the same procedure as the resistor packs. I actually found these to be easier to solder than the resistor packs. Solder flux, tack down a couple joints, put some solder on every joint. That's it!


3. Now that the resistor packs and LED drivers are on, its time for the rest of the small components. This includes the capacitors that you see as well as all the chips and resistors located at the bottom of the board. You should have the hang of it by now after doing 16 LED drivers and 64 resistor packs.

If you have not noticed yet, we are starting with all the lowest components. If you solder on all the high stuff first, it is very hard to get a soldering iron in there to solder stuff.

The next step is to solder the higher components. This includes the ISP connector, USB connector, Power connector, and diagnostic LED's. These are thru-hole components, and are very easy to solder. Just be sure you have the LED's in the correct orientation, or they will not light up.


4. Now its time for the cable headers. For my design, I went with a basic .1' male square header. You can find the model number in my BOM. Solder on all 64 of them. I found that if you tape a whole row down, then flip the board over, you can solder a whole row of 16 real quick.


5. At this point, you should be done soldering the boards. We hope! What you need to do now is put the board up to a bright light, and using a magnifying glass, look at each and every joint and pad to make sure that you have no shorts and to make sure everything is connected correctly. You can also use desoldering braid to get rid of any bridges you may have.

Step 5: Put the Firmware on the Atmega8L Chip

The Final step of the boards is to put the firmware on the Atmega8L chip. For this, I used the STK-500. You can use the less expensive AVR-ISP to do this step as well. The programmer connects to your computer through the serial port, and then you connect it to the controller board with a short cable to the ISP connector.

You will need to get AVR Studio to complete this step. You can get their latest build at: http://www.atmel.com/dyn/resources/prod_documents/aStudio4b460.exe

1. Verify you can talk to the board. Do this by clicking the READ button on the Advanced screen.

2. Check your fuse settings.

3. Set your lock bits.

4. Under Flash where it says "Input HEX file" use the firmware attached at the bottom of this step.

5. Click program and then verify to be sure it programmed properly.

Step 6: Making the Cables

I have made a mini cable that I will be using to show you how I put it all together. I bought a 20 connector ribbon cable, and then ripped it into strands of 4. If you are going to be using the sensors, you will need to rip them in strips of 5. I am not using the sensors, so I am only using 4. On one end of the cable, it has a header that plugs into the controller boards, and on the other end, it has the LED. I'll be showing you the various parts I used to create the cable. You can find the part numbers listed in my BOM.


1. Separate and strip each strand of the cable. Strip off about 0.25' of the casing. Solder on the metal pins.


2. Insert the metal pins into the housing. You should have no metal exposed when they are all the way in.


3. For the LED end, I soldered a SIPP connector to the wires. However, you can't solder them in order. The controller boards are oriented VSBGR and the LED's are VRBG. To see how to wire it, take a look at the pictures.


4. For the SIPP connectors, the pin side is what is soldered to the cable. The other side has holes where you can "plug in" the LED. Make sure the polarity of the LED is correct. I also used heat shrink tubing, because the braided ribbon cable can get a little messy, and it keeps it neat.


All of my cables range between 3' and 1' depending on how far away they are from the controller boards. My initial decision was to just use the same length for every cable, but I scratched that idea because I had SO MUCH extra cable. It's better to measure the length for each cable.


5. Then, the final step is to indicate which side is +5V so it's easy to connect to the controller boards. I colored the +5 side with a blue permanent marker.

Step 7: Installing the Cables Into Your Design

You could be making any number of designs, whether it be a bar, floor, on a wall, etc... But now is the time to install the cables into your design!

For my design, I mounted the boards on the inside sidewall of the cabinet. I then ran cable underneath the top through a hole in each cell, and over to the controller boards. I would have liked to run the cables in-between the cells, but I did not have enough room to do that. Here are some various pictures of how I ran the cable, what the LED's look like inside the cells, and how I connected the power supply to the controller boards:

NOTE: Before you get carried away and install all the cables, you need to mark where the cable is with regard to your setup. With 128 cables, it gets very hard to figure out which cable is which. If you look at one of the pictures below, you'll notice numbers written on every cable. This helped me when it came time to plug the cables into the controller boards. I knew exactly where every cable should go.

Step 8: Connect the Controller Boards to Your Computer

The first thing you do is power up the boards, and plug them into your computer with a USB cable. Your computer should find a new device and ask you for drivers. You need to install the VCP (Virtual COM Port) drivers from http://www.ftdichip.com/Drivers/VCP.htm If everything is working correctly at this point, you should see something similar in your device manager.

NOTE: I have 2 boards connected, which is why I have two entries. If you have 8 boards for example, you should have 8 entries after you go through all the driver setup stuff. Keep track of the COM ports for the next step!!

Step 9: Using Clint's Controller Software

Now that the boards are connected to your computer, the next step is to download the controller software. I will be showing you Clint Rutkas' Controller Software designed for Windows. You can download his software at:

http://www.betterthaneveryone.com

I will be showing you version 0.0.4.0

The only configuring you have to do is with your config file.

Change the animation directory to wherever you stored the animations. At this point, you should download MIT's animations if you haven't done so already

get them here: http://web.mit.edu/storborg/ddf/sw/disco-anim.tar.gz

Then, change the TilesPerRow, and RowsPerModule to work with your setup. With my setup, I have two boards with 8x8 layouts, which when laid side by side give me my final layout of 16x8. This can change depending on how you want to set it up. For example, MIT's setup is a 16x4 layout with 8 of them side by side giving them a final layout of 32x16.

The last step is to enter in the ComPorts. I have an entry for each of my boards. You remembered which COM ports, right? If you have 8 boards, you will need to enter in all 8. The tricky part is putting them in the correct order. If you do not put them in the correct order, the animations will not show up correctly.

NOTE: If you want to just play around with the program and not actually send animations to your design, you can change DisableComPortWrite to true so that it does not write to the boards.

There's also a picture of what the Mock Floor looks like. It shows you what is playing on your design in real time.

Step 10: Make Your Own Animations!

To make your own animations, you will need MATLAB. I know they sell a $100 version somewhere. Otherwise, go pay a poor college student to let you use an engineering computer lab at a college campus. They for sure have it installed :-)

To create your own animation, basically what you do is create a 4-D array in MATLAB with (row, column, color, frame) Then you start coding your design with whatever you want. The next step is to use MIT's conversion file to convert the 4-d array into a file that is readable by the controller boards.

You can see a screenshot of me executing the backandforth animation, and then converting it into backandforth.ddf, which is the final animation file.

All the numbers listed are it going through each frame. There are 64 frames in this animation.


NOTE: I still design my animations for a 32x16 layout so that they work with the other Dance Floor designs. Clint's program is able to resize them down to 16x8, so I am able to do this.


I've attached MIT's conversion file, my backandforth.m MATLAB file, and my final backandforth.ddf file for you to play around with.

In case you were wondering, the backandforth animation is the last one that plays in my video, which you can see in the last step!

Step 11: Conclusion

So, hopefully you've decided to build yourself an amazing Disco design! Here are some links to more pictures and movies of my bar!

High resolution pictures:
http://www.davidworden.com/thediscobar.zip

Some older pictures during the building process:
http://thediscobar.blogspot.com/2005/12/pictures.html

My final video on YouTube:
http://youtube.com/watch?v=jkqoPkuJaMI

My final video on Google Video:
http://video.google.com/videoplay?docid=1186173102912721570

My Disco Bar blog:
http://thediscobar.blogspot.com

Comments

author
cyber7 (author)2012-03-26

Too bad the dropout design company does not exist, else I would have jumped on the bandwaggon :(

author
rowenatrue (author)2008-06-12

This is incredible!!I love it I need disco dancefloor made for a video Im working on in the UK. It needs to be miniature 3/4 of the size of this bar. Anyone know anyone capable? I tried contacting the MIT guys at dropout design but no response. Ideas?

author
gps (author)2008-02-10

It looks amazing, that is why I ordered the components to make a floor myself, I am waiting for to components (and on a e-mail from Dropout Design, if they still supply unpopulated boards)and in the meantime I downloaded Clint's controller software, but I can't find a executable file. How do I start the program?

author
wolfsingleton (author)2007-12-31

I can just picture how badass this would look with an ice flue on top for shots! Otherwise I can only offer some ideas for practicality: if you use this alot, why not include a bottle carousel (holds bottles inverted and dispenses shots) on each corner and a condiment tray/caddy on the side? Also, you could include a single/double home tap for a mini-keg - that would be awesome!

author
led235 (author)2007-11-18

I think that this should be sold in a kit , because I would but it!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

author
Project_Nightmare (author)2007-01-05

You forgot tetrus in your disco animations:( Great project though: 10/10

author
led235 (author)2006-12-04

very impressive!!! :)

author
skeegan (author)2006-11-16

great work... does anybody know any links with some suitable DIY bar designs?

author
crapflinger (author)2006-10-25

you need to add one of these http://www.barmonkey.net/ to make it as awesome as it could be...nothing like disorienting flashing lights and automatic drink mixing...

author
CrazyNick (author)2006-10-04

Damn, I wish I wasn't so electrical / engineerical inexperienced (I think I may have just made up a word).... I have a bar almost identical to yours (minus the unbelievable light show) that I would love to convert into this. Now (honestly) can someone with little experience in this create one of these? And did the 900 - 1000 include the bar or just the electrical equipment? Thanks for your GREAT post!

author
stevyn (author)2006-09-27

I'm in the process of designing one of these for myself. I was amazed at the video and now I want one of my own. The only thing though, do you have any problems with power? The resistors for the LEDs are pretty low valued and have you run into situations where the components heat up or your power supply can't deliever the needed current? The datasheets for the MAX7313 say to only sink about 50mA on each port, but with a 68 ohm resistor you're up to about 80 mA. Has this been a problem or am I just mistaken on how this operates?

author
xonazon (author)2006-08-25

do you think this same design would work if i were to make an entire floor out of it? and how about if i wanted this floor to be interactive...do you think it could be done?

author
stickytrickey (author)2006-07-06

Superb! and real fun to watch ;-)

author
Junkyard John (author)2006-05-16

This is kinda stupid: make the matrix tilted, so that spilled drink could flow into a container and a conductivity censor on the container, so that a message could be displayed to scold the spiller.

author

Sounds interesting, but I would rather try to prevent spills. I can see someone spilling their drink on purpose just to see what happens...

author
radiorental (author)thediscobar2006-05-16

if the table top was titled all the drinks would spill

author
thediscobar (author)radiorental2006-05-16

good point

author
ebs16 (author)2006-05-16

what were the costs involved in this? not including tools. thanks!

author
thediscobar (author)ebs162006-05-16

I'd say close to $900-$1000 with all the extra parts and accessories and stuff.

author
alceste (author)2006-05-16

Awesome. I actually have the board and the parts, am making a coffee table! What are the dimensions of the "tiles"?

author
thediscobar (author)alceste2006-05-16

each cell is 3"x3"x3" with a 16x8 cell layout, that gives me a total surface area of 2'x4' The same size as a piece of Plexiglas :-)

author
thediscobar (author)2006-05-16

Any other suggestions for Disco Bar v2? I would love to hear them!

author
trebuchet03 (author)2006-05-15

"Otherwise, go pay a poor college student to let you use an engineering computer lab at a college campus. " Hahaha.... I would have never thought that I could get payment to let someone use matlab (or painfully try on their own if they have no experience....) Very cool (still)... I saw your blog posted on hackaday awhile back - even if someone else did a floor... it does not take away the coolness factor (besides, a disco floor is far from a novel idea :P). If I were to ever do a bar (or any type of table), I think I would add light around the edge... It seems easy enough to animate that properly with the way it is setup....

author
thediscobar (author)trebuchet032006-05-15

Its funny you mention that. I'm currently making a little circuit with UV LED's that will be located underneath the overhang and will shine down. It will be like those knightrider lights, so they'll fade back and forth around the overhang.

author
radiorental (author)thediscobar2006-05-15

maybe you could rig in a barman/cocktail recipe to light up specific bottles and the table top could be a gauge for the amount to mix??

author
thediscobar (author)radiorental2006-05-15

Thats a very creative idea. I'm picturing it looking kind of like a bar graph where each cell represents a shot, so if an ingredient needs 3 shots, 3 cells would be lit up in front of the bottle so you know how much to pour.

I'm hoping for Disco Bar v2, I'll impliment something similar to the BarMonkey.net where you can select a drink, and it pours it for you. Your idea would be a great way to show people what's in each drink.

author
radiorental (author)thediscobar2006-05-15

exactly, you could have a preset number of drinks programed in. Predefined selaction of drinks and places for them. Either a slider on the side or a series of buttons for your party goers to select and make their own drinks

The bottle lights up from below, a corresponding bar graph lights up in front of the bottle to indicate how much... although there's a little too much resolution on the table, I guess it could be a 3 or 4 shot=level bar graph.

I like the idea of selecting and mixing your own drinks over the thought of some alcohol thats been sitting in a pvc tube for however long. You students have some pretty low standards (o;

It certainly would be a topic of conversation. Wonder what other applications you could apply this to?

author
radiorental (author)radiorental2006-05-15

"Predefined selaction of drinks and places for them. " that is, the table knows vodka is on 1, rum on 2 etc. Maybe each mix could have its own theme. A mix with tequila could set off some mexcian music and the mexican flag appears on the table. Can I get half the royalites on this? (o;

author
thediscobar (author)radiorental2006-05-16

I think you're right with the "sitting in a pvc tube for however long" comment. Unless I'm an alcoholic or have people over to my apartment all the time, the alcohol will probably be sitting in there for a while between uses.

author
radiorental (author)2006-05-15

way too much time on your hands, I remember way back when MIT sutdents could only squeeze 4 days off to go kitesurfing before their phd presentation. This must have taken you a couple of weeks... ohhh MIT.. what ever happened? but hands down the coolest instructable I've seen yet. I think we have a camera winner!

author
thediscobar (author)radiorental2006-05-15

Thanks for the comment! The funny thing is I don't even own a digital camera, so I would love to have one. I actually had to borrow my girlfriends camera to take all the pictures for this. lol. The whole thing probably took me around 6-7 months to build during the school year. I figured if 3 dozen MIT students can build their dance floor in a week, I can do it by myself in a half a year :-)

author
Junkyard John (author)2006-05-15

I wonder if you could add buttons so people could actually play that game on your movie.

author

I definetely could. MIT's controller boards also support a sensor for each cell, so in a future design, I could impliment any type of sensor to make it more interactive. Maybe for Disco Bar v2, I'll make an interactive Tetris game or something.

author
Junkyard John (author)2006-05-15

sweet LEDS!!!

About This Instructable

35,500views

65favorites

License:

Bio: Attending college in Wisconsin majoring in Electrical Engineering.
More by thediscobar:Create your own amazing Disco Bar!
Add instructable to: