Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

Nerf Modulus LED NeoPixel Barrel

by martja, published

Nerf Modulus LED NeoPixel Barrel by martja Sep 14, 2017
0 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps


Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

506Views 59Downloads Found in Toys & Games


I'm sharing my current LED / Arduino / Neopixel Nerf Barrel project while it's still in process. The 3D printed barrel is quite usable as-is, and fits any modulus / stryfe barrel.

You will see the design is complete and I have prototyped it to get it working, however a couple damaged neopixels is causing me some assembly rework. I decided to publish before I loose steam.

The bill of materials beyond the 3D printed barrel is below:
1x round (18.3mm hole) rocker switch
1x arduino pro mini or equivalent (5v logic version)
1x 470ohm resistor
1x 10microF capacitor
13x 5mm X 5mm surface mount neopixels
1x 9v battery
1x 5vdc regulator

Print Settings

Printer Brand:










100% on battery door and 30% on barrel


i had good results printing the barrel sticking up from the bed (180mm z height), and printing the battery door on its exterior face.

For the battery door, the battery clasp mis-printed until I added a 6-wide brim 1-layer high.


1) Clean-up

1 - snap off the barrel support structure from the end that connects to the nerf blaster.
2 - clean up your supports from inside the battery/electronics compartment.
3 - clean up brim from the battery door

2) Assemble electronics

1 - connect the 9v battery to the 5v regulator
2 - connect the toggle switch in series with the power
3 - solder together the neopixel string at 22mm spacing (outside to outside of the 5mm square neopixels)
4 - install a 470ohm resistor on pin 6 of the arduino and attach the data-in line from your neopixels
5 - install a 10microF capacitor across the +/- leads that supply power to the neopixels. for this short run, I power them off the same power rails that provide 5v to the arduino.
6 - snap in the 5mm neopixels into the holes in the barrel.

3) program the arduino

I will share an final code that has the LED patters programed later, but this starter code will get you going. Remember to update the NUMPIXELS variable.

// NeoPixel Ring simple sketch (c) 2013 Shae Erisson
// released under the GPLv3 license to match the rest of the AdaFruit NeoPixel library

#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
  #include <avr/power.h>

// Which pin on the Arduino is connected to the NeoPixels?
// On a Trinket or Gemma we suggest changing this to 1
#define PIN            6

// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS      13

// When we setup the NeoPixel library, we tell it how many pixels, and which pin to use to send signals.
// Note that for older NeoPixel strips you might need to change the third parameter--see the strandtest
// example for more information on possible values.
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int delayval = 20; // delay for half a second
int peakval = 25; // set peak color value for fade
void setup() {

  pixels.begin(); // This initializes the NeoPixel library.

void loop() {

  // fader routine (red)
  for(int i=0;i<peakval;i++){

      pixels.setPixelColor(0, pixels.Color(i,0,0)); 
      pixels.setPixelColor(1, pixels.Color(i,0,0)); 
      pixels.setPixelColor(2, pixels.Color(i,0,0)); 
      pixels.setPixelColor(3, pixels.Color(i,0,0)); 
      pixels.setPixelColor(4, pixels.Color(i,0,0)); 
      pixels.setPixelColor(5, pixels.Color(i,0,0)); 
      pixels.setPixelColor(6, pixels.Color(i,0,0)); 
      pixels.setPixelColor(7, pixels.Color(i,0,0)); 
      pixels.setPixelColor(8, pixels.Color(i,0,0)); 
      pixels.setPixelColor(9, pixels.Color(i,0,0)); 
      pixels.setPixelColor(10, pixels.Color(i,0,0)); 
      pixels.setPixelColor(11, pixels.Color(i,0,0)); 
      pixels.setPixelColor(12, pixels.Color(i,0,0)); 

      pixels.show(); // This sends the updated pixel color to the hardware.
      delay(delayval); // Delay for a period of time (in milliseconds).


  for(int i=0;i<peakval;i++){

      pixels.setPixelColor(0, pixels.Color(peakval-i-1,0,0)); 
      pixels.setPixelColor(1, pixels.Color(peakval-i-1,0,0)); 
      pixels.setPixelColor(2, pixels.Color(peakval-i-1,0,0)); 
      pixels.setPixelColor(3, pixels.Color(peakval-i-1,0,0)); 
      pixels.setPixelColor(4, pixels.Color(peakval-i-1,0,0)); 
      pixels.setPixelColor(5, pixels.Color(peakval-i-1,0,0)); 
      pixels.setPixelColor(6, pixels.Color(peakval-i-1,0,0)); 
      pixels.setPixelColor(7, pixels.Color(peakval-i-1,0,0)); 
      pixels.setPixelColor(8, pixels.Color(peakval-i-1,0,0)); 
      pixels.setPixelColor(9, pixels.Color(peakval-i-1,0,0)); 
      pixels.setPixelColor(10, pixels.Color(peakval-i-1,0,0)); 
      pixels.setPixelColor(11, pixels.Color(peakval-i-1,0,0)); 
      pixels.setPixelColor(12, pixels.Color(peakval-i-1,0,0)); 

      pixels.show(); // This sends the updated pixel color to the hardware.
      delay(delayval); // Delay for a period of time (in milliseconds).


  delay(500); // pause dark before relooping

More from Toys & Games

view more

All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

3D Print a wide range of designs with Treatstock. Easy to use tools to get the perfect result. The global 3D printing network that connects you with high-quality and fast working print services nea...

App Info Launch App

This thing needs a video!