Elina is off to the very high profile LARP College of Wizardry at the end of March and there's been a lot of gathering of costume and props for it. She suggested a wand with a bare LED that lights with a push / push switch but I decided to have a go at adding some more interactivity to it.
What's ensued is a lengthy exercise in making a prop from scratch using my 3D printer and trying to do as little hand crafting as possible, apart from final finishing. This is to keep it compact and fit all the components, especially the batteries and wiring, into as small a space as I can.
It's nothing spectacular on the tech front, an Arduino Nano, GY-521 6DOF accelerometer breakout board and 21 Neopixels. On that front it's very much blinkenlights project:101.
The entire thing ended up being scaled around getting four alkaline cells in the body and being able to print this on my printer which has a build volume of 20x20x20. In principle I could have done something with a single 18650 Li-ion cell but these are very chunky and a step-up PSU to drive the Neopixels would be a pain as they're hungry beasts that need 5V. Smaller cylindrical Li-ion cells seem to be unusual and I like the idea of easily swapped disposable cells.
The obvious starting point is making the shaft the place to hold the cells but AAs are too chunky and AAA cells make for a very long thin wand so I settled on N cells. These are easily available and a good compromise on size that matches up with the space I needed for the Neopixels in the tip. This has meant the wand ended up about 35cm long in total, pretty much exactly what I wanted from it. It's still a little chunky but short of swapping to alternative lighting, maybe the 3030 rather than 5050 Neopixels this is about as small as I can get it.
The Neopixels are beautifully bright, so much so that the translucent 'natural' PLA I used to print the tip doesn't really manage to diffuse them very well but as it's going to do very occasional effects I'm not worried about this.
I've used the accelerometer to do very basic gesture detection. Once the wand is awake, holding it level and twisting it changes the colours. Raise it up and you get a flame-like flickering up the tip, swipe it down and the effect rushes forwards and fades out. Leave it pointing down and it goes to sleep.
For finishing I hacked at the printed article with a Dremel, sandpaper and knife then covered it with some coloured varnish. The result is pretty wood-like from a distance.
She's off to the event soon, let's see how well it is received. I've done a very basic demo video of the working code, but given it's easy to reprogram and I'm barely using the features of the gyro I reckon there's scope to improve on this significantly.