Support for WS2812 LED strips

I might not be the first to ask, but are you planning to support WS2812 LED strips?
Those are becoming more and more standard and are very appealing (best price/quality afaik)
Could it run on the Raspberry Pi?
If there are no plans for this, do you think it is feasible?

First congratulations for the hard work in helping us all.
Recently bought a LED strip WS2812B and am having difficulty connecting it oh my Raspberry even after reading all the post from the topic.
I would if it were not asking too much to make available at least one picture or diagram of how to make the connections and additional components in Raspberry.
Thank you all.

I'm getting the "Unable to create device ws2812b" error on Openelec 5.0. Was the switch turned off again in the latest build?

@osadiq
I have the same issue on Kodi 14 (Raspbmc).

I'm guessing you guys have tried to compile it by yourself as well? With the needed flags and then posted?
I would suggest trying that

@osadiq Maybe it was turned off again. I recompiled the binaries so hopefully the WS2812 driver is included again.

@poljvd Works perfectly now, thank you!

@poljvd @zarboz At the when i was ready with the compile, @poljvd recomplied the binaries, so it's working for me too now. Thx!

I've been using WS2812 LEDs on GPIO18 on a Raspberry Pi Model B (Raspbmc) for quite some time. I just upgraded to a RPi2 a couple of days ago and can't get my LEDs to work at all either in OSMC or OpenELEC.
I'm not sure if this could be related to the distribution or the new model of Pi. Can anyone offer any suggestions? the LEDs do not light up at all either through Kodi usage or hyperion-remote and there are no errors reported from hyperiond.
Also: thanks for the fantastic work!

Hi to all , first sorry for my english
I try to explain my problem, I have a ws2811 led Strip, a Raspberry and Arduino. I can configure boblight in Raspbmc with any problems. I'm trying to put hyperion and I find it impossible. I put the correct file for my arduino 50 leds, I configured the file .json tried to follow the wiki hyperion but can not get my leds are lit with hyperion. I think the problem I have when installing hyperion launched the CMAKE but I'm really not sure.
Why I want to try hyperion? boblight because I have a delay relative to the image of the big TV, if you could help me I would appreciate it.
a greeting

@Zappatron See if there's a document explaining the changes between RasPi versions 1 and 2. It's probably just a pin they changed but I don't know for sure.

