Bill of materials

So I made an LED hula hoop. It has 96 LEDs, 105 different modes, and lasts about 3.5 hours at full brightness. It’s also the only hoop I’ve seen that displays a message using persistence of vision.

Batteries

The batteries are wired in parallel so they basically just add up the mAh capacity. If they were wired up in series, the voltage would add instead. The hoop would work with just one, but then the mass wouldn’t be evenly distributed and the hoop balance would be a little off. And it would also go dead in half an hour. They start out sending 4.2 volts, but slowly drop until it hits 3.3 volts (the actual discharge characteristics depend on the temperature). They are the same size and shape as AA batteries, but keep in mind, AA batteries are 1.5v, and these are not.

The batteries are wired up behind a Tenergy 32003 to protect them from overdraining and overcharging. When in use, the hoop will actually cut off before the voltage goes too low to prevent damage to the batteries. The circuit protects from overcharging too, but so does the charger. The 32003 didn’t want any more than 4.2 volts, so finding a wall-wart charger was a little difficult. I ended up wiring a charger directly into an extra charger for 18650s. It only charges at 600 mA, so I’m sure there’s a more appropriate charger out there.

LEDs

The LEDs operate on a daisy chained controller, and come printed on a pretty flexible strip. 5050 RGB LEDs are mounted about every 2.5 inches. The LEDs are rated at 5 volts, but will dim when given lower voltage. I was actually able to overcharge them and get them brighter, but was warned this would burn the drivers if I kept at it so I stopped. My original plan was actually to run on 7.4 volts to keep them this bright.

Arduino

At Bonnaroo 2010, I met this guy who had built his girlfriend a hoop, and was a huge help in this one. He pointed out that the Pro Mini can run off of anywhere from 3 volts to 5 volts. The difference is really just the crystal operating at 8 or 16 mHz (for stability concerns). So that made things a lot simpler.

The LED strip has two inputs for power, and two wires going to the Arduino for data and clock. The library that Adafruit provides for it lets us use any two pins on the Arduino to control it via bit-banged software SPI. However, if you happen to have pins 11 and 13 free (which we do), then you can use hardware SPI and get roughly 3-4 times the speed which makes POV at high speeds (i.e. while hooping) possible. If you edit the source of the LPD8806 library, you can change the SPI clock divider to go even faster, but you’ll have to worry about interference.

I used pins 2, 3, and 4 for pushbutton switches. 4 can be moved around, but 2 and 3 were pretty important because I send the arduino its sleep mode to save power. External interrupts pull it out and wake it up, but only pins 2 and 3 can do this.

So basically there’s an “off” button, a “mode” button, and a “color” button. The modes cycle through various modes of “Solid”, “Dragonfly”, “Strobe”, “Chasers”, “Chasers with statics”, “Rainbow”, and POV. The colors cycle through various colors, except for the chasers, where you can cycle through all the colors, and keep cycling through adding another chaser every time, up to 5. The POV mode displays the logo of Carrot Creative. Space is pretty cramped on the chip, so it’s just stored as an on/off bitmask, 32 pixels high (so each column is 1 32-bit int). The first few columns are green, so I just did that bit manually.

Assembly

Probably the most frustrating part of this project is the assembly. It’s important for everything to be snug inside of the hoop so it doesn’t rattle, and wrapping it in bubble wrap greatly helps this, but the bubble wrap grips the sides of the tube. Taping three unraveled coat hangers together, and using them to pull the strip through helped a lot. Another thing to watch out for is that the contacts need to be insulated and wrapped in electrical tape so you don’t get shorts inside the tube which are nearly impossible to find and fix without a complete disassembly.

Source Code & EAGLE Wiring Diagrams

UPDATE, 2012-09-28: Here’s how I turned an image into a bitmask for the POV

