Sixteen WS2812 RGB LEDs in a 4×4 grid MCP1826 low-dropout regulator Controlled via mikroBUS RST pin Output pin 3.3V or 5V I/O
4x4 RGB click carries a matrix of 16 WS2812 RGB LEDs and a MCP1826 low dropout regulator. Each of these LEDs actually consists of three single-colored LEDs (Red, Green and Blue), plus a control chip in a single package; various colors can be reproduced by mixing the intensity of each LED.
The brightness of each color can be adjusted using pulse-width modulation to one of 256 different levels. That means there are 16,777,216 (256³) possible combinations of colors. You can produce any color from white to black (off), or salmon to sienna.
The LED matrix is connected to your target board's microcontroller through the mikroBUS RST pin. The board uses either a 3.3V or 5V power supply, selectable via solder jumper (set to 3.3V by default).
Data Transmission Interface The communication interface between a microcontroller and the WS2812 is unusual. It's one wire, but it's not like a standard UART serial interface. This interface is very time-specific. Both a logic 0 and a logic 1 require a square pulse; it's the length of the pulse that defines which it is. See the timing diagram below:
The data are sent in a sequence containing 24 of those bits — 8 bits for each color — followed by a low Reset pulse of at least 50µs. The channels are in the order Green, Red, Blue with high bit first, i.e. G7, G6, G5, ..., G0, R7, ..., R0, B7, ..., B0.
The larger the value of a specific color is, the brighter it will be. If every color is set to 0, the LED will be off. If every color is set to max (255) the LED will be brightest white.
Because the interface is so time-specific, you will need a real-time processor like an Arduino or Propeller to run the LEDs. Microprocessors like those on the original Raspberry Pi or pcDuino can't give you a reliably-timed pulse; even if one bit is less than a microsecond off, that could mean the difference between purple and maroon.
Warning: Do not drive the LEDs to maximum brightness because it will generate excessive heat and draw more current than advisable (up to 0.7A) which could potentially damage the mainboard. Also, don't touch the board when it's in use. Even at 20 percent brightness, you should not look at the LEDs directly.
Note: The picture shows the board with through-hole headers. The board now comes populated with male pin headers already soldered for your convenience. The board's user manual has yet to be updated to remove the soldering instructions.
mikroBUS Click Boards Overview Click boards plug directly into a mikroBUS socket. mikroBUS is a specially designed plug-and-play pinout standard. The sockets are found on Clicker boards, the Flip & Click Arduino/Python-compatible board, the Quail board, these mikromedia shields, the Microchip Curiosity board, and development systems from mikroElektronika (V7 systems and later).
You also can connect Click boards to many other popular platforms via these adapters:
- PC — Click USB Adapter (MIKROE-1433)
- Arduino — Arduino UNO click shield (MIKROE-1581) or Arduino Mega click shield (MIKROE-1900)
- Raspberry Pi — Pi click shield (MIKROE-1512) or Pi 2 click shield (MIKROE-1879)
- BeagleBone Black — BeagleBone click shield (MIKROE-1596) or mikroBUS Cape (MIKROE-1857)
- STM32F3 Discovery — STM32F3 Discovery Shield (MIKROE-1447)
- STM32F4 Discovery — STM32F4 Discovery Shield (MIKROE-1481)
- Stellaris LM4F120 LaunchPad / Tiva TM4C123G LaunchPad — Click BOOSTER PACK (MIKROE-1363)
- Freescale Freedom — FRDM-KL46Z click shield (MIKROE-1795) or FRDM-K64F click shield (MIKROE-1794)
In addition, it is royalty-free to add mikroBUS to your own designs. Visit the mikroBUS Category to see the full line of Click boards.
4x4 RGB LED Module Resources