This instructable is on how to modify a motorcycle helmet ( or any helmet for that matter ) with a neopixel ring using a Lilypad Arduino and a sound sensor.

DISCLAIMER: This modification could violate safety laws in your area. If you live in an area where a helmet it required, do not drill into your helmet. If you live in a "no helmet" area, then it is up to you. This is purely for looks.

You will need a helmet with a removable shell. You will need a neopixel ring (adafruit) and some sort of arduino board and a sound sensor. If you get a Lilypad Main board you will need a power distribution board. The battery plugs into this board and powers the rest of the components.

You will also need these supplies:
Wire, solid is easiest to solder with.
Wire strippers.
Soldering Iron and solder.
Hot glue gun.
Clear 2 part epoxy.
1/8th inch drill bit.

Step 1: Programming

I got the bulk of my code from this package here.  http://zeroeth.github.io/oculus_aethereum/

This has a great starting block for neopixel programming.

Use the wire diagram to see how all the boards talk to eachother.

I added a segment of code to control the light pattern by the sound sensor. I mapped the sound sensor value down from 1-1024 to 1-255.

I am setting my value to go through the light patterns while I am at idle, and to stop when I am riding down the road.

Keep in mind that this was adapted from a goggle project so the names might be somewhat confusing, but the code works well.

Here is the rest of my code.

#include "Adafruit_NeoPixel.h"
#include "segment_models.h"
#include "segment_views.h"
#include "themes.h"
int sensorValue = A0;
int mappedValue;
// Initialize

#define PIN 6
#define LED_COUNT 16

#define  LEFT_EYE_START 0
#define RIGHT_EYE_START 16
#define LEDS_PER_EYE 16

#define THEME_SWITCH_DELAY 5000 // Milliseconds

Adafruit_NeoPixel led_strip = Adafruit_NeoPixel (LED_COUNT, PIN, NEO_GRB + NEO_KHZ800);

// Create containers for sections of your LED strands/circles.

StripView   left_eye = StripView (led_strip,  LEFT_EYE_START, LEDS_PER_EYE);
StripView  right_eye = StripView (led_strip, RIGHT_EYE_START, LEDS_PER_EYE);

StripView  both_eyes = StripView (led_strip,  LEFT_EYE_START, LEDS_PER_EYE * 2);

void setup ()
  pinMode (A0, INPUT);
  // Aways give your project a safe boot delay so you can re-upload code when:
  //   - it uses too much current when your LEDs are too bright
  //   - the serial doesn't respond because of some timing issue


  led_strip.begin ();

// Main Loop

void loop() {
// strip.setPixelColor();
sensorValue = analogRead(A0);
Serial.print("sensorValue     :");

  mappedValue = map(sensorValue, 0, 1023, 0, 255);

Serial.print("                             map to 0 - 255     :");

if (mappedValue < 30 && mappedValue >=1)

// Switch themes every {x} seconds
  Theme::switch_every (THEME_SWITCH_DELAY);

   left_eye.clear ();

  // Update the spots
   left_eye.update ();

  // Draw the spots.
   left_eye.draw ();

  led_strip.show ();
  if (mappedValue <255 && mappedValue >=31)
  left_eye.clear ();



Step 2: Layout the Hardware

Remove the shell from the styrofoam insert.

Layout where you would like the hardware to go.

Draw an outline around the board.

Label the ports of each board to show orientation of the board.

Step 3: Remove Material

Remove the styrofoam so the hardware will not interfere with the shell of the helmet.

I used my soldering iron to melt the material away. It worked very well.  You could also use a drill, dremel or plain old exacto knife. Just get the material out of the way.

Step 4: Route Wires

Determine the paths that the wires need to take. Refer to wiring diagram to determine where the wires need to be routed.

Cut the wires to proper length. ( leave a cm or so extra just for safe measures )

Strip each end and solder wires to correct port.

Once you have all the wires the correct length and soldered to the correct port hot glue all the hardware and wires down securely.

Step 5: Drill

Drill the holes for the sound sensor and the LEDs.

It is important to measure precisely. I did not get the holes above the LEDs perfectly but you still get a good effect.

Use a 1/8th inch drill bit. An larger and you risk all the holes cracking into eachother. Any smaller and not enough light is seen.

Step 6: Fill Drill Holes With Epoxy

Tape the inside of the holes off.

Fill each hole with clear epoxy. This will provide waterproofing and diffuse the light nicely.

I used JB Welds ClearWeld quick setting epoxy. It is the clearest epoxy I have found yet.

Step 7: Go Ride!

Now go show all your buddies your awesome new helmet and have them gawk in awe!
<p>Wow Someone doesn't understand motorcycle safety at all. 100% fail . That hellmet will crack open like a egg shell when you get hit . Then add in you ve taken away the foam that stop the impacked protection and you ve got brain damage . Don't do this at all </p>
Did you even read th whole thing?
why not mould an atttachment for the outside saving safety nice idea though
You can easily reach speeds at which you can do significant damage when rollerblading and skateboarding. Pretty but I'm with those concerned about compromising the integrity of a protective device. Much better as a stick on unit.
<p>Since many are concerned about this helmet's safety, perhaps it would be better used as a rollerblade or skateboarding helmet. You wouldn't be going nearly as fast when/if you fell. </p>
Other than having a ring of LEDs on your lid does this accomplish anything? Looks neat, but I'm a fan of keeping my brain in its current home.
One could argue increased visibility is safer but this is mainly just for looks. I personally dont believe this will significantly reduce the helmets safety standards. Its not the hard shell that protects your brain. And unusually dont wear a helmet so anything would be better than nothing.
<p>The hard shell is an integral part of the helmet too</p>
<p>Bike helmets have a plastic film over the main styrofoam part of the helmet. The styrofoam is going to provide the bulk of the protection. </p>
<p>This is true. That plastic film is basically there to contribute to aerodynamics and make it look pretty. </p><p>However, not all helmets have this thin plastic film. Many of them, like yours, have a hard shell, that is actually part of the helmet's safety rating. </p>
The plastic shell serves to spread the force if impact across a larger area, thereby reducing the peak impact force felt at the brain. Compromising the shell of a helmet turns it into an ornament.
Lik I said before, I live in a no helmet state. Not worried about it.
<p>Just a note to anyone in the UK... messing with your lid like this will get you pulled at every turn... for good reason. Would you wear a suit instead of leathers because it might &quot;look better&quot;. Ride safe.</p>
<p>I agree. here in Canada you can't modify your helmet either. this really does look cool but gotta be safe.</p>
A better solution would be to set the ring in a low profile housing that attaches to the helmet with double sided tape
I did consider that. I live in a &quot;no helmet&quot; state so I was not too concerned about that. Thanks for viewing.
<p>Good for displaying. No more useful as protection.</p>
I would be concerned about the structural integrity and energy dispersion properties of the helmet now. I looks good but I wouldn't wear it as it is no longer safe.
<p>Agreed ! somethings are better left or modified keeping in mind its primary use.</p>

About This Instructable




More by DarrenLee55:Neopixel Ring Motorcycle Helmet 
Add instructable to: