Check line 54

// LED indexes into the neopixel powerstick chain for the cyclotron. Each stick has 8 neopixels for a total of
// 16 with an index starting at 0. These offsets are because my powercell window only shows 13 leds. If you can show more
// change the offset index and powercell count to get more or less lit.
const int powercellLedCount = 14; // total number of led's in the animation
const int powercellIndexOffset = 1; // first led offset into the led chain for the animation

My pack I had to set offsets to turn off the first and last leds as they didn't fit in the space.
The most likely situation is that the arduino is not communicating with the sx-1509. Make sure you have the 3v out from the arduino wired up properly to it. The full code with bar graph does a check to make sure the sx-1509 is communicating properly before continuing on. It's on line 169 of the code
Code: Select all
    // Call io.begin(<address>) to initialize the SX1509. If it
  // successfully communicates, it'll return 1.
  if (!io.begin(SX1509_ADDRESS)) {
    while (1) ; // If we fail to communicate, loop forever for now but it would be nice to warn the user somehow
That is where I would start looking
Nearly there now thank you for your help. Can o just ask you a simple thing that I can't seem to figure out but I'm sure it's so obvious.
How did you fix the neopixel jewel to the wand end with the acrylic tube? Was going to go pop and twist but I can't see how this would work with the size of the jewel.
Thank you and all the best.
Hello again Count, hope you are well. i am really sorry to have to ask you another question and i have tried my best to find out myself but i just cant get my head around coding. Also i totally understand if you dont have the time to reply/answer as im sure you have better things to do than rewrite your already awesome code.

if you have time my question is :- id like to fit a single neopixel (the same type as used elsewhere on the wand) to the acrylic tube so i can use the pop and twist as the jewel is just to big to fit.
is there a very simple way of doing this?
if not as i say dont worry if not simple for my noob brain i just wont fit the pop mech.
thank you so much for reading this.

The wand jewel is controlled separately from the other wand lights. You can see it defined as

#define NEO_NOSE 3 // for nose of wand
Adafruit_NeoPixel noseJewel = Adafruit_NeoPixel(7, NEO_NOSE, NEO_GRB + NEO_KHZ800);

connected to the 3rd pin on the arduino. Removing it is not a big deal. If you want to replace it with a single neopixel just change it to this

#define NEO_NOSE 3 // for nose of wand
Adafruit_NeoPixel noseJewel = Adafruit_NeoPixel(1, NEO_NOSE, NEO_GRB + NEO_KHZ800);

Then farther down in the code is where the nose animation is done. I do use all 7 of the led's in the animation so you will need to figure out how you want to animate the single led. You will want to look for the

void fireStrobe(unsigned long currentMillis) {

function and replace that code to do what you want with the led. It's all pretty well isolated to the clearFireStrobe() and fireStrobe() functions so not a lot of code to change.
Spoof27 liked this
  • 1
  • 17
  • 18
  • 19
  • 20
  • 21

Hey everybody! I wore this pack for the first time[…]

We have previously established that there ar[…]

GB Headquarters and equipment

Hi Rusty, I am working on these lockers as well fo[…]

Wow. Lots stuff showed up in the last 48 hours. Ne[…]