Using the WS2812B with a PIC microcontroller

For a recent project at work, I had to get a WS2812B LED working with a PIC18F25K80. The WS2812B is a neat little LED, but getting it working was an absolute nightmare! The device uses a non standard communication protocol and the datasheet is lacking, to put it kindly.

PIC18 Basics - Timers

When writing firmware, one of the most common tasks that needs to be done is creating a system clock. This clock, often measuring milliseconds, is used for a great variety of things - switch debouncing, countdowns, blinking lights or any repeated tasks. In order to create a timer, you only need to know a few things about your project's oscillator speed, how to calculate the timer value and how to use interrupts.