@Zappatron It seams to me that the RPi2 changed the memory layout (see http://www.raspberrypi.org/forums/viewtopic.php?f=44&t=98684). I will try to get it running on my new RPi2, then maybe I will try to get it running on the Odroid-C1 too (but that will be harder and probably totally different)
Does anybody know where you can get the data sheets for the RPi2?

@626Pilot The pins are the same as the B+ as far as I can tell.
@kammerjaeger Hmm, that certainly seems to make sense. Do you know if different memory addresses are used for 256MB and 512MB models?

@kammerjaeger I've recompiled hyperion with updated memory addresses in ./libsrc/leddevice/LedDeviceWS2812b.cpp but it still doesn't work, so there must be something else in addition.

I got it working again, !!!but!!! I had some other changes in the code and forgot to separate them. With them I have some tearing of the leds when I switch the colors fast with the android app.
I did not check where the error is (the other changes or the RPi2) and it is at the moment only working on the RPi2, not on the RPi. If anybody is extremely eager to try it out: https://github.com/kammerjaeger/hyperion/tree/RPi2-WS2812b
Otherwise I will clean it up tomorrow so that it can be integrated into the release if I can fix the problems.

Yeah I the pastebin changes I linked in my previous post make it work fine, as far as I can tell its as good as before.
I got again Unable to create device ws2812b
Openelec 5.01 fresh install
Install script is running succesfully... deps for openelec are installed.
imx6 binaries are also in place.
On raspbmc I installed pilight, but this is not possible on openelec.
(Is pilight needed on raspbmc?)

@Zappatron interesting that it works for you, I now tried it with the current code but it did not work only with your changes. I had to change some of the DMA addresses too, in hind site they were probably wrong on the RPi1 too, but that I have to check later.
@Tester0815 The code for the ws2812b is only tested on the RPi and will probably not work on the hummingboard since the hardware is probably not the same. I did not look into the hardware of it but since we access the hardware directly it should not work.

Gamadril made a fork
https://github.com/Gamadril/hyperion/tree/master/deploy
Binaries are also comitted in main source...
deploy\hyperion_imx6.tar.gz

Pretty sure hummingboard doesn't have a dma interface pin open to us. Ive been using a teensy 3.1 as my intermediary for my hummingboard if you get DMA working let me know

@kammerjaeger That's odd. I definitely didn't change anything else. If you're interested in testing it, here's my compiled hyperiond binary https://drive.google.com/file/d/0B98LFxMHGsXMakZvc09EdWE2eDA/view?usp=sharing

@Zappatron what distribution are you using? When I try to start your program it says that CXXABI_1.3.8 and GLIBCXX_3.4.20 is missing. But maybe some other stuff is not working correctly in xbian so that the problem is actually somewhere else.
I have the problem that the output is not working 100% correct, when you switch between two colors (with the android app) you can sometime see: "new color - old color - new color" states of the lights. In addition to that if you use the new test program I added to the sources (not yet in the official trunk) you can see that the lights show the configuration from the last dma call, not the current. That is quite strange. If I only use your code changes and do not change the DMA read address to the 0xc0000000 (from 0x40000000) it is even slower. If you want to try it, I uploaded the code under https://github.com/kammerjaeger/hyperion/tree/RPi2Fixes

@kammerjaeger I'm using OSMC Alpha 4. Watched a movie last night and the lights were perfect throughout.

Hi all! I updated today to RPi2, I have installed Raspbian + Kodi but hyperion isn't works :( I have ws2812, this strip it's working ok with a B+ with Raspbmc installed.
I readed about the fixes, I Installed again hyperion and tried with @kammerjaeger file but all the leds still off :(
Here is my config file:
http://pastebin.com/y3kLCxYr
And the log on start seems to be ok:
pi@raspberrypi2 ~ $ sudo hyperiond /etc/hyperion.config.json
Application build time: Jan 11 2015 16:59:41
QCoreApplication initialised
Selected configuration file: /etc/hyperion.config.json
ColorTransform 'default' => [0; 59]
Device configuration:
{
"colorOrder" : "rgb",
"name" : "MyPi",
"output" : "/dev/spidev0.0",
"rate" : 250000,
"type" : "ws2812b"
}
Page map: 1 pages
WS2812b init finished
Black border threshold set to 0.01 (3)
Not creating any smoothing
Effect loaded: Knight rider
Effect loaded: Blue mood blobs
Effect loaded: Cold mood blobs
Effect loaded: Full color mood blobs
Effect loaded: Green mood blobs
Effect loaded: Red mood blobs
Effect loaded: Warm mood blobs
Effect loaded: Rainbow mood
Effect loaded: Rainbow swirl fast
Effect loaded: Rainbow swirl
Effect loaded: Snake
Effect loaded: Strobe blue
Effect loaded: Strobe Raspbmc
Effect loaded: Strobe white
Initializing Python interpreter
Hyperion created and initialised
run effect Rainbow swirl fast on channel 0
Boot sequence(Rainbow swirl fast) created and started
XBMC video checker created and started
Display opened with resolution: 1360x768
Frame grabber created and started
Json server created and started on port 19444
Proto server created and started on port 19445
XBMC Connected
Message from XBMC: {"id":666,"jsonrpc":"2.0","result":[]}
XBMC checker: switching to OFF mode
Message from XBMC: {"id":668,"jsonrpc":"2.0","result":{"System.ScreenSaverActive":true}}
Message from XBMC: {"id":670,"jsonrpc":"2.0","result":{"version":{"major":14,"minor":1,"revision":"38e4046","tag":"stable"}}}
effect finished
Any help?
Regards

@juanpintom did you compile it from  Zapptron or my repository? The official builds do not support the RPi2 yet. (And you do not need "output" : "/dev/spidev0.0" and "rate" : 250000 but it does not hurt)
@Zappatron I could not test it with OSMC yet. It is not that it is not working at all it is just delayed by a few ms and sometime you get wrong colors. They are discussing it at the moment in the offical RPi forum: http://www.raspberrypi.org/forums/viewtopic.php?f=72&t=98904

@juanpintom Mine works on OSMC Alpha 4 (for me at least) but is untested on all other distributions.
@kammerjaeger I'm still confused as to why mine works for me & not for you. I would say it's that the OSMC kernel is different but my understanding is that at present it's just the standard raspbian kernel.

Hi @kammerjaeger I not tried to compile, just installed via install-hyperion.sh. Last night I tried to follow the steps How-to-compile.txt, but my eyes and brain was falling sleep after 22 awake xD Tonight I will try compile, any help on this?, Im an old men with a young linux knowledge... xD
I tried to copy the bin directly to hyperion folder too, but show "CXXABI_1.3.8 and GLIBCXX_3.4.20 is missing" error.
I'll edit my config file and delete output and rate tonight and I will try to compile the rpi2fixes branch, is it?
Ty so much, Regards

Hi again, I compiled using this branch:
https://github.com/kammerjaeger/hyperion/tree/RPi2Fixes
Following the steps on:
https://github.com/kammerjaeger/hyperion/blob/RPi2Fixes/CompileHowto.txt
But using the other files instead of the git clone.
I copied the bin files to /opt/hyperion/bin and started hyperion, but don't work :(
This is the files, All overwrited:
-rwxr-xr-x 1 root root   422933 Feb 12 00:20 dispmanx2png
-rwxr-xr-x 1 root root     9914 Feb 12 00:19 gpio2spi
-rwxr-xr-x 1 root root 14653288 Feb 12 00:19 hyperiond
-rwxr-xr-x 1 root root  1573982 Feb 12 00:19 hyperion-remote
-rwxr-xr-x 1 root root  8081627 Feb 12 00:19 hyperion-v4l2
I get on start this:
Application build time: Feb 12 2015 00:18:55
QCoreApplication initialised
Selected configuration file: /etc/hyperion.config.json
ColorTransform 'default' => [0; 59]
Device configuration:
{
"colorOrder" : "rgb",
"name" : "MyPi",
"output" : "/dev/spidev0.0",
"rate" : 250000,
"type" : "ws2812b"
}
Unable to create device ws2812b
Black border threshold set to 0.01 (3)
Not creating any smoothing
Effect loaded: Knight rider
Effect loaded: Blue mood blobs
Effect loaded: Cold mood blobs
Effect loaded: Full color mood blobs
Effect loaded: Green mood blobs
Effect loaded: Red mood blobs
Effect loaded: Warm mood blobs
Effect loaded: Rainbow mood
Effect loaded: Rainbow swirl fast
Effect loaded: Rainbow swirl
Effect loaded: Snake
Effect loaded: Strobe blue
Effect loaded: Strobe Raspbmc
Effect loaded: Strobe white
Initializing Python interpreter
And the process didn't start.
Ty for your help again. I want Hyperion working on Raspbian + Kodi!
Sorry if I missed something, just tell me.
Regards

@juanpintom In the hyperiond output it says "Unable to create device ws2812b". That indicates support hasn't been compiled in.
You need to compile with
cmake -DENABLE_WS2812BPWM=ON

@juanpintom as said you have to add the compile switch, I added it to the instructions for other people
@Zappatron I tested your version (the compiled file you that you did upload) and it has the problem too. I tried it with OSMC Alpha 4. Did you try it with the Android app or only with xbmc/kordi? The problem is a cache coherency problem and is probably not visible while you watch a film. Could you test it with the app or if you did that already, did you do any changes to OSMC that could have changed it?

@kammerjaeger and @Zappatron I compiled again with the "sudo cmake -DENABLE_WS2812BPWM=ON .." and copied the bin files again. Im not in home and I cannot confirm that it's working ok, I started hyperion and my wife tell me that the rainbow is showed but doesn't move, I tried to send   hyperion-remote --priority 50 --color red --duration 5000  and changes to red but dont back to black, I need a "hyperion-remote --priority 50 --color black --duration 5000" to power of the led strip.
When I come back to home I do more tests and let you know.
Regards

@kammerjaeger I've played animations and such with the android app but I haven't paid much attention to the colour changes on the wheel. Is that where it has problems?

Ok I tried and do the rainbow but doesn't goes to black and when I play a video on kodi the R-PI get stuck and I need to do a power reset.

You can see the problem quite good when you use the color wheel and switch between two colors rapidly.

Hi guys, i have a problem with ws2812 led strip and hyperion. My Pi is running Raspbmc (newest Kodi), i've installed hyperion with ws2812 support and created config with HyperCon_ssh. My strip have 150 leds. Pi and strip are powered from industrial 5V 10A power supply. When system is starting, the startup effect (such as rainbow swirl, snake etc.) is working fine, but after startup random leds are glowing with random colors and i can't control the strip anymore with hyperion-remote. I've tried to disable hyperion at startup and then run ws2812-RPi but only four first leds are working, they are changing colors but is seems random too.
I've tried to use level shifter on data line but it didn't help at all. I've tried to power led strip from separate 3,3V power supply but nothings changed.
Please help cause i'm stuck on it :/

Try this basic, minimum setup:
LED ring power to 3.3V (not 5V)
100 ohm resistor on the data line (try 220 ohm or similar if that doesn't work)
16 volt, 1000uF capacitor across power (3.3V) and ground
Run ws2812-RPi as root - what happens?

I don't have 100 or 220ohm resistors, i've tried with 330 and 560ohm - no change. On power i have two 470uF 10V.
When i run ws2812-RPi i have only four leds working, you can see it on this short movie: http://1drv.ms/1CpKHDe

I have 25 LEDs in stripe, I use it with sketch below
But I want to reduce cone count from 25 to 9 and save ability to light up all leds.
Here is a sample what I want to get.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 =>

1 2 | 3 4 5 | 6 7 | 8 9 10 11 | 12 13 14 | 15 16 17 18 | 19 20 | 21 22 23 | 24 25
 1  |   2   |  3  |     4     |    5     |      6      |   7   |    8     |    9

I didn't have any experience writing any C code but understand a little code blocks in sketch below
What is the easy way to do this
OK. We have array of leds.
CRGB leds[NUM_LEDS];

We have a cycle that read data and fill array with it
for (uint8_t i = 0; i < NUM_LEDS; i++) {
    byte r, g, b;
    while(!Serial.available());
    r = Serial.read();
    while(!Serial.available());
    g = Serial.read();
    while(!Serial.available());
    b = Serial.read();
    leds[i].r = r;
    leds[i].g = g;
    leds[i].b = b;
  }

So we configure host application for less led zones and we should change number of less in code, but we should keep same array size to light up all leds.
OK define less leds
// Define the number of LEDs
#define NUM_LEDS 9 // was 25

Keep same array size
CRGB leds[NUM_LEDS+16]; // or maybe just hardcode it with CRGB leds[25];?

But now we have less data and should fill array with it by double-tripple it
for (uint8_t i = 0; i < NUM_LEDS; i++) { //OK we have less cycles here
    byte r, g, b;
    while(!Serial.available());
    r = Serial.read();
    while(!Serial.available());
    g = Serial.read();
    while(!Serial.available());
    b = Serial.read();
// But here we start to fill array with data, how can I fill it with duplicate data?
// Use if sequence for each zone and < >= conditions
// or just use if and repeat filling with hardcoded values
// like leds[1].r = r;leds[2].r = r;leds[3].r = r; ?
    leds[i].r = r;
    leds[i].g = g;
    leds[i].b = b;
  }

Thanks for advice!
//////////
//
// Arduino interface for the use of ws2812 operated LEDs
// Uses Adalight protocol and is compatible with Boblight, Prismatik etc
// "Magic Word" for synchronisation is 'Ada' followed by LED High, Low and Checksum
//
#include <FastLED.h>

///// User definitions /////

// Define the number of LEDs
#define NUM_LEDS 25

// Define SPI Pin
#define PIN 6

// Baudrate, higher rate allows faster refresh rate and more LEDs (defined in /etc/boblight.conf)
#define serialRate 115200

// Adalight sends a "Magic Word" (defined in /etc/boblight.conf) before sending the pixel data
uint8_t prefix[] = {'A', 'd', 'a'}, hi, lo, chk, i;

// initialise LED-array
CRGB leds[NUM_LEDS];

void setup()
{

  FastLED.addLeds<WS2812, PIN, GRB>(leds, NUM_LEDS);

  // initial RGB flash
  LEDS.showColor(CRGB(255, 0, 0));
  delay(500);
  LEDS.showColor(CRGB(0, 255, 0));
  delay(500);
  LEDS.showColor(CRGB(0, 0, 255));
  delay(500);
  LEDS.showColor(CRGB(0, 0, 0));

  Serial.begin(serialRate);
  Serial.print("Ada\n"); // Send "Magic Word" string to host

}

void loop() {
  // wait for first byte of Magic Word
  for(i = 0; i < sizeof prefix; ++i) {
    waitLoop: while (!Serial.available()) ;;
    // Check next byte in Magic Word
    if(prefix[i] == Serial.read()) continue;
    // otherwise, start over
    i = 0;
    goto waitLoop;
  }

  // Hi, Lo, Checksum

  while (!Serial.available()) ;;
  hi=Serial.read();
  while (!Serial.available()) ;;
  lo=Serial.read();
  while (!Serial.available()) ;;
  chk=Serial.read();

  // if checksum does not match go back to wait
  if (chk != (hi ^ lo ^ 0x55))
  {
    i=0;
    goto waitLoop;
  }

  memset(leds, 0, NUM_LEDS * sizeof(struct CRGB));
  // read the transmission data and set LED values
  for (uint8_t i = 0; i < NUM_LEDS; i++) {
    byte r, g, b;
    while(!Serial.available());
    r = Serial.read();
    while(!Serial.available());
    g = Serial.read();
    while(!Serial.available());
    b = Serial.read();
    leds[i].r = r;
    leds[i].g = g;
    leds[i].b = b;
  }
  // shows new values
 FastLED.show();
}

@Slaw82
My issues were wrong cabling and wrong voltage.
My working config with 120 LEDs is:
LED Strip Data <->  rpi pin 12 (GPIO 18)
LED Strip GND <->  rpi pin 6 (GND)  <-> power supply 1 GND <-> power supply 2 GND
LED Strip  + <-> power supply  4,89 V
at LED 60 I cut the + line and
at the end of strip I connected a second power supply with 4,89 V
I am using 2 A power supplys, because the last LEDs were flickering...
Afterwards I put a small 330 ohm resister between Data line and rpi, because of reading it here.
But I think the source of flickering was the right voltage...
Remember these LEDs are controlled by microchips and
just don't work right if the voltage is wrong.
What I have done:
created a hyperion config with java

Hello again, I have a ws2811 strip of LEDs, is it possible to operate it raspbmc without arduino? If so could someone please help me with this, excuse but I see that you have the ws2812 you do not know if I should do exactly the same as you.
r3 my disposal an arduino and currently worked with boblight but has much delay, I would like to make it work with Hyperion.
Thank you very much for your time, I do not know how many hours I have spent in attempting to operate this with hyperion and have not succeeded.

A short google search:
The ws2812 is the name of Leds with the ws2811 controller build inside.
(I am not an LED expert, but I would test it.)

Thank you ..... 😒

???? ws2812 = ws2811 with in LED integrated IC.
-> ws2811 LED with separated IC.
Imho same type of operation.
Please go to wiki -> Hardware -> click on WS2812b link or read my above comment about wiring and voltage..

@kammerjaeger You're right, I thought I had tested using the Android app but clearly not. It doesn't work correctly for me either. Weird that it's perfect with Kodi playback.
I don't know enough about the BCM2836 to guess what the problem might be.

Tester no hope people me all the information I've been trying to look different forums to operate hyperion but have not had success, I feel bad that you think that I have invested time, the language issue has been a problem for me not domino much English and I've been using as I could google translator, please try again help and I hope someday I can also help someone when needed. Do not attempt to take advantage of anyone and give me all done really have not sat well your words but hey, between my pesimo little English and I have explained perhaps it normal that I have tried without knowing me.
Thanks again.

@Zappatron That is bad news (or good), as far as I understand it is a cache issue so when you play a video the L2 cache in the CPU (that is the one that probably makes the problems) is cleared often enough to make it work. As soon as there is a statement / solution from the company / somebody I will try to fix it.
@darknixt: Here a picture the connection, the rest is in the wiki, see: https://github.com/tvdzwan/hyperion/wiki/WS2812b-PWM

@tvdzwan could you add the picture to the wiki? I somehow can not push to the wiki git, editing the text works. Do I have to do something special?

@kammerjaeger Ah that makes perfect sense! Shame there's no easy way to just force the cpu to purge the data to main memory.

kammerjaeger thanks for your time and patience, I started to get something more than what he had achieved with hyperion.
I've installed hyperion as says the wiki
-I driver compiled with gcc -o ws2812 ws2812-RPi.c-RPI
At this point I have a little problem, we perform the test with sudo ./ws2812-RPi and it begins to turn the LEDs but only up to half screen say that until the LED 25
font-problem is not because he wore a 10A
-I put the resistor at the output of pin 12
I'm excited because I've made progress with hyperion and that after the time spent I love.
Thanks for helping me follow

Thank you for all to all ,its works fine
Thanks

@kammerjaeger Is the makeUncachedMemView function in https://github.com/Wallacoloo/Raspberry-Pi-DMA-Example/blob/master/dma-gpio.c of any relevance?

@kammerjaeger I fixed it in my branch! Terrible coding but it works, see my previous comment plus my recent commit.

@Zappatron I already changed that in my tests on the weekend, (you forgot to remove the old offset in line 733) that makes it better but does not remove it completely. Sorry :-)

@kammerjaeger It's literally perfect for me now with the android app!

@Zappatron If you have time, could you test my version, it is more or less the same what you have, I just cleaned the code up. I it works for you it is probably good enough for a first version and I will add code to detect the RPi model. Then it could be integrated into the main code. The remaining problem can then be fixed later.

@kammerjaeger compiling now

@kammerjaeger unfortunately your version doesn't work correctly. Colour changes are delayed by approx. 1 second and the rainbow animation is all wrong. My version is spot on.

strange, I will look into it, both versions should be the same.

Yeah, I've linked to a binary compiled for OSMC in my previous post to save time if you wanna test.

I did test it under OSMC and it did not work for me.

Now I am thoroughly confused!

Now we are on the same page :-D
I added a test program to the test folder in my fork in the branch RPi2Fixes (which is the one that should work, the branch RPi2-WS2812b is not working). If you like you can copy it to your version, and compile and test it there. Just to check :-). It puts the leds in different colors and waits for enter so that you can count the leds if they are in the right color. For me the led colors are most of the times one behind the ones the test say they should have. I will try more stuff tomorrow.

In my case, test_ws2812b only causes the LEDs to flash what seems to be the right amount in the right colour, but then they go off again before I press enter
For comparison with the video I posted last night, here's the same rainbow animation playing with your RPi2Fixes branch https://drive.google.com/file/d/0B98LFxMHGsXMQjdXbklycUlUQjQ/view?usp=sharing

Ok i managed to get it working, but only on Raspbian. On Raspbmc it works only when i won't let Kodi to start. When i run Kodi from hand led strip freaks out and i loose control of it. It looks like something in Kodi is using GPIO18 or something. Do you have some ideas how to bite this?

I'm really interested in using ~3 meters of these http://www.adafruit.com/products/1506 with the RPi2.  I'm going to go ahead and order seeing as you guys seem close to getting it working.  I'll help test once I get things hooked up.

@Slaw82 If you run hyperion in the foreground and watch stdout what does it say when you start Kodi?
@twagler I have WS2812Bs running perfectly with my RPi2. It seems not to be the case for everyone yet but I'm sure it'll get there.

How can i do such thing? I'm a hardware guy and i am not too familiar with Linux :/

@Zappatron
I've got Hyperion now successfully working with my RPI2 and OpenElec using your hyperiond binary!
Thanks a lot!
@Slaw82
what I did:
assuming you have openelec running on a rpi2:
install hyperion with this manual: https://github.com/tvdzwan/hyperion/wiki/Installation-on-RPi-with-OpenELEC
create a suitable config and change the following lines:
change "device" to:
"device" :
{
"name"       : "MyPi",
"type"       : "ws2812b",
"output"     : "/dev/spidev0.0",
"rate"       : 250000,
"colorOrder" : "rgb"
},
and at framegrabber you might want to change the frequency_Hz to 60.0 as 10.0 is a bit slow (the rpi2 can take it)
upload your config to the location mentioned in the manual.
then just do the step "killall hyperiod"
download Zappatrons binary from https://drive.google.com/file/d/0B98LFxMHGsXMWWUyWEppd0xqLXM/view?usp=sharing
unzip it and use WinSCP (or equivalent) to overwrite it in /storage/hyperion/bin
then do the next line in the config to start hyperion again.
/storage/hyperion/bin/hyperiond.sh /storage/.config/hyperion.config.json </dev/null >/dev/null 2>&1 &
test with:
/storage/hyperion/bin/hyperion-remote.sh  --effect "Rainbow swirl fast" --duration 30000
as for the hardware:
https://github.com/tvdzwan/hyperion/wiki/Ws2812b
BUT make sure you connect the yellow line to pin 12 (GPIO#18) of the rpi2
AND also make sure that the GND of the ws2812b is connected to the GND of the rpi2 (pin 6)
Cheers!

@Slaw82 ssh to the pi and then
sudo stop hyperiond
sudo /opt/hyperion/bin/hyperiond /etc/hyperion.config.json

Then do whatever you do that normally breaks it and watch what hyperion outputs on the console and paste it here (if it's long, put it on pastebin)
@DohmenICT Glad it's working for you!

@Zappatron (et al) Hey, I saw that some people got ws2812b leds working with a RPI2 and Hyperion using your fork. I'm a software developer with 0 electronic knowledge and I'm looking to make that setup work too!
Do you think going with 60-leds-per-meter neopixels and a RPI2 is a good choice at this point, or would I be better off with ws2801 leds and a RPI model B+?
What about using an arduino (or Teensy?) as a middle step, connecting it via usb to the RPI and treating it as an adalight-type device in the Hyperion config? I've seen that some people went with that route, but so far it's so hard to arrive to conclusions and compare pros and cons of each approach. I wouldn't mind the extra cost / space at all, I'm just not sure if that even works, as people in this thread have had widely different experiences.
I've also done some research in the wiki, google and forums, but there doesn't seem to be any definitive answers, so I'm really not sure what to buy.
If anyone could summarize what works / doesn't work and perhaps even point to resources, suggestions or recommendations so a beginner can tackle implementing a project like this, it would be amazing :-)

root@osmc:~# /opt/hyperion/bin/hyperiond /etc/hyperion.config.json
Application build time: Jan 11 2015 16:59:41
QCoreApplication initialised
Selected configuration file: /etc/hyperion.config.json
ColorTransform 'default' => [0; 49]
Device configuration:
{
"colorOrder" : "rgb",
"name" : "MyPi",
"type" : "ws2812b"
}
Page map: 1 pages
WS2812b init finished
Black border threshold set to 0.01 (3)
Not creating any smoothing
Effect loaded: Knight rider
Effect loaded: Blue mood blobs
Effect loaded: Cold mood blobs
Effect loaded: Full color mood blobs
Effect loaded: Green mood blobs
Effect loaded: Red mood blobs
Effect loaded: Warm mood blobs
Effect loaded: Rainbow mood
Effect loaded: Rainbow swirl fast
Effect loaded: Rainbow swirl
Effect loaded: Snake
Effect loaded: Strobe blue
Effect loaded: Strobe Raspbmc
Effect loaded: Strobe white
Initializing Python interpreter
Hyperion created and initialised
run effect Rainbow swirl fast on channel 0
Boot sequence(Rainbow swirl fast) created and started
XBMC video checker created and started
Display opened with resolution: 720x480
Frame grabber created and started
Json server created and started on port 19444
Proto server created and started on port 19445
XBMC Connection error (0)
effect finished
XBMC Connection error (0)
BORDER SWITCH REQUIRED!!
CURRENT BORDER TYPE: unknown=0 hor.size=0 vert.size=0
XBMC Connected
Message from XBMC: {"id":666,"jsonrpc":"2.0","result":[]}
XBMC checker: switching to OFF mode
Message from XBMC: {"id":668,"jsonrpc":"2.0","result":{"System.ScreenSaverActive":false}}
Message from XBMC: {"id":670,"jsonrpc":"2.0","result":{"version":{"major":14,"minor":1,"revision":"Unknown","tag":"stable"}}}
And after this there's no further messages at all. When i stop kodi service leds still don't work, they are working only after fresh system start without kodi running. When i start kodi system rpi is forgetting how to drive them :/ I think that some other process or option is activated with kodi startup which blocks communication via PWM, but i don't know how to find it :/

@ehq I'd go with the RPi2 with WS2812B setup personally. You shouldn't have many issues getting it working just follow @DohmenICT's instructions or one of the many guides available.
@Slaw82 please also paste your config file to http://pastebin.com/ and link it here

http://pastebin.com/vAFCVJQP
It's not a problem with Hyperion but with Kodi. When i run Kodi and disable Hyperion, the ws2812-RPi stop to work either and it has nothing in common with Hyperion.

@Slaw82 Can you explain in more detail what you mean? Your last post doesn't make sense to me.

ws2812-RPi is a stand-alone led driver, it has been implemented in Hyperion to drive leds based on ws2812. You can run this file without having Hyperion even installed and they will flash. I can run it and leds are working, but when i start Kodi with "initctl start kodi" and then run ws2812-RPi file leds are not working correctly.

@Slaw82 Forget ws2812-rpi. When you run hyperion with kodi stopped does it play the startup animation? (rainbow swirl fast is what's in your config)

I posted this as a separate issue in January with no help. I'm hoping someone here can help.
I'm using openelec and I have been able to reproduce this issue on raspbmc with no solution. After leaving my Pi untouched for a few hours, the lirc/gpio remote receiver doesn't respond. I've tried it on gpio pin 23 and pin 11, with ws2812b strips on gpio 18. After using the web remote to play a video, the lirc remote starts responding normally within about 30 seconds of play time.
Disabling hyperion seems to resolve the issue. Any suggestions?

When system is fresh started without Kodi service running, start of hyperion service plays startup animation. When i start Kodi and then stop, start of hyperion plays no startup animation no more. It only flashes four first leds with random colors.

@Slaw82 What distribution are you using?

Raspbmc, i've tried also on newest OSMC Alpha 4 and behaviour is the same, when Kodi starts LEDs stop to work properly.

@Slaw82 how many LEDs and what is your power supply? Do you have an inline resistor on the data?

150 leds, industrial class power supply 5V 10A. Resistor on data line is 330 ohm but without it leds are acting the same.
Pozdrawiam
Sławomir Mitschke
-----Wiadomość oryginalna-----
Od: "Zappatron"<EMAIL_ADDRESS>Wysłano: 2015-03-08 01:57
Do: "tvdzwan/hyperion"<EMAIL_ADDRESS>DW: "Slaw82"<EMAIL_ADDRESS>Temat: Re: [hyperion] Support for WS2812 LED strips (#6)
@Slaw82 how many LEDs and what is your power supply? Do you have an inline resistor on the data?

Reply to this email directly or view it on GitHub:
https://github.com/tvdzwan/hyperion/issues/6#issuecomment-77725818

@Slaw82 Hmm, well then I really don't know what the issue might be, your setup is very similar to mine and sounds like it should work. Sorry I can't be of more use.

That's a really bad news mate, i counted on you :)

The only other thought I had since I last posted was are you using any other additional hardware? usb devices, gpio devices etc? If you are I presume you've tried removing these?

I don't use any additional hardware, only led stripe is connected to the gpio.

@Slaw82 I can pull in image from my currently running RPI2 with Hyperion.
So you can backup yours and write mine, just to check.
I can wetransfer it to you if you want.

I have RPI1!

ow.. :)

Hi Everyone.
I've spent some time on this but can't find anything that will help me with trouble shooting.
For me this does not work at all. My LED strip is full blue on and does nothing at all.
I have the system connected as follows.
Pi and LED strip are powered from the same PSU (5v 10amp)
Capacitor between Power terminals.

Resistor in data line, as close to the LED as practical.

Data line connected to IO18

I've followed the instructions for installation using Raspbian as the OS.
I don't think I need the SPI enabled and the instruction in the guide don't work for Raspbian so I following the Rasp-config steps to enable it just in case I needed it.
Hyperion is installed and responding to hyperion-remote commands.
pi@raspberrypi ~ $ hyperion-remote --priority 60 --color red --duration 5000
Connected to localhost:19444
Set color to 255 0 0
I have adjusted the config file
"device" :
{
"name"       : "MyPi",
"type"       : "ws2812b",
"colorOrder" : "rgb"
},
I've tried
Fresh install of OS (i now have two cards with a fresh install).
Different model of Pi (Model A and Model B+ tried).
I've tried running 626Pilots code as an executable (for time got mem access error, so ran as sudo) but this also has no effect on the strip.
Any help and advice appreciated.

@T-A-B if you disconnect gpio18 do the LEDs all light up when powered? I would expect them to flash white when powered but then revert to off or mostly off (though sometimes this is a little random).
Seems weird the whole strip is lighting up a specific colour.

Nope.  They power on as blue with nothing else connected.

Exactly which LEDs do you have? It sounds like an LED strip or wiring problem to me.

I believe they are WS2812B.  this is what i ordered and I've assumed this because they don't have the external IC that the WS2811 strips have and the SMD has 4 pins (I gather the ws2812 has 6).
I have checked that I am connected to the DI side of the LED and that I'm following the arrows on the strip.
I've ordered a buffer chip to step up the IO18 signal from 3.3 to 5V just in case this is the issue but won;t know further until it arrives next week.  Unfortunately the adafruit recommended model is not available here in the uk!

If it helps at all these are mine (i have the 60 LEDs/metre ones) http://www.ebay.co.uk/itm/DC-5V-30-60-144-led-m-WS2812B-WS2811dream-color-Addressable-LED-Strip-PCB-black-/221672975583?pt=LH_DefaultDomain_3&var=&hash=item339cbd2cdf

those are WS2811 strips.  You can tell as they have the 2811 IC external to the chip.  Its labelled C1 in these pictures http://www.ebay.co.uk/itm/DC-5V-30-60-144-led-m-WS2812B-WS2811dream-color-Addressable-LED-Strip-PCB-black-/221672975583?pt=LH_DefaultDomain_3&var=&hash=item339cbd2cdf

That's just a capacitor. 2811s look like this: http://www.ebay.co.uk/itm/5m-12V-WS2811-Individually-Addressable-RGB-led-pixel-strip-SMD-5050-150Leds-New-/291403197730?pt=LH_DefaultDomain_3&hash=item43d8fbed22

I don't have the capacitor then so I guess I have ws2812b?

On 18 Mar 2015, at 20:44, Zappatron<EMAIL_ADDRESS>wrote:
That's just a capacitor. 2811s look like this: http://www.ebay.co.uk/itm/5m-12V-WS2811-Individually-Addressable-RGB-led-pixel-strip-SMD-5050-150Leds-New-/291403197730?pt=LH_DefaultDomain_3&hash=item43d8fbed22
—
Reply to this email directly or view it on GitHub.

The cap is not the hint which WS28XX you have.
The manufacturer can choose if they include it.
A good stripe has a cap included to flatten AC voltages.
So ws2811 AND ws2812 and WS2812B are existent with and without cap.
Also the external IC is NOT a WS2811 stripe it is ann WS2801 LED stripe.
WS2811 has included ICs as WS2812B.
WS2812B LEDS have 4 connectors on the 5050 case...

Ok, there is a lot of info online around this that is contradictory.
I have 4 connectors on the 5050 chip one in each corner connected to the strip.

Sorry @Phil1988 is right the 2811 and 2812 are different names for the same thing, I was getting myself confused. If you have 4 pin led packages then you definitely have 2812b. I still think its a wiring/strip problem though.

WS2811 and WS2812B are not the same thing.
The internal wireing is different (WS2812B is mor robust) and the WS2812B has a reverse-polarity protection.
Your information seems like you have WS2812B LEDs @T-A-B .

That spent us some time looking into a glass ball.
And: The data signal is for the WS2811 the same like the WS2812B.
Or better: It works on both "chips" because the IC is the same. Only the Layout changed from WS2811 to WS2812B.
Just to clear all the misinformation that I read here.
If you want to be sure, go and get yourself a Arduino ProMini for about 2$ from china and test the LEDs.
This is the cheapest way to find out what the problem is.
More noobie friendly would be an UNO.
More community friendly an original Arduino.
With an arduino you can definitly isolate the source where this behavior come from because the PI cant be the reason for the problem you have.
cheers!

@Phil1988 I did not say WS2811 and WS2812B are the same. I said WS2811 and WS2812 are.

Thanks for the help everyone.  Below is the picture of the LED's I have

I have bought a Trinket and have downloaded the Arduino IDE.
Any links to get me started would be appreciated.  The Trinket can;t support the 300LED chain I have with the Adafruit library so I think to start with I'm going to cut off one or two of the LEDS and see if i can get a response from them individually.

ok thanks for the heads up on the connection issue
several days of messing around and it turns out the ocnnectoin to the first pixel is faulty
the rest are working not with the trinket.  I'll let you know how it goes with the Pi shortly.

Hmm.  Ok so everything works with the Trinket (baring the few pixels i have with dead red leds grrr).
But hyperion now does the following.  Sections of the strip do not respond correctly.  Below is what I get for set to red.

Then when the 5s elapses I get this.

Does this "random" color always appear on one significant LED or is it completely random?
The reason I am asking is that it looks to me, like the effect is correctly until one LED... So maybe an LED is broken (but I dont believe this).
Have you tested with an Arduino?
If you have one, google fastLED. This is a library to control the LEDs.
I think you might have the same issue with an arduino... Because its most likely another reason:
What power supply do you use?
If you have 300LEDs it must give at least 18A.
And you MUST connect the supply at several points. As I was testing 150LEDs I had some color changes because of voltage dropping. So I had to connect the stripe at 2 points (ar the start and the end) with the power supply.
If you calculate with this experience you will have to connect the supply at the start, at the end AND in the middle of the stripe.
Am 19. März 2015 20:20:18 MEZ, schrieb T-A-B<EMAIL_ADDRESS>
Hmm.  Ok so everything works with the Trinket (baring the few pixels i
have with dead red leds grrr).
But hyperion now does the following.  Sections of the strip do not
respond correctly.  Below is what I get for set to red.

Then when the 5s elapses I get this.

Reply to this email directly or view it on GitHub:
https://github.com/tvdzwan/hyperion/issues/6#issuecomment-83726404

You are absolutely right its a power drop issue.  Powering from both ends helped.  But the issues come back when the brightness is set too high (more than 5%).
Its really weird though because the following code works perfectly from the arduino.  Full color fades and slides max brightness. I guess the commands from the Pi are more power sensitive?
http://wp.josh.com/2014/05/13/ws2812-neopixels-are-not-so-finicky-once-you-get-to-know-them/

Can you please explain what the full color fade exactly is?
Does it fade to the single colors or also white?
The reson is: every 5050 RGB LED has an included red, blue and green LED.
If you fade threw the colors that you get: red, purple (red/blue mix), blue, azur blue (blue/green mix), green, yellow (green/red mix).
So you have at max 2 of the LEDs shining.
This means it consumpt 2 * 20mA * 300 LEDs =  12A
Better would be if your Ardunio code does also fade to white like: red, then red and blue, then red, blue and green, then fade down red, then blue...
So you have a point where all 3 included LED shining at 100% = 18A
If your arduino code (with fade to white) works completely stable, then it is an problem between the Raspberry and the LED and the best: I tell you what problem it is :-)
But first: If it is NOT working stable with fade to white, then you have to add another connection to the power supply in the mittle of the LED stripe.
If it IS working completely stable on the Arduino then you have to chek the last idea I have (and prey it is this reason then): The Raspberry has 3,3V on the GPIO. The Arduino has normally (if you dont have a DUE or a 3.3V ProMini etc...) 5V output voltages.
And guess what?
The LEDs also wants a 5V signal.
You might been asking yourself, why the heck the LEDs do work on some combinations with the Raspberry Pi.
This is because the IC of the LEDs takes everything higher then ~2.5V as a HIGH.
If you have a lot of LEDs you will have some voltage drop so there is a really small buffer between 3.3V and 2.5V.
The cheapest posibillity is to add another power supply connection to the middle of the LEDs (am I repeating this? ... ?..?.?).
Another way is to buy a level converter like this one:
http://www.aliexpress.com/item/IIC-I2C-Logic-Level-Converter-Bi-Directional-Module-5V-to-3-3V-ForArduino/1975394043.html
So go ahead and check with white fade. Then add another connection in the mittle of the LED strip to the power supply.
I am usind 94 LEDs (i dont know why you need 300LEDs bedcause 94 LEDs on my 47" TV is great) and have connected the start of the stripe, the end AND the middle.
So you have by far too less power connections.

The high/low detection is based on VDD, not some specific value. Depending on if he's powering his strips with the proper voltage, that high/ low threshold will change. The data sheet I'm looking at shows less than 30% of VDD is low, more than 70% is high. This should allow for some voltage drop assuming he doesn't get out of the VDD range of 3.5 to 5.3V. However, I've been reading several posts from people powering their strips with 3.3V. This may be fine for lighting the LEDs, but may not be so cosher for the controller IC.

Above is probably exactly why people are having issues controlling from a raspberry with a 5V LED supply. 3.3V output from the pi is less than the 0.7VDD threshold for a digital high(3.5V).

I am now confident that the issue is the 3.3v vs 5v. This is the video using a 5v control from a Trinket Arduino. http://youtu.be/FG8vcN96tek as you can see we have near perfect control of the full strip at 255 on each colour, each pair and all on.
When controlling from the Pi everything runs fine as long as the strip is very dim.
I can't source the 74AHCT125 anywhere in the UK and the 74HCT245 is too large to fit on the adafruit protoboard using. Can anyone suggest viable alternatives to the 74AHCT125?

I got mine finished today and am NOT having issues controlling the strips from the pi even when they are powered with 5V. There must be more tolerance in the thresholds than advertised.

There is more tolerance.
The datasheet is just giving the minimal values.
So 3.3V can work but dont have to.
And please never use a 5V LED stripe with a 3.3V supply.
@T-A-B: The video you gave us is for controled LEDs by an Arduino?
Why didnt you just do as I said and fade the LEDs like I said?
I'm not here spending my time for someone who dont want to follow my advices.
I already told you what you have to do and to buy.
And I already told you what the issue is and because you are willing to waste my time: I'm out.

@phil1988
Sorry Phil I did exactly as you asked. "Better would be if your Ardunio code does also fade to white like: red, then red and blue, then red, blue and green, then fade down red, then blue...
So you have a point where all 3 included LED shining at 100% = 18A"
I bought a 20A supply, powered the strips from the middle of each, then ran through fills on red, green, blue, RG, RB, GB, RGB all at 255 (max brightness).
Showing that it is solid on the arduino control at 5v.
I appreciate your help on identifying the problem as low voltage on the control.
I've tried the power increase solution and it didn't help.
I'm using 300 LEDs as the strip I bought happens to be 60/m and I have a large TV so need nearly 5m to skirt the edges.
I'm in the UK and the converter you suggested comes from China. They state Shipping :Delivery Time : 15 -29 days + Processing Time : 7 days.
I was hoping that I could avoid waiting 36 days. Hence my question about the HTC modules.

Further reading suggest I can use the 74HCT125 (dropping the A from the part number) I've order one from a local ebayer (who gauged me £3 for a 40p component) but at least I will get it fast and can let you know the results.

I'm using a RPi B+ with the WS2812B strip. I have everything working perfectly, or as well as I can determine. Openelec 5.0 and the latest version of Hyperion. Everything powered and connected correctly.
My only problem is that I cannot get it to autostart hyperion. I can run it from the command line and it starts and runs until I power down.
My autostart.sh consists of nothing but:
/storage/hyperion/bin/hyperiond.sh /storage/.config/hyperion.config.json </dev/null >/dev/null 2>&1 &
but it will not start hyperion on boot... if I SSH in and run this same command, it works just fine...
Can anyone offer up a suggestion on what I may be missing?
Thanks

@Phil1988 @twagler
Something weird is going on. I now have the kit wired as follows.

I have the HCT125 wired up to lift the IO18 to 5V.  I have three pairs of power wires
Running ~/rpi_ws281x/python/examples $ sudo python strandtest.py
With the following settings works perfectly.
LED strip configuration:
LED_COUNT      = 232      # Number of LED pixels.
LED_PIN        = 18      # GPIO pin connected to the pixels (must support PWM!).
LED_FREQ_HZ    = 800000  # LED signal frequency in hertz (usually 800khz)
LED_DMA        = 5       # DMA channel to use for generating signal (try 5)
LED_BRIGHTNESS = 255     # Set to 0 for darkest and 255 for brightest
LED_INVERT     = False   # True to invert the signal (when using NPN transistor level shift)
However when set Hyperion to display something (either a fixed colour or a full strip effect)  I get a flashing rainbow effect on the last pixels in the chain.  The number of pixels effected is directly related to the brightness of the LED settings.

I can eliminate the problem by setting the LEDs to a dimmer level but need the brightness.
Any ideas?
https://www.youtube.com/watch?v=zO7V79OH1R4

Hello guys!
After several months following this topic, I've decided to build my own ambilight following your instructions (and congratulations for all this work, it's just awesome!).
So my configuration is :

a raspberry PI 1, ver B
a set of 150 leds WS2812B
a PSU 5v 10a.

I've connected everything, included capacitor and resistor, leds and rasp are powered by the same PSU, but I can't get a single LED working.
I've tried OpenELEC, OSMC (RC and Alpha4), and even the latest raspbian, the installation runs smooth, no error message, but when I run Hyperion as a service, or directly from the file, leds won't switch on...
Leds are not dead, because they briefly flash if I connect them without DATA (just +5v and gnd). When I check voltage on data channel (connected to GPIO 18), there's around 1 or 2mV (dunno if it's relevant)
I uses HyperCon_ssh.jar to create my config file, I've tried to activate or desactivate SPI. I've tried to create a config of 150 leds, or just 30...
I know you've answered that kind of question a million times, but do you have any idea of what's going on? I'm really stuck and ran out of ideas...
Here's the config file with 50 leds...
// Automatically generated configuration file for 'Hyperion daemon'
// Generated by: HyperCon (The Hyperion deamon configuration file builder

{
	/// Device configuration contains the following fields:
	/// * 'name'       : The user friendly name of the device (only used for display purposes)
	/// * 'type'       : The type of the device or leds (known types for now are
	/// APA102, Adalight, AmbiLed, Atmo, Hyperion-USBASP-WS2801, Hyperion-USBASP-WS2812, Lightberry, Lightpack, LPD6803, LPD8806, Multi-Lightpack, P9813, Paintpack, PhilipsHUE, PiBlaster, SEDU, Test, ThinkerForge, TPM2, WS2801, WS2812b, None)
	/// * [device type specific configuration]
	/// * 'colorOrder' : The order of the color bytes ('rgb', 'rbg', 'bgr', etc.).
	"device" :
	{
		"name"       : "MyPi",
		"type"       : "ws2812b",
		"colorOrder" : "rgb"
	},

	/// Color manipulation configuration used to tune the output colors to specific surroundings.
	/// The configuration contains a list of color-transforms. Each transform contains the
	/// following fields:
	///  * 'id'   : The unique identifier of the color transformation (eg 'device_1')	///  * 'leds' : The indices (or index ranges) of the leds to which this color transform applies
	///             (eg '0-5, 9, 11, 12-17'). The indices are zero based.	///  * 'hsv' : The manipulation in the Hue-Saturation-Value color domain with the following
	///            tuning parameters:
	///            - 'saturationGain'  The gain adjustement of the saturation
	///            - 'valueGain'       The gain adjustement of the value
	///  * 'red'/'green'/'blue' : The manipulation in the Red-Green-Blue color domain with the
	///                           following tuning parameters for each channel:
	///            - 'threshold'       The minimum required input value for the channel to be on
	///                                (else zero)
	///            - 'gamma'           The gamma-curve correction factor
	///            - 'blacklevel'      The lowest possible value (when the channel is black)
	///            - 'whitelevel'      The highest possible value (when the channel is white)
	///
	/// Next to the list with color transforms there is also a smoothing option.
	///  * 'smoothing' : Smoothing of the colors in the time-domain with the following tuning
	///                  parameters:
	///            - 'type'            The type of smoothing algorithm ('linear' or 'none')
	///            - 'time_ms'         The time constant for smoothing algorithm in milliseconds
	///            - 'updateFrequency' The update frequency of the leds in Hz
	"color" :
	{
		"transform" :
		[
			{
				"id"   : "default",
				"leds" : "*",
				"hsv" :
				{
					"saturationGain" : 1.0000,
					"valueGain"      : 1.0000
				},
				"red" :
				{
					"threshold"  : 0.0000,
					"gamma"      : 1.0000,
					"blacklevel" : 0.0000,
					"whitelevel" : 1.0000
				},
				"green" :
				{
					"threshold"  : 0.0000,
					"gamma"      : 1.0000,
					"blacklevel" : 0.0000,
					"whitelevel" : 1.0000
				},
				"blue" :
				{
					"threshold"  : 0.0000,
					"gamma"      : 1.0000,
					"blacklevel" : 0.0000,
					"whitelevel" : 1.0000
				}
			}
		],
		"smoothing" :
		{
			"type"            : "none",
			"time_ms"         : 200,
			"updateFrequency" : 20.0000
		}
	},

	///  The configuration for each individual led. This contains the specification of the area
	///  averaged of an input image for each led to determine its color. Each item in the list
	///  contains the following fields:
	///  * index: The index of the led. This determines its location in the string of leds; zero
	///           being the first led.
	///  * hscan: The fractional part of the image along the horizontal used for the averaging
	///           (minimum and maximum inclusive)
	///  * vscan: The fractional part of the image along the vertical used for the averaging
	///           (minimum and maximum inclusive)
	"leds" :
	[
		{
			"index" : 0,
			"hscan" : { "minimum" : 0.0000, "maximum" : 0.0333 },
			"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
		},
		{
			"index" : 1,
			"hscan" : { "minimum" : 0.0333, "maximum" : 0.0667 },
			"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
		},
		{
			"index" : 2,
			"hscan" : { "minimum" : 0.0667, "maximum" : 0.1000 },
			"vscan" : { "minimum" : 0.0000, "maximum" : 0.0600 }
		},
	[.....]
		{
			"index" : 44,
			"hscan" : { "minimum" : 0.0000, "maximum" : 0.0400 },
			"vscan" : { "minimum" : 0.5000, "maximum" : 0.6000 }
		},
		{
			"index" : 45,
			"hscan" : { "minimum" : 0.0000, "maximum" : 0.0400 },
			"vscan" : { "minimum" : 0.4000, "maximum" : 0.5000 }
		},
		{
			"index" : 46,
			"hscan" : { "minimum" : 0.0000, "maximum" : 0.0400 },
			"vscan" : { "minimum" : 0.3000, "maximum" : 0.4000 }
		},
		{
			"index" : 47,
			"hscan" : { "minimum" : 0.0000, "maximum" : 0.0400 },
			"vscan" : { "minimum" : 0.2000, "maximum" : 0.3000 }
		},
		{
			"index" : 48,
			"hscan" : { "minimum" : 0.0000, "maximum" : 0.0400 },
			"vscan" : { "minimum" : 0.1000, "maximum" : 0.2000 }
		},
		{
			"index" : 49,
			"hscan" : { "minimum" : 0.0000, "maximum" : 0.0400 },
			"vscan" : { "minimum" : 0.0000, "maximum" : 0.1000 }
		}
	],

	/// The black border configuration, contains the following items:
	///  * enable    : true if the detector should be activated
	///  * threshold : Value below which a pixel is regarded as black (value between 0.0 and 1.0)
	"blackborderdetector" :
	{
		"enable" : false,
		"threshold" : 0.01
	},

	/// The configuration of the effect engine, contains the following items:
	///  * paths        : An array with absolute location(s) of directories with effects
	///  * bootsequence : The effect selected as 'boot sequence'
	"effects" :
	{
		"paths" :
		[
			"/opt/hyperion/effects"
		]
	},

	"bootsequence" :
	{
		"effect" : "Rainbow swirl fast",
		"duration_ms" : 3000
	},

	///  The configuration for the frame-grabber, contains the following items:
	///   * width        : The width of the grabbed frames [pixels]
	///   * height       : The height of the grabbed frames [pixels]
	///   * frequency_Hz : The frequency of the frame grab [Hz]
	"framegrabber" :
	{
		"width" : 64,
		"height" : 64,
		"frequency_Hz" : 10.0
	},

	/// The configuration of the XBMC connection used to enable and disable the frame-grabber. Contains the following fields:
	///  * xbmcAddress       : The IP address of the XBMC-host
	///  * xbmcTcpPort       : The TCP-port of the XBMC-server
	///  * grabVideo         : Flag indicating that the frame-grabber is on(true) during video playback
	///  * grabPictures      : Flag indicating that the frame-grabber is on(true) during picture show
	///  * grabAudio         : Flag indicating that the frame-grabber is on(true) during audio playback
	///  * grabMenu          : Flag indicating that the frame-grabber is on(true) in the XBMC menu
	///  * grabScreensaver   : Flag indicating that the frame-grabber is on(true) when XBMC is on screensaver
	///  * enable3DDetection : Flag indicating that the frame-grabber should switch to a 3D compatible modus if a 3D video is playing
// 	"xbmcVideoChecker" :
// 	{
// 		"xbmcAddress" : "<IP_ADDRESS>",
// 		"xbmcTcpPort" : 9090,
// 		"grabVideo" : true,
// 		"grabPictures" : true,
// 		"grabAudio" : true,
// 		"grabMenu" : false,
// 		"grabScreensaver" : true,
// 		"enable3DDetection" : true
// 	},

	/// The configuration of the Json server which enables the json remote interface
	///  * port : Port at which the json server is started
	"jsonServer" :
	{
		"port" : 19444
	},

	/// The configuration of the Proto server which enables the protobuffer remote interface
	///  * port : Port at which the protobuffer server is started
	"protoServer" :
	{
		"port" : 19445
	},

	/// The configuration of the boblight server which enables the boblight remote interface
	///  * port : Port at which the boblight server is started
// 	"boblightServer" :
// 	{
// 		"port" : 19333
// 	},

	"endOfJson" : "endOfJson"
}

Thank you!

@MonsieurChupon
Try following the guide here https://learn.adafruit.com/neopixels-on-raspberry-pi/ Including running the strandtest.py python script. This will allow you to confirm the issue is with hyperion or something else.
If it strandtest.py doesn't work it could be any of the following
-LED strip and Pi don't share a ground.  =>  Everything has to be connected to the same ground or the data signal doesn't work. You wrote this is already the case but worth checking.

1st LED control dead.  =>  try connecting to the Data in further down the strip. No solder required.  Set strand test running and just use the end of the Pin 18 connected wire to contact the Din pad for 10 seconds or so. => obviously if it works cut off the first LED and reconnect to the second.

-Bad connection on Pin18 on the Pi.  Only solution is to try another Pi. If it works you know the last one is busted. Alternatively. Fudge the python script to set the IO to high all the time then test that you get 3.3v between Pin18 and ground.  I have no idea how to fudge the script.  Someone better at coding may be able to help.
These are just some issues that i had that resulted in the same issue you have.  Good luck.
PS: for testing purposes I used an Arduino Trinket (few £) and ran this code on it. This confirmed the strip works.
http://pastebin.com/A9qQK1Rc
Borrowed from below and edited for use on the trinket.
http://wp.josh.com/2014/05/13/ws2812-neopixels-are-not-so-finicky-once-you-get-to-know-them/
PPS: You really aught to use pastebin for large code blocks so stop your posts being so long.

@T-A-B Hi, thanks for the quick answer!
I've read the guide on adafruit, and first thing I notice, the need of either a level converter or a power diode, I've never heard of that before now... I don't know if it's relevant in my case?
I've also run strandtest.py, and even the script runs fine, leds are still off...
Leds and Pi share the same ground as you mention, everything's fine here.
I've tried to connect another led to data pin (second or third one), but it's still the same issue.
The only thing I can see according to your post is a bad connection on gpio18. I've tried to change python script to always output a full white (so it should output max voltage on pin), I've still barely got 1 or 2 mA at gpio18...
If there's no other test to do, I'll search for another pi, or an arduino...  Is it a normal behavior or is there something wrong with my wiring? I've measured voltage at several points, everything seems fine, but I don't know...
Here is a photo of my pi's wiring. I use a barrel jack (with capacitor) to power everything, Pi and leds.

@MonsieurChupon
Setting full white is not the same as high. The script use pulses of high and low to set the brightness of each led and so even full white is just different pulses.
This guide will show how to set it to high.
https://learn.sparkfun.com/tutorials/raspberry-gpio/python-rpigpio-api
Once set to high check between pin 18 and ground.
The diode is NOT recommended it limits the LEDs to 3.3v and in our case we have way too many LEDs so would draw too much current through the diode.
The hct125 can solve problems if your LEDs are not getting enough voltage from pin 18 to recognise it as a high signal. Basically the LEDs only see high if it's at least 70% of their voltage so 3.3/5 is very close that sometimes it doesn't work. The hct125 lifts the pin 18 voltage to 5v. You should get something at 3.3 even if it's intermittent rainbows or glitches. I doubt this is your issue.
I'm not at my desk so can't check your image. I'll look later. But a restarting pi suggests a short to me. Can you also send pics of the solder points on the LEDs?

On 29 Mar 2015, at 17:23, MonsieurChupon<EMAIL_ADDRESS>wrote:
@T-A-B Hi, thanks for the quick answer!
I've read the guide on adafruit, and first thing I notice, the need of either a level converter or a power diode, I've never heard of that before now... I don't know if it's relevant in my case?
I've also run strandtest.py, and even the script runs fine, leds are still off...
Leds and Pi share the same ground as you mention, everything's fine here.
I've tried to connect another led to data pin (second or third one), but it's still the same issue.
The only thing I can see according to your post is a bad connection on gpio18. I've tried to change python script to always output a full white (so it should output max voltage on pin), I've still barely got 1 or 2 mA at gpio18...
If there's no other test to do, I'll search for another pi, or an arduino...  Is it a normal behavior or is there something wrong with my wiring? I've measured voltage at several points, everything seems fine, but I don't know...
Here is a photo of my pi's wiring. I use a barrel jack (with capacitor) to power everything, Pi and leds.
—
Reply to this email directly or view it on GitHub.

@T-A-B Oh I see, thanks for the explanation :) I'll try to set leds to high (if I manage to)
And here is a picture of the solder points:

The 3 wires on the right goes to the connector you see on previous pic (you can see the resistor on green wire), the 2 wires that go in the back are connected to the other end of my led strip to help powering. I tried without this connection, but nothing more.

@MonsieurChupon
You are correct you cannot use the Pi to power the LED strip.
You need to "step up" the output voltage from GPIO18 to 5V.  Easy way to do this is with the chip recommended on the Adafruit tutoria i linked before. 74AHCT125 is what they recommend.
Connect it as per the guide and you should be good to go.

The amount of variability in these strips is a little concerning. I have no issues powering the strips with 5V, no resistor, and no 3.3->5V boost while others appear to.  It may be beneficial to list some approved or tested working manufacturers of strips at what configuration. Thoughts anyone?

I am trying to get hyperion to run on a raspberry pi 2 with xbian installed. Normal installation didn't work so I tried to compile from the kammerjaeger source and it still doesn't work. When I run sudo hyperiond /etc/hyperion.config.json it replies:
Application build time: Apr 12 2015 15:21:07
QCoreApplication initialised
Selected configuration file: /etc/hyperion.config.json
ColorTransform 'default' => [0; 165]
Device configuration:
{
"colorOrder" : "rgb",
"name" : "MyPi",
"type" : "ws2812b"
}
Failed to map peripheral at 0x20007000: Operation not permitted
What am I doing wrong?

Are you using 144led/m, 60led/m strips or 30led/m?
This meat be the issue. I'm using 60 and I have rainbow effects when I have too many LEDs on fast moving effects like rainbow swirl swirl.

On 12 Apr 2015, at 15:26, Tyler Wagler<EMAIL_ADDRESS>wrote:
The amount of variability in these strips is a little concerning. I have no issues powering the strips with 5V, no resistor, and no 3.3->5V boost while others appear to. It may be beneficial to list some approved or tested working manufacturers of strips at what configuration. Thoughts anyone?
—
Reply to this email directly or view it on GitHub.

@twagler These are exactly the ones I've ordered (same seller): http://tinyurl.com/qjwx6qy
@T-A-B Thank you. Well, to be honest, I've tried to use the 3.3v power pin of the raspberry, and it worked! I won't use it for a long time (I'll buy the 74AHCT125 you recommend) as I think it will do some damage one day or another, but at least, I can see everything is working. I reduced the amount of leds from 150 to 96 in order to perfectly fit with my TV.
Another strange thing I've noticed: When I boot raspberry without HDMI plugged, the leds seems to freeze soon after the rainbow animation, if I plug HDMI and restart, it's fine. Do the framegrabber need to have HDMI plugged in order to work?
And once again, thanks for all your advices, guys, it's awesome :)

@MonsieurChupon try
sudo nano /boot/config.txt
search "#hdmi_force_hotplug=1" and delete the "#".

@Phil1988 Worked like a charm, thanks!

Well I started yesterday with my new Raspberry Pi 2 but I cant get it working for my WS2812B LEDs.
Im sure that i forgot something important but this thread is a little confusing to me with all the different hardware and software (Pi 1 B, Pi 2 B, Kodi, OpenELEC, Raspbian....).
Im using 2015-02-16-raspbian-wheezy and started with enableing SSH and SPI.
I did this via putty/SSH:
sudo apt-get update
sudo apt-get install libqtcore4 libqtgui4 libqt4-network libusb-1.0-0 ca-certificates
cd /tmp
wget -N raw.github.com/tvdzwan/hyperion/master/bin/install_hyperion.sh
chmod +x install_hyperion.sh
sudo ./install_hyperion.sh
sudo nano /boot/cmdline.txt
and deleted the "console=ttyAMA0,115200" (not sure if it is necessary since there has been a lot of changes)
sudo nano /etc/inittab
and commended "#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100"
I did a screenshot with:
hyperion-v4l2 --screenshot
and got:
pi@raspberrypi ~ $ hyperion-v4l2 --screenshot
V4L2 width=720 height=480
V4L2 pixel format=UYVY
V4L2 grabber signal threshold set to: {0,0,0}
V4L2 grabber started
V4L2 grabber stopped
Im confused as it should be 720x576 on my STK1160 grabber.
I created a config with the new HyperCon_ssh.jar using "WS2812b" as device, enabled smoothing, disabled Frame Grabber,  enabled GrabberV4L2, disabled CBMC Checker, enabled Json server and enabled Proto server. Bootsequence is 5 sec rainbow swirl fast.
I copied the hyperion.config.jsonto „/opt/hyperion/config/" and rebooted:
sudo reboot
Then I got the right resolution:
pi@raspberrypi ~ $ hyperion-v4l2 --screenshot
V4L2 width=720 height=576
V4L2 pixel format=UYVY
V4L2 grabber signal threshold set to: {0,0,0}
V4L2 grabber started
but only the resolution changed. I am still unable to capture the whole image. Like 10pixel of the top and bottom are missing (but this is just a small issue).
I have directly connected one WS2812B LED to the Raspberry Pi 2 (no additional power supply).
The wireing is from 5V to 5V and from GND to GND and the Din of the LED is connected to Pin #12 (GPIO 18) of the Rasperry Pi 2.
I did not use the "cmake -DENABLE_WS2812BPWM=ON" because Im not sure if it is needed any more and I have no idea when/how to use it.
If I:
sudo killall hyperiond
And then:
sudo hyperiond /etc/hyperion.config.json
I get:
Application build time: Mar  6 2015 20:57:44
QCoreApplication initialised
Selected configuration file: /etc/hyperion.config.json
ColorTransform 'default' => [0; 93]
Device configuration:
{
"colorOrder" : "rgb",
"name" : "MyPi",
"type" : "ws2812b"
}
Page map: 1 pages
WS2812b init finished
Black border threshold set to 0.1 (26)
Creating linear smoothing
Created linear-smoothing(interval_ms=41;settlingTime_ms=150;updateDelay=0
Effect loaded: Knight rider
Effect loaded: Blue mood blobs
Effect loaded: Cold mood blobs
Effect loaded: Full color mood blobs
Effect loaded: Green mood blobs
Effect loaded: Red mood blobs
Effect loaded: Warm mood blobs
Effect loaded: Rainbow mood
Effect loaded: Rainbow swirl fast
Effect loaded: Rainbow swirl
Effect loaded: Snake
Effect loaded: Strobe blue
Effect loaded: Strobe Raspbmc
Effect loaded: Strobe white
Initializing Python interpreter
Hyperion created and initialised
run effect Rainbow swirl fast on channel 0
Boot sequence(Rainbow swirl fast) created and started
V4L2 width=720 height=576
V4L2 pixel format=UYVY
V4L2 grabber signal threshold set to: {25,25,25}
V4L2 grabber started
V4l2 grabber created and started
Json server created and started on port 19444
Proto server created and started on port 19445
BORDER SWITCH REQUIRED!!

But also also if the grabbing got problems I should be able to light the LED up with:
pi@raspberrypi ~ $ hyperion-remote -c red
Connected to localhost:19444
Set color to 255 0 0
But it doesnt work.
The Hyperion remote via the ConfigTool->SSH doesnt light up the LED.
I also tried the "Hyperion Free" android app that gave me a "server synchonized" but the LED still is in deep sleep :)
Can anyone tell me how to get it working with the Raspberry 2 and WS2812B LEDs?
BTW: On the Raspberry PI 1 B I was able to capture the entire image of one screen.
Did anyone change something on the V4L2 grabber or is it maybe depending on the newer raspbian I am using?

Well I went another way because I have no idea how to connect the Raspberry directly to the LEDs.
Im using again my arduino to run the LEDs using "Adalight" as device and "/dev/ttyACM0".
I am wrinting on an "howto" so if anyone can tell me "howto" (:D) get the LEDs working directly from the Raspberry then please let me know.
Thanks !

Phill1988
last I heard (as of April, 2015), the RPi2 isn't working yet with hyperion and the WS2812b strips... I have it working on a B+ with openelec with no problems, but I still can't get it up on my RPi2

Thanks @cbabbman for responding!
So it looks like we need the intelligent once to make it possible :D
Well I have several stability issues. On my Raspberry Pi 1 B 512MB (R.I.P.) everythink worked great on an "2013-07-26-wheezy-raspbian".
Now the ambilight stops sometimes.
When I
sudo service hyperion status
I then get the message:
Checking hyperiond...                       Process dead but pidfile exists
Any Ideas?
Is anyone out there who made a tutorial for raspbian?
I am writing on one but as long as my setup isnts stable it doesnt make sence to publish it :D
Cheers!

Openelec 5.0.6 on rpi2 with ws2812b
It is working for me too. Did the same way as DohmenICT commented on 4 Mar
with binary from Zappatron commented on 16 Feb
@Phil1988 LED connection is well described. Please go to Wiki > Hardware and click on https://github.com/tvdzwan/hyperion/wiki/WS2812b-PWM
Since Openelec >5.0.6 is not working for me I am waiting for next release...

Hi All,
I have a raspberry pi model b with the ws2812b (150 leds) and 5v 10amp power supply.
I need some help setting this up.

Does anyone have the pic that should be at - https://github.com/tvdzwan/hyperion/wiki/WS2812b-PWM (or an alternate wiring guide specific to my parts)

Can i use the same power supply to power both the leds and the pi?

Can i use the XBMC / Kodi plugin on android (Minix neo x7) as this is where i currently have it set up.

Thank in advance

@bhavikmistry Hello,
1- The missing picture is this one : https://cloud.githubusercontent.com/assets/129956/6201128/8d039fb0-b498-11e4-9500-7b68430a2784.png
2- Yes you can. I've got these leds too, and that's how I setup the wiring:
https://cloud.githubusercontent.com/assets/11702273/6886471/3754179c-d60e-11e4-97fd-5b12e363ddc5.jpg
I've recently added a level shifter (74HCT125) between leds and GPIO18 because my ws2812b didn't work at all on 3.3v (see messages above), if it's also your case, I can post a picture of my final wiring.
3- Dunno, sorry...

4,89V 2A ----o-o-o-o-| |-o-o-o-o-o---- 4,89V 2A
GND        ----o-o-o-o-----o-o-o-o-o---- GND
My working config with 120 LEDs is:
LED Strip Data <-> rpi pin 12 (GPIO 18)
LED Strip GND <-> rpi pin 6 (GND) <-> power supply 1 GND <-> power supply 2 GND
LED Strip + <-> power supply 4,89V
4,89 V because my LEDs were flickering with a wrong voltage.
2 * 2 A power supplys because last LEDs of string were flickering.
Any source can imply raising or falling voltage due to different power needs.
E.G. rpi/rp2 needs more power to decode movies.
E.G. pictures are white and LEDs needs more power..
-> can be a cause of flickering.

@MonsieurChupon @Tester0815
Thanks guys for the info.
Will test when i get a chance and report back.

Just to update. Tested my setup and it works perfectly, even with the kodi addon on the Minix Neo.
All that's left now to to connect the level shifter so that i can use one power supply.
Thanks again guys!

@MonsieurChupon Can you please post your final wiring as i seem to have similar problem like you.

Has anyone managed to make it work in PI2 with Raspbian , Kodi and WS2812b ?? I've tried it before and after a few seconds the Pi crashed , some help to compile the new version for PI2 ? I read all the reviews and I have not seen how make it working :(

yes, read above... 12 days ago.
I won't explain anymore. I am expecting read before post.
Please don't ask.

If you read carefully my comment you can see I ask about RASPBIAN, not Openelec... I saw your comment and tried with Openelec, works but I need to make it work over RASPIAN and when I start the video the Raspberry PI crashes, and I don't know how solve this....
Thanks for your kind response ... ( irony ) , I ask when appropriate , just as you have the freedom to respond .
Regards

sorry, for my misreading.
It's common sense to describe complete process of your doings, logs and error message in a help request.
Please think, what kind of answers do you expect from such a question ?
"Yes" or "No" ?
Or do you expect a hint to correct of your installation ?
If yes, then provide more informations.
Good luck.

Hi @Tester0815, no need to apologize, if your read my post from Feb8:
https://github.com/tvdzwan/hyperion/issues/6#issuecomment-73830530
You can see the progress and problems, I recompiled hyperion with modifications suggested by Kammerjaeger and the process starts but when I play a video Pi crashes....
My two question are simple but maybe I don't explained well, sorry by my english, spanish is my native language. I want to know if I can download and install normally hyperion on Rpi2, so it's updated and works like on a Pi1 or I need to recompile and try again from the start like I maded on Feb8, and the other question was if someone got working on a PI2+Raspbian(Last)+Kodi(Last)+WS2812b.
If the answer is no I will try this days with an Arduino's option, but I prefer connect the WS2812b directly to the PI (Most easy solution for me)
Ty again for your help and patience:)

@slimboyfats Sure, I can't do that right now, but I'll try to post something tomorrow after work.

@juanpintom after some tests and compiling, my advice:
Go with OSMC.
I came to the same result as Kammerjaeger and Zappatron.

tried binary of Zappatron: Not working on rasbian, enviroment of compilation was other.
/hyperiond.zapp: /usr/lib/arm-linux-gnueabihf/libstdc++.so.6: version CXXABI_1.3.8' not found (required by ./hyperiond.zapp) ./hyperiond.zapp: /usr/lib/arm-linux-gnueabihf/libstdc++.so.6: version GLIBCXX_3.4.20' not found (required by ./hyperiond.zapp)
compiled with Kammerjaeger branches.
right one:
https://github.com/kammerjaeger/hyperion/tree/RPi2Fixes
wrong one:
https://github.com/kammerjaeger/hyperion/tree/RPi2-WS2812b
Binary have a LED delay.
compiled with Zappatrons branch
https://github.com/Zappatron/hyperion/tree/pi2_ws2812b
Binary has the same delay.
checked code for changed memory map:
correct and can be optimized to run on both rpi1/2... but I am not a coder...
e.g.:
https://github.com/raspberrypi/userland/blob/master/host_applications/linux/libs/bcm_host/bcm_host.c
investigated about cache issues.
https://www.raspberrypi.org/forums/viewtopic.php?p=684084
http://lists.denx.de/pipermail/u-boot/2015-March/208201.html

tested with config.txt
disable_l2cache	disable ARM access to GPU's L2 cache. Needs corresponding L2 disabled kernel. Default 0
Nothing helps, delay is still there.
Conclusion:
Raspbian has an cache-enabled kernel -> every DMA write access cause a cache inconsistency which cause the delay for writing GPIO/PWM at rpi2.
option1: If you need to stay at raspian, you will need to compile every kernel version after release.
option2: Go with osmc and zappatrons binary.
osmc is more open to get additional software then openelec,
and has not the cache issues like raspbian.

@slimboyfats Here is my final wiring, it's not a photo because it's a bit unreadable with all these wires...

Hope it will help you.

Raspbian and rpi 2 with Hyperion:
/proc/config.gz shows Cache is already disabled:
CONFIG_BCM2708_NOL2CACHE=y
-> The source of the delay at raspian should be another reason.

@MonsieurChupon
is there any reason why you soldered on the pi board for power instead of using the gpio pins?
I know this diagram is for the older model LED's but im sure you will understand my question.
[https://christianmoser.me/wp-content/uploads/2014/02/diagram.png]
Thanks.

@bhavikmistry Well, according to this guy: https://youtu.be/U8FI1pRfekw?t=325, connecting power around the C6 capacitor is safer than connecting directly to GPIO pins... It makes sense to me so I followed his advice.

Hi all!, I finally "solved" this, and I've working Hyperion on PI2, but with OSMC and Zappatron binary.
Ty Tester0815 for your patience, your Option2 (https://github.com/tvdzwan/hyperion/issues/6#issuecomment-98346522) It's the best solution for me now :) Have a nice day!
Regards

Hello all,
I've a question regarding wiring above (the one from MonsieurChupon); would it be possible to avoid soldering to C6 capacitor, by ending those wires with an USB-Micro shell and using the regular micro-usb input?. I guess the one at Adafruit (http://www.adafruit.com/products/1390) could do the trick...
Thanks a lot (and thanks to all posters, I've learned a lot from your comments).
Antiel.

Hello to everyone :)
first of all big thank you to everyone who made ws2812b leds usage possible on RPi2.
Secondly I hope you will be able to help me a little. I've already checked whether my ws2812b strip works with my RPi2 running Openelec and it does :)
Now I'm wondering about few things.

Can I make one power supply to run my RPi2 together with led strips? Can PP1 and PP3 test points be used safely for this purpose?
If above is yes then I believe capacitor is "Must have" or at least "Nice to have", correct?
Also is this 74HCT125 Level Shifter needed? Or is it only for Rpi1?

What is actually better to be used with ws2812b leds, Openelec or OSMC?
cheers :)
kiryl

Hi,
can anybody answer to my questions?
Finally I managed to finalize my ambilight project.
I have used 1000 uF v16 capacitor on LED power line ()between +5V and GND, and 300 Ohm resistor on data line. LEDs and RPi2 are powered separately.
Unfortunately I have noticed lags/stuttering/delays on leds. Is it because of wrong resistor or should I use mentioned earlier Level Shifter?
Regards

No information but urge for help?
"hello, my car doesnt work. what is the problem?".
Its probably an power issue.
But as long as you give NO INFORMATION - noone can help.

Hi Phil1988,
I'm using ws2812b leds with Openelec runing on RPi2. I'm using hyperiond binary shared by Zappatron few months ago. Is that enough?
I thought there is no need to repeat information that were given earlier. Sorry for that.

There is no need to repeat information that were given earlier.
But there is a big need of giving information NOT GIVEN earlier.
"hello, my car doesn't work. whats the problem?
The car is blue. Is that enough?"
No information. No help.
Try harder and give us real information. Hardware infos, where and when the problem happens (all LEDs or just a few) etc. pp.

Hi Phil
I hope these are the details you were looking for. ;) If I overlooked something, please let me know .
I'm using 128 leds in total: 34 - 60 - 34. Here is my config file http://pastebin.com/9En5YQCe which was created with Hyperion SSH.
I've added 1000uF V16 capacitor to LEDs power line.
Leds are connected directly to RPi2 (both DATA with 300Ohm resistor and GND lines).

When playing a video I see a small lag/stuttering on colors, this is quite noticeable during changes from bright to dimmer collors.
Lags can be also seen during playing with various effect via Hyperion Remote app.
Please see attached videos.
https://www.dropbox.com/s/c74fqwzgufo3mn9/00014.MTS?dl=0
https://www.dropbox.com/s/kp72fgdxrhe2cke/00015.MTS?dl=0
https://www.dropbox.com/s/ts7sd3v6kxi9dv8/00016.MTS?dl=0
My main concerns are whether my current setup is ok, is this a typical behavior for ws2812b leds running directly via RPi2 and if adding level shifter would improve anything at all here?
Thanks for your patience and I hope that above info is enough.
kiryl

Its an power issue.
You forgot the voltage drop.
Add an additional power connection to the start or the end of the LED stripes.
If your setup is really like the picture you give us then add a powerline (5V and GND) from your power supply to the end.
The problem is gone then.
Cheers!

Hi guys,
I'm sourcing all the needed parts for WS2812b Ambilight setup, so can anybody please
tell me is 74HCT125 needed on RPi 2?

hi all! kiryl85 have you successful fixed the voltage drop as phil1988 suggested? Just to know before buying such led strips and add to my configuraion!

If someone nerves every day with his issues and suddenly dont write any comment after someone helped, then you can be sure that his problem is gone.
"Thank you" is beeing buried in oblivion...

I'm sorry for not writing but I was waiting for a new power supply and wanted to check few things first before writing anything.
Thanks for suggestions. There was indeed a huge voltage drop at the very end of the strip. I have added second power line between strips 2 and 3 but I'm not sure whether it has improved anything.
I mean, ok. despite the fact that during playing videos LEDs actually seems to be a little bit more smoother and voltage drop is now on much much smaller, still during playing any effect it's basically the same as it was earlier - little lags here and there.
Maybe it should be that way and it won't be any better.
In the last video (00023) you can see what happens when I plug new power supply. At the end something really strange happened when I pluged in current power supply :/
https://www.dropbox.com/s/x6muvkxjogqhoco/00020.MTS?dl=0
https://www.dropbox.com/s/gzx7bfdohtukkta/00021.MTS?dl=0
https://www.dropbox.com/s/6g3fzn280sxl1qs/00022.MTS?dl=0
https://www.dropbox.com/s/zg405vcq6rsxy0w/00023.MTS?dl=0
I was waiting for dedicated power supply but there is something wrong with it. LEDs simply go nuts, they are flashing randomly in every possible color and  I just don't know what's wrong. I have checked the voltage at the power plug and is around 5,5 Volts. It should be 5, correct?
Here are the details of that power supply.
https://www.dropbox.com/s/9im8ynw02awyyxb/20150707_204129.jpg?dl=0
I also would like to know if 74HCT125 is actually needed on RPi2. Does anybody know?

Oh... ok.
The Power supply is completely crap.
Throw it into the rubbish. It is NOT stable (and I can see it only from this picture).
First thing: This power supply puts out more than 5.0V (5.5V in your case) and it increases with higher current load.
I already had a simliar one for a different project and the same problem (5.32V).
I had to open it, find the feedback resistor and replace it with a correct calculated one to get more stability. You need do know what to do if you are trying it too.
Best way: Buy a new one.
2nd Thing:
Do you use 2 different power supplys?
00021 and 00022 looks good to me.
But what happens on the 00023?
Are you really connecting the LEDs to the power supply as the raspberry is running?
 Never connect a wire with power on it.
On 00:20 you do something on the cable an suddenly the effect is better right?
I think the "discolight" at the end comes from the low light in this situation/scene. Remember that the voltage on low consuption is 5.5V. This could kill your LEDs btw. because 5.5V is critical.
3rd thing: What kind of wires and connectors do you use?
last thing:
Buy this one for example:
http://www.aliexpress.com/item/Switch-Power-Supply-for-Led-Strip-AC-100V-220V-DC-5V-10A-50W-Power-Controller-LED/32363604828.html?spm=2114.320103<IP_ADDRESS>PBWsU
Its not closed and therefore not soo nice to see, but it is stable and has the posiblity to easiely change the voltage (by turning the orange screw).

Thanks Phil. I think I have no other choice than buy suggested power supply. I wanted to avoid buying an modular one, because I've thought that the one I have bought would be better - smaller, closed case, etc.
I have one question though, how long can be the wire in case of suggested modular power supply? I don't have much space behind my TV (also I think that air flow would be insufficient there), I think the same goes to my TV cabinet.
In general I have used 20AWG wires, and for now  I'm using this kind of plug and similar connector https://elty.pl/environment/cache/images/0_0_productGfx_43e018a0ccdcf7fecbdd17d485084da6.jpg
In general I would like to end up with one power supply for leds and RPi2 but I have problems with finding proper connectors and plugs. Can you suggest a connector/plug for three wires (+5V, GND and CL (this is from GPIO)) that could handle up to 10Amp load?
Regarding clips - on clip 23 I wanted to show what happens when I use the recently bought power supply. The little disco lights which can be seen at the end were caused by loosen cables on the plug - which I noticed only afterwards.
kiryl

I am using 5m of AWG22 with 3 sepeare connections to the LEDs, so your AWG20 should be great.
At the moment I dont have any ideas for the connecors, as I am also not really happy with my connectors.

Hello,
how can I calculate the Prefix and the checksum?
I think Prefix should be easy.
Count of LEDs - 1 and than convert to hexadecimal?
How I can calculate the checksum.
I neet it for 192 LEds
Thanks for your help
Gb4u

Multi zones and multi cards (arduino for now) support from single hyperion server based on adalight protocol
that's node.js proxy
https://github.com/ellisium/adaZones
Just if someone need this

@ellisium Amazing project!
Can't wait to use it once the documentation is finished, we will support multiple instances of Hyperion with AtmoLight in a upcoming release so will link your project once it's completed so that people have a multi-zone solution as well :)

