Building LED compass Using WS2812B LEDs

I am new to arduino and programming. I tried to build a 16 LED ring using ws2812b LEDs.
acrobotic.com/datasheets/WS2812B.pdf
I downloaded a code from the website below to program my arduino thing and connect all the wirings according to the schematic.

After It's done uploading, all the LEDs stay lit and they are very bright (white)
If I load adafruit sample codes, the LED ring works just fine.
I wonder what I have done wrong here? Please help, thanks.

You need to try a little debug. It looks like your LEDs are wired right but what about your magnetic sensor. Use some print statements to see the values you are getting from that and see if they make sense.

However that seems to be a poor circuit. All the LEDs on will draw 960mA and so will overload the USB powering it. That will cause the voltage to drop and so will interfere with the compass sensor. There is also no large decoupling capacitor on the power supply to the ring, and no series resistor in the data line.

The code is a bit crap as well. Looks like the writer of that tutorial hasn't got much of a clue as to what they are doing.