Good lesson today as I tested out the battery status LEDs on the side of our main controller board; the polarising mark on the WS2812B smart-LED isn't on pin 1, in fact it's opposite pin 1.
I'd populated the board and had assumed the chamfered edge on the LEDs was the pin 1 marker. There was a 1 next to one of the pins in the silk-screen so I placed the part and went on to start testing with Python. Nothing was happening when I ran the various test scripts for the
rpi_ws281x library. I decided to double-check the LED pinout, and sure enough pin 1 wasn't where I thought.
The parts are too thermally sensitive (the plastic case started melting before the solder melted) to remove with hot-air. I ended up cutting them off the board, cleaning the pads with a soldering iron then placing new parts. Fortunately I had a reel of 1000 of them! Once they were round the right way we got pretty rainbows from the test script.