Go Down

Topic: Arduino Pro Mini Glowstaff (Read 4393 times) previous topic - next topic


Jan 16, 2009, 04:14 pm Last Edit: Jan 17, 2009, 11:11 am by akgraphics Reason: 1
Hello all!

I'm very happy to post my very first completed Arduino project. I've never blogged online a DIY project before, so please let me know if I'm missing any info, or if there are some details you'd like posted online.

Project here:


I've made two of these, essentially battery powered RGB-LED light bars, that are used as large batons to twirl around the body and dance with. I usually use batons with fire, but these are for indoors use and in clubs. Please click on the link for more info.

Details of note:

- Uses Arduino Pro Mini

- Modified PWM speed to 32kHz

- Uses magnetic reed switches

- 20mm wide, 1m-long PCB!

- 60 RGB LEDs per baton

- Uses Bodhilabs 1.2V > 3.3V boost battery pack

- Colour sequences can be programmed in from any image file: workflow as follows:
  - Design colour sequence in photoshop/image editing software, save as .gif
  - Processing program scans through top row of pixels of image, exporting RGB colour data of each pixel. Each pixel's colour can last a specifiable amount of time, e.g. 5ms. Data output as text file.
  - Text in file can be pasted as a function into Arduino code
  - Glowstaff now steps through pixel colour data from photoshop. Voila!

- Patterns can be manually programmed by used functions:
  - solidColour(red_value,green_value,blue_value,duration);
  - colourFade(red1,green1,blue1,red2,green2,blue2,fadeDuration);

- Interrupts used to monitor user input from reed switch.

A MASSIVE thankyou to everyone on these forums - you've been so helpful, supporting and kind in answering my questions and supporting my design. Yay I'm so happy! Let me know what you think!  :D

EDIT: OK one photo: (click on link above for more, and build details!)



Are you sure it doesn't need fire?  :)


This is a really nicely executed project.  We'd like to see your motherboard closer, of course.

You have all the circuitry at one end?  I was expecting from the intro youtube that the circuitry would be at the center (a darth maul saber, if you will).  Do you have a counterweight at the other end?

You mention an accelerometer planned for version two.  If you light the next version in batches or near-individual addressing, you could use fiery colors at the ends, and varying dark or non-fiery colors near the center, depending on accelerometer values.  You could even make the "top" end burn hot while the "bottom" end gutters a bit, when not spinning.  Just so you know, the ADXL330 types (Wii Nunchuck accelerometer) would be cheap and easy to use here.


Very nice, I'm sure I'd drop in within seconds! ;)


What an excellent project.

Just think where this idea could be taken - a group of people all in formation and all spinning those things in time, and if there was some sort of RF link built-in they could all flash the same effects at the same time... what a light show that would be in a darkened hall.

Superb stuff, and I look forward to reading your latest developments on this neat project. Well done.


I'd LOVE to make each LED individually addressable, but my major limitation is the fact that to cover a 1.2m tube evenly, I need to address at least 60 RGB LEDs - 180 LEDS!

Hmm ... if I addressed 'clumps' of 2 LEDs at a time ... 90 addressable locations needed. 3 LEDs at a time ... 60 addressable locations needed. 4 LEDs at a time ... 45 locations needed. I guess that's doable, but I would presumably require driver chips, similar to what everyone is using to drive their LED matrices. And that's a problem when my PCB is only 20mm wide!!

I will try to obtain a nunchuck accelerometer - the possibilities are enormous :) Do I literally just buy a wii nunchuck and nab the chip out of it, or can I buy them separately?

Another possibility I wanted to explore is having a microphone and beat detection - if you're performing in a club, having the colours react to sound would be amazing! I tried to breadboard this, but I just can't get a transistor amplifier to work. The trouble is that I'm working with such low voltages (just 2 AA batteries ... 2.4V with NiMH).


Jan 17, 2009, 06:01 pm Last Edit: Jan 17, 2009, 06:03 pm by halley Reason: 1
You should look for the user macegr here.  He has worked with narrow PCBs for LED bars, and I saw a couple nice designs.

The tiny black bit in the middle of the tiny green board is the accelerometer.  You can buy the accelerometer ON the green breakout boards from Seeedstudio and SparkFun.  It's hard to scavenge individual SMD parts from an actual Nunchuck.  If you're on the mini, you could fashion a jumper so it doesn't get crowded in the staff tube.  You need three analog inputs and two lines for power.


Jan 18, 2009, 12:50 am Last Edit: Jan 18, 2009, 12:51 am by macegr Reason: 1
You should look for the user macegr here.  He has worked with narrow PCBs for LED bars, and I saw a couple nice designs.

Yeah, I had posted them in here but later realized they weren't ideal because they face in only one direction, so I deleted the post. But I guess it would be possible to put them back to back, or use a 4 layer PCB. This is the current design (forgive the late-night silk screening):

These are 4 inches long, 1/2" LED spacing if you put the PCBs edge to edge or end to end. Still needs some work but I should have some prototypes soon.
Unique RGB LED Modules and Arduino shields: http://www.macetech.com/store


Excellent work and very effective. Do you have a basic schematic that shows how the leds are connected to the arduino? ... and, the "Colour_code_creator.pde" link on your blog site seems to be broken.

Thanks for posting.


I notice you're in Cambridge--I was just there earlier today.

You might want to make contact with the SuperHappyDevClub people--a pleasant group with whom to spend an evening hacking on stuff. :-)



Wow, those are pretty cool silkscreens macegr. Which software do you use for designing your pcb's and silkscreens ?


First off very cool staff!

You can control 180 leds from arduino with a charlieplex.

14 digital pins

For a charlieplex 14*13=182

I'll bet you could make a board an inch or two wide by 3-4 feet that would fit it all too.


aballen, there are 20 pins you can use as digital three-states, so you can get up to 20*(20-1) or 380 LEDs charlieplexed.  The challenge is routing:  you can't fit 20 traces in a 20mm wide PCB, unless maybe if you had four layers and really tiny vias.  Gotta do some things serially.  There are SMD versions of the 74HC595, aren't there?


Jan 24, 2009, 02:42 am Last Edit: Jan 24, 2009, 02:43 am by macegr Reason: 1
Charlieplexing will also drastically dim the output of that many LEDs. To regain brightness from 1/10th multiplexing you have to run 10 times the the normal current while refreshing each LED. Charlieplexing would be more like 1/hundreds multiplexing, very dim, and most LEDs are only rated to peak at 10 times the normal current in multiplexing applications. You would need some interesting external hardware to Charlieplex hundreds of LEDs at high current, given the necessary tristate logic. And fitting all the necessary traces in a 1" wide PCB would be a challenge, as halley mentions.

No, I think some form of shift register is the right path here. The STP16DP05 and STP24DP05 are some other interesting chips, basically 16 and 24 output shift registers with current sink regulators for LEDs, up to 80mA each. They don't do PWM, but for a moving device it's something to avoid anyway.
Unique RGB LED Modules and Arduino shields: http://www.macetech.com/store


Nov 26, 2010, 08:52 pm Last Edit: Nov 26, 2010, 08:57 pm by firebe42 Reason: 1
Hi! I'm also a fire performer and working on building a new glow staff very similar to the one you describe here. I just stumbled into this while doing research on imu's and rgb controllers. I am very interested in seeing any thing you are willing to share on this.  The link to the project page is broken.

Go Up