Hi all,
I followed all the step described in the post of DohmenICT (with the binary from Zappatrons)
Everything has worked directly (many thanks for that)
But I've tried to use V4L2 grabber with an UTV007 and I can't get it to work
I mean :
I'm on Rpi2 with Openelec 5.0.3  + WS2812
When doing a screenshot, everything is fine but when adding the grabber-v4l2 on the config file, I've got only 4 led blinking and nothing else ..
Did someone have a working configuration with the UTV007 and the Zappatrons release of hyperion ?

i think we can close this? ws2812b works now!

Thanks a lot for everyone who has helped/participated!


Remove iron golem cracking (for 1.18.10)

Looks like beta <IP_ADDRESS> adds iron golem cracking, so we can remove our workaround for it then.

U Can Delete The Textures I Think They Should Keep that Cuz still some player play below 1.18.10

Geyser doesn't support 1.18.x anymore

@Camotoy this was done a while ago if you want to close


State becomes stale when action triggered from componentWillMount

I have opted to start a long running action that modifies the state of a store from a componentWillMount handler.  In particular, I have launched an ajax request and set the store to reflect that it is loading.  It appears that the StoreWatchMixin specifically ignores any state changes in the store until the component is mounted by registering for change events in componentDidMount instead of componentWillMount.  Consequently the component misses the change event and does not reflect the fact that the store is loading.
The documentation here states that the StoreWatchMixin should be used instead of binding to change events in componentWillMount.
Is this a bug in Fluxxor or am I misunderstanding Flux/React?

