ATTINY85 LED strip + push button

Hello everyone, I am trying to assemble an ATTINY85 with a Led strip and an on/off push button switch.

I managed to use the Arduino Uno as a programmer using the blink test to confirm.

Uploading my sketch (which I did with LED strip and other components in place) seemed to work, but there was no reaction from the LED strip. I now removed the arduino uno and added a 3V coin cell battery, but still nothing.

I am using this set up: How to wire Mini Pushbutton Switch, RGB LED Strip - Addressable to ATTiny85 IC

I will include my code, as well as pictures of my current set up below.

Let me know if you have any tipps, thank you in advance!

#include <Button.h>

    #include <FastLED.h>
    #define NUM_LEDS 9
    #define DATA_PIN PB0
    #define LED_PIN PB0
    #define BRIGHTNESS  64
    #define LED_TYPE    WS2812B
    #define COLOR_ORDER GRB 

        CRGB leds[NUM_LEDS];  

        int inPin =  PB1;         // the number of the input pin
int outPin = PB2;       // the number of the output pin

int state = HIGH;      // the current state of the output pin
int reading;           // the current reading from the input pin
int previous = LOW;    // the previous reading from the input pin

// the follow variables are long's because the time, measured in miliseconds,
// will quickly become a bigger number than can be stored in an int.
long time = 0;         // the last time the output pin was toggled
long debounce = 200;   // the debounce time, increase if the output flickers

   void setup() { 
       FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);

        delay( 3000 ); // power-up safety delay
  FastLED.addLeds<LED_TYPE, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS).setCorrection( TypicalLEDStrip );
  FastLED.setBrightness(  BRIGHTNESS );

      pinMode(inPin, INPUT);
  pinMode(outPin, OUTPUT);


       void loop() { 

  reading = digitalRead(inPin);

  // if the input just went from LOW and HIGH and we've waited long enough
  // to ignore any noise on the circuit, toggle the output pin and remember
  // the time
  if (reading == HIGH && previous == LOW && millis() - time > debounce) {
    if (state == HIGH)
      state = LOW;
      state = HIGH;

    time = millis();    

  digitalWrite(outPin, state);

  previous = reading;

        leds[0] = CRGB::Green;; 

        leds[1] = CRGB::Green;; 

        leds[2] = CRGB::Green;; 
        leds[3] = CRGB::Green;; 

        leds[4] = CRGB::Green;; 

        leds[5] = CRGB::Green;; 

        leds[6] = CRGB::Green;; 

        leds[7] = CRGB::Green;; 

        leds[8] = CRGB::Green;; 

  for (int i = 0; i < 9; i++) {
    leds[i] = CRGB::Green;;
    leds[i] = CRGB::Black;



  int wait=random(10,30);
  int dim=random(4,6);
  int max_cycles=8;
  int cycles=random(1,max_cycles+1);

  rainbowCycle(wait, cycles, dim);

void rainbowCycle(int wait, int cycles, int dim) {

  //loop several times with same configurations and same delay
  for(int cycle=0; cycle < cycles; cycle++){

    byte dir=random(0,2);
    int k=255;

    //loop through all colors in the wheel
    for (int j=0; j < 256; j++,k--) { 

      if(k<0) {

      //Set RGB color of each LED
      for(int i=0; i<NUM_LEDS; i++) {

        CRGB ledColor = wheel(((i * 256 / NUM_LEDS) + (dir==0?j:k)) % 256,dim);        



CRGB wheel(int WheelPos, int dim) {
  CRGB color;
  if (85 > WheelPos) {
   color.g=WheelPos * 3/dim;
   color.b=(255 - WheelPos * 3)/dim;;
  else if (170 > WheelPos) {
   color.r=WheelPos * 3/dim;
   color.g=(255 - WheelPos * 3)/dim;
  else {
   color.r=(255 - WheelPos * 3)/dim;
   color.b=WheelPos * 3/dim;
  return color;




I now had the circuit be the exact same as on, and tried with a 6V battery pack. Still nothing.

Then i also tried connecting to the GND and 5V of the arduino uno. 1 out of the 9 LED went on (bright instead of green), and button did not seem to have any effect.

Please help, really don't know what I am doing wrong.


    #define NUM_LEDS 9

#define DATA_PIN PB0
    #define LED_PIN PB0
    #define BRIGHTNESS  64
    #define LED_TYPE    WS2812B
    #define COLOR_ORDER GRB


int inPin =  PB1;        // the number of the input pin
int outPin = PB2;      // the number of the output pin

Arduino functions take Arduino pin numbers. The macros like PB0, etc. are for use when you're doing direct port manipulation. You can't use them with functions that take Arduino pin numbers. The hardware package you're using to add ATtiny85 support to the Arduino IDE should have documentation for what the Arduino pin mapping is. If you'll tell me which hardware package you're using (e.g., ATTinyCore, damellis/attiny), then I can point out where you'll find this documentation.