41 thoughts on “DIY LED Hula Hoop

  1. HI,

    Do you know if this project would work with an arduino pro micro? It is small enough but I am new to programming. I am using the pro micro right now to control a rgb 2801 strip and it is working but I want to use Adafruit’s digital strip.

    Reply
    • Yes, it should! The width of the board is really the biggest challenge, and the Pro Micro looks to be the same size as the Pro Mini. A Seeeduino FILM might be able to go smaller though.

      Check the datasheet on the ATmega32U4, or manually test to see if it minds being underpowered at 3.5-4.2 volts. At a certain point (for me it was like 2.5 volts) the chip becomes unstable and nothing happens. The Li-ion protection chip cuts off far before the batteries hit that level though.

      Reply
  2. I’m building one of these for my girlfriend. Do you have any pictures of the assembly? I’m most interested in how you mounted the push buttons and the plug for the charger.

    Reply
    • I didn’t have a good sturdy way of mounting the buttons on the outside. The plug for the charger can be mounted easily on the outside.

      Reply
  3. My friend and I made a hoop almost exactly like this one a while back – great minds think alike! A couple of differences, we used a single 18650 Li-ion battery, which created a large blank space but was easier to thread; also, this was back in the ever-so-long-ago days of HL1606. Ditto on assembly being the hardest part; there’s a tool called an elecrician’s snake that helps a lot, but we still had a hard time with the bubble wrap.

    Reply
  4. Hi Philihp,
    This hoop looks amazing! I really want to make this hoop for my wifes birthday. Do you have any more instructions regarding the installation of the Arduino into the hoop itself?

    Many Thanks

    Reply
  5. How much would one of these cost to make? Could I pay ya to make one for me?? Lol I’m not very mechanically inclined to do this myself. Use my email to write me back and we’ll talk up a deal :) Thanks

    Reply
  6. Do you know how to alter the code to work with the LPD6803? The libraries don’t make a whole lot of sense to me.

    Reply
    • I don’t recommend doing that just because of a lack of voltage and juice. You will need to put three of those batteries in series in order to get enough voltage, and the strips at full brightness are going to kill them in about an hour.

      You could add more batteries, but then you’re increasing the weight of the hoop. Alkaline or Lithium batteries pack much more juice per weight.

      Reply
  7. I have had some experiance with electronics and making led hula hoops before and i would really like to give this a go. Do you think it would be in the ok for an a beginner project for ardiuno or Is it to difficult.

    Also using the chip would i be able to make up my own to time sequences like 10sec Blue 25sec two different colours 50sec all white. That sort of thing?

    Sorry for all the questions but i’m just try to work out if this is the project i’m looking for.

    Reply
    • Of course! It’s pretty easy for a beginner. The hardest part is actually making the switch assembly. There’s probably a better way, but I don’t know it. Build it all out before you put it in the tube, that way you know it all works.

      Extending the timing is easy. Shortening the timing actually gets pretty tough though.

      Feel free to email me for faster responses.

      Reply
  8. Hi there,

    Love the tutorial. I’ve been gathering supplies to try one of my own. However, I need to fit it inside a hoop with inner diameter .625″ (1.58cm). I’m thinking perhaps the Seeeduino film might be able to bend inside the hoop, allowing me to squeeze it in. I thought I’d ask you first though, to see if you have any advice.

    Thanks!

    Reply
    • A seeeduino film would work, but you will probably want to get some smaller batteries at that point. The batteries are long, so even though the batteries fit within the radius, they might not fit in a bent tube. #thirddimensionproblems

      Reply
  9. Great design, really enjoyed making this and finding a new use for the arduinos. Unfortunately used too much force to pull the assembly through the hoop at the very end and damaged a section of the LED strip at the end, bummer. Now that one section is permanently illuminated, must have pinched the contacts. Oh well, gonna take a break from this and start over again in a couple week ;-) Thanks for the code and parts list, very cool!

    Reply
    • Glad to hear it!! I actually did the same thing a few times. My theory was that some static electricity from the tube burnt out the chip. You can actually just remove one segment and solder the two ends back together and it all works again.

      See if you can find some sort of lubricant that evaporates away?

      Reply
      • Well, hairspray will lubricate till it dries, but then become tacky. I was thinking dielectric grease, brakleen, or liquid graphite. Still trying to figure out what to use for a lubricant, I’m using an arduino film and trying for as small a hoop as possible, .75in ID or less. The person its for is too “advanced” to settle with a 1″ hoop, 96 leds or no, apparently. Reminds me of webdesign :-/

        Reply
        • Oh I am well aware. They can get rather picky. Make sure your tube is wide enough to fit the batteries too!

          Reply
  10. does the Arduino Pro Mini 328 come per-programed with different modes or do you have to connect it to a usb interface and dl to the chip, also do need to worry about the carrot pov, putting together the circuitry and figuring out assembly is no problem for me as long as i have a schematic just new to programming something like this so would rather not have to.

    Reply
    • No, the chip does not come pre-programmed. You can upload my code as-is and everything will work, it should be a good template to work from and modify.

      Reply
    • Sweet!! I wish I had one of these then. How is the hot glue holding up? I worried about it losing its hold after temperature changes.

      Reply
  11. Do you know if pins 2 and 3 are the same on teensy 2.0? Would they be able to pull it out of sleep mode?

    Reply
    • I have no idea, but if they have the same ATmega chip you can look at the PCB and trace it down to which pins it hits on the IC.

      Reply
    • I’m sorry, I’m not familiar with the Teensy — If you lookup datasheets on the ATmega chip inside of the Arduino, you’ll see that the pins on it trace directly to the pins on the Arduino board. That’s how I knew which pins to wire up for my hoop. You could do something similar with the chip on the Teensy.

      Reply
  12. Hi there,
    I am new to electronics, in fact the most I have done is wire plugs and such, but I am determined to make this hoop!

    I have no parts yet and want to purchase everything soon. I am starting with absolutely nothing, and even need to purchase a soldering iron etc.
    Can you please correct me if I am wrong…. What I need to do is purchase the Arduino Pro Mini 328 – 5V/16MHz, AND then also get an Arduino starter kit with UNO board so that I can connect to and program the Pro Mini…is this correct?
    I see there is also a similar product (Pro Micro – 5V https://www.sparkfun.com/products/11098) will this work exactly the same? Would that product also need me to get the UNO board, or can it communicate directly with the pc through that USB?
    Would you suggest one option over the other?
    I am wanting to make the hoop and design my own patterns to load onto the hoop…do you think there will be enough space on the chip to load say 100 patterns? What about images? Is there limits to image size or type?
    I am sorry for all these questions that must seem very basic to you, but I am very new to this and I want to make this work :)

    Thank you

    Reply
    • That chip would work. It wasn’t out when I did this project, and I’m sure having an integrated USB controller will make things simpler.

      I was limited by space on the chip, and wasn’t able to fit another bitmap. Depending on the complexity of your patterns, and how small you can get the optimized code down, you can easily fit 100 patterns up. You might want to look into adding an SD card reader to have a better interface and give yourself a few gigs of storage space for images.

      Reply
  13. Curious as to how you positioned the batteries inside the hoop. Did you put two on each side of the hoop? I ask because you were concerned with the balance of the hoop. Thanks!

    Reply
    • I tried to space them evenly around the hoop. It’s pretty easy to get nearly perfect balance with 3 or more batteries, but maddeningly hard with only 2.

      Reply
    • Yes, but make sure the Arduino fits. It’s 0.7″ wide, that’s really the limiting factor. You could use thinner batteries, just remember that if this lasts 4 hours, and you use batteries with only a quarter the mAh, you’ve literally cut your lifetime down to 1 hour.

      Reply
  14. Lovin this site but a few questions.

    1. With 4 batteries wont that make 4 blank spaces inside the hoop?

    2.Programming the hoop… I dont know ANYTHING about programming. Can you explain a little how that works and will there choices of patterns you can choose from? Will I need to get extra software?

    3. Could you use a different battery by chance? Like lets say I wanted a 3/4 hdpe or polypro.. Will the batteries still fit? Can I use maybe just one 3.7 v 2200mah

    I

    Reply
    • 1. The LED strip sits on the outside, sandwiched between the battery and the inside of the tube. You can see it pressed up, and the lighting is a bit less diffused, but in motion you can’t tell.

      2. Check http://arduino.cc/en/Tutorial/HomePage for some great tutorials. You will need the Arduino software (which is free) in order to upload your patterns onto the chip.

      3. You can use any Lipo 3.7 volt battery, one with a lower mAh capacity will just not last as long. I really can’t speak as to if it will fit, the main concerns are that the Arduino board being too wide, and the battery being able to be sandwiched between the LED strip (which is about 3/16″ thick IIRC)

      Reply
  15. Great post! Guess I’m going to give this a go for my girlfriend’s birthday. First, a few questions:

    1) What would you do differently if you were to build another?

    2) Would the same code work if I were to use this chip: https://www.sparkfun.com/products/11098

    and this joystick? http://www.parallax.com/tabid/768/ProductID/615/Default.aspx

    3) Would the hula-hoop become too heavy if you were to keep the 4 batteries together and use something of equal weight to offset/balance the hoop?

    Again, thanks for your post. It is the most technical & helpful on the web!

    Reply
    • Hi,

      1) I would find some sort of lubricant (that would evaporate) to slide in the assembly into the hoop. That was easily the most difficult part.

      2) I’m 99% sure it probably would work with the Pro Micro. I think others have tried that and it worked. The only thing that should be different is the pins used for connecting to the LED strip (I had to use specific ones for hardware clocking), and the pins used for going to sleep. The code definitely would need to be modified to work with the 5-position switch, but that’s probably a better option.

      3) The more skilled the user the lighter they want the hoop. There’s no such thing as “too heavy”, however it’s difficult to go very fast using one. It’s all a matter of taste… ask the person you’re making it for :)

      You’re welcome. I hope it (at least) gives you a good starting place!

      Reply
  16. Hi,

    So I’ve been working on a hoop based on your design for a while now and now that it’s finished I find I have a pixel in the middle of the strip that has gone bad. It seems to have lost it’s green led. Is there a way to just disable a single pixel in the code? I’m afraid i don’t have time to pull it all apart and would probably break something else.

    P.S. For lubricant, I found mineral oil to work well and it is non- conductive. Also it is a lot easier to pull through the tubing when the tube is uncoiled as much as possible.

    Reply
  17. Hi, I’ve been making and selling led hoops for a few years now and as a Hooper have decided I wanted to make myself an affordable “smart” hoop. I am going to school for software development and have some programming skills so your tutorial is xactly what I needed. Couple tips, for your buttons, try to find surface mount buttons, drill small screw holes and push them against the tubing with a screwdriver and screw them on.

    Also, you can easily use hot glue to protect your connections wrapped with clear electrical tape and it holds up REALLY well. We make all of our hoops with hot glue and even secure many of the components by drilling a tiny hole in the tubing and back filling with hot glue. You can wet your finger and smooth the glue over the hole once filled and it is nearly invisible.

    We use 3 nimh aa batteries from tenergy in all of our hoops however this would require at least 4 for sufficient power/battery life but i doubt it will fit behind the light strip so I am considering using 6 or 8 AAA wired with 2 sets of 3 or 4 in series and those sets in parallel. Might be heavier but nimh is MUCH safer and more reliable/longer overall life. I’ll have to play around with it a bit.

    Hope this helps.

    Reply
    • Oh, also, we used to use bubble wrap but migrated to clear cellophane which you can find rolls of at dollar tree or anywhere that sells wrapping paper. You just roll it around your entire project (skipping the batteries due to space constraint) about 3 layers thick and it provides a nice cushion while not dimming/distorting the light output like bubblewrap can sometimes do.

      Another thing, small drill bits and a rivet gun can be your best friend. Find some the depth you want for your tubing wall and button/circuit board and punch a rivet through a small drilled hole. It really secures the components and prevents them from rattling or shaking around and possibly breaking against the inside of the tubing. You can fins white rivets online fairly cheap and they sit flush with the tubing and look very professional. We use them to secure switches and connectors to the hoop walls.

      Reply

Leave a reply

required

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>