StoreWatchMixin was changed in 1c703259485c0d5cf73ad85492e0da0ad172fade to bind to events in componentDidMount instead of componentWillMount because willMount is called on the server, making it easier to leak memory (#88). I failed to update the documentation to match, and I will fix that.
The React docs suggest firing Ajax requests from didMount, though I understand it's nice to be able to get that loading state in the initial state rather than changing it after the fact. If that's something you really want and server rendering is not a concern for you, you might consider just rolling a special version of StoreWatchMixin that uses willMount instead; it's a fairly small/simple module.

Good to know!  Thank you very much.


Could I get update doc and _id on custom validate of update form (autoForm)?

I create custom validation with difference operation
...............
custom: function () {
            if (Meteor.isServer && this.isSet) {
                // Insert
                if (!this.operator) {
                    console.log('insert:');
                    return locationIsExists(Collection, selector);
                } else {// Update
                    console.log('update: ');
                    // would like to get _id and currentDoc
                    return locationIsExists(Collection, selector);
                }
            }
        }

In the update operation, I would like to get the _id of currentDoc.
Please help me.

Now I can with this.docId of update form.


Clarify game.project file edits

The Output-SPIRV option is part of the official set of game.project settings in the editor. There is not need to add it manually
https://github.com/defold/defold/blob/dev/editor/resources/meta.edn#L265-L269


Create ISSUE_TEMPLATE.md file

There should be proper Issue Template for creating new issues so that others can know about that issue means how he/she created and all .

can I work on this?

I will send a PR you review it.

@ujjwalagrawal17  i am working on this


Not rejoining same square.

Note sure if it's intended, but it seems to be selecting next available square instead of the one you previously played on. Makes it difficult to organize with a group if everyone just defaults back to a non desirable square.

Closing this, I see the intention. This won't always yield the most experience, though.


Support DELETE method body for SimpleHostRoutingFilter

@alenavorozhbieva Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

A test would be nice. It could live in one of *Zuul*ApplicationTests.

@alenavorozhbieva Thank you for signing the Contributor License Agreement!

@alenavorozhbieva can you please adjust the change requests from @spencergibb ?
Otherwise i'd like to create a new pull request...

Current coverage is 74.24% (diff: 100%)

Merging #1339 into master will increase coverage by 0.02%

@@             master      #1339   diff @@
==========================================
  Files           184        184
  Lines          5567       5572     +5
  Methods           0          0
  Messages          0          0
  Branches        853        853
==========================================
+ Hits           4132       4137     +5
  Misses         1120       1120
  Partials        315        315

Powered by Codecov. Last update 027e7fc...43996fa

Squashed and merged with some polish via 12fff7c97f04f6000c74db066e92c87d9071ea4d

@spencergibb Do you have any ETA when you will release a new version containing this fix?

sometime next week. See https://github.com/spring-cloud/spring-cloud-release/milestones


Typo cleanups

Fix one typo, one grammar nit as well as two misspellings of RISC-V in the Server section.
While at it, also clarify one sentence being touched.

As these are only typo fixes, merging them directly.


🍒[cxx-interop] Lower iOS deployment target for Cxx and CxxStdlib

The iOS/watchOS/tvOS deployment targets for Cxx and CxxStdlib binaries got unintentionally bumped in b87b263.
This reverts the deployment targets to the older versions.
rdar://140823785 / resolves https://github.com/swiftlang/swift/issues/77909
(cherry picked from commit 22141b1118572c46732dc14e2fd348a9be9742a7)

@swift-ci please test


Add BarWidgetUI

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

60 of 105 (57.14%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-1.9%) to 67.333%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

packages/react-ui/src/widgets/utils/formatterUtils.js
0
1
0.0%

packages/react-ui/src/widgets/utils/chartUtils.js
0
15
0.0%

packages/react-ui/src/widgets/BarWidgetUI.js
60
89
67.42%

Totals

Change from base Build<PHONE_NUMBER>:
-1.9%

Covered Lines:
955

Relevant Lines:
1314

💛  - Coveralls

@bbecquet thank you so much for the review. I've already committed the changes 👌 .


Allow notifications in new frontend for staging

Notifications are supported in the new frontend under /user/notifications but it seems the CF worker does not know about it and we end up with "Diese Seite existiert nicht!" in the legacy system.
Steps (all with enabled frontend):

does not work: directly access https://de.serlo-staging.dev/user/notifications
does work: navigate to notifications via menu (using client side redirect).
does not work: refresh notifications page once you are there

@elbotho Am I right, that de.serlo.org/user/notifications needs to be redirected to frontend.serlo.org/de/user/notifications?

yes, but only in staging for now.

@b Fixed in https://github.com/serlo/serlo.org-cloudflare-worker/pull/89 deployed in staging -> can you test it there?

Perfect, thank you very much!

Let's wait for the code review (PR still needs to be merged) :smile:


Support for Packaging Different Code for vscode.dev and vscode Desktop in vscode market place

Support for Packaging Different Code for vscode.dev and vscode Desktop in vsce
Hi,
I am developing an extension that runs on both VS Code Desktop and vscode.dev. I understand that the runtime environments for vscode.dev and VS Code Desktop are different—one uses Web APIs while the other uses Node APIs. To handle these differences, such as using WebSocket in the web and ws in Node, I have separated my code based on the specific environment into independent files.
Everything works correctly, and my extension can be packaged and published on the VS Code marketplace. My code runs both on vscode.dev and VS Code Desktop, with the two parts of different code functioning as expected.
However, I have encountered an issue. When I download my extension in VS Code Desktop and examine the package at ~/.vscode/extensions/, I notice that the package includes both web code and Node code. This is expected because I use vsce to package my project, which zips all the files in the project except those specified in .vscodeignore.
I reviewed my process for publishing the extension: I used vsce to create a .vsix file and uploaded it to the VS Code marketplace. I wonder if there is a way to package different code for vscode.dev and VS Code Desktop in vsce, so that when users download the extension, they do not receive web code that is unnecessary for VS Code Desktop.
Review existing feedback
I searched for keywords like "package" and "web extension" but did not find any issues related to this one. It is possible that I did not search correctly?
Separate Ideas
I looked for help by examining other extensions that run on both vscode.dev and VS Code Desktop. I found an interesting example in vscode-jupyter (https://github.com/microsoft/vscode-jupyter). In its package.json, there are two fields, main and browser, which are entries for VS Code Desktop and vscode.dev. There are also extension.node.ts and extension.web.ts files.
However, when I downloaded vscode-jupyter in my VS Code Desktop and checked ~/.vscode/extensions/, I found that it only included extension.node.ts without any *.web.ts files, and the browser field was missing from package.json. I have reviewed the files in the Jupyter extension, but I am still unclear on how it manages this separation.
Could you please provide guidance or examples on how to package different code for vscode.dev and VS Code Desktop using vsce? Thank you for your help.

Hi @syhxzzz ,
Thanks for reaching VS Marketplace Team and sharing the details, we will review and update you with details.
Regards,
VS Marketplace Team

Please try https://code.visualstudio.com/api/working-with-extensions/publishing-extension#platformspecific-extensions
Then you can specify a special web package, and have the other one for all the other platforms.

Please try https://code.visualstudio.com/api/working-with-extensions/publishing-extension#platformspecific-extensions Then you can specify a special web package, and have the other one for all the other platforms.

I used to think that only one extension could be in the marketplace at a time when using update. Now I realize that I can update a specific platform's extension without including code for other platforms by simply not compiling them.

Thank you for your time!