Lesson 11 Rainbow LED



8 RGB Rainbow LED Ring is based on ws2812b bead. Its biggest characteristic is single IO control and infinite cascade connection. In this experiment, we are going to use micro:bit to drive 8 RGB Rainbow LED Ring and realize rainbow color gradual change.

Component List


Tips: If you want all components above, you may need Elecfreaks Micro:bit Starter Kit.


Microsoft Makecode Online Editor

Major Component Introduction

8 RGB Rainbow LED Ring

8 RGB Rainbow LED Ring is an LED ring made of 8 ws2812b beads in cascade connection. Ws2812b is an intelligent outer control LED source, which has integrated control circuit and light emitting circuit. It has same appearance with 5050LED bead.
The digital protocol adopts communication method of single line goes to zero. After pixel point restoration, DIN will receive the data sent from the controller. Once the first 24-bit data received was extracted by the first pixel point, it will be sent to the internal digital lock storage device of pixel point and the rest data amplified through the inner transformation processing circuit will be sent to the next pixel point from DO port. Every time it passes through a pixel point transmission, the signal will decrease 24bit. The pixel point uses automatic transformation forwarding technique, thus the pixel cascade connection quantity do not limited by signal transmission but the speed of transmission only.
LED has advantages of low voltage drive, energy-saving and environment protect, wide scattering angle, good consistency, ultra-long life, etc.. To integrate control circuit onto LED, the circuit will become more simple, easier to install and have smaller volume.

Hardware Connection

Please complete the hardware connection according to the picture below.

Note: There are two cables lead out by the ring. One is DI and the other is DO. We should connect DI.

After connection, we can see:


Open Microsoft Makecode, write your code in the edit area. I would like to suggest you program by yourself.
In this experiment, we will add a package of code to enable us to use our 8 RGB Rainbow LED Ring. Click on Advanced in the Code Drawer to see more code section and look at the bottom of the Code Drawer for Add Package.

Of course, you can download the whole code from the link below.

Code Explain

**set to NeoPixel **

set to NeoPixel is used for initialize the bead. Among it, three parameters need to be set: “pin” is set to be the footer connect LED strip, “with x leds” set to be the quantity of bead, and “as RGB” to be the type of bead.

show rainbow

It is used to make the light of LED strip become rainbow color gradual change.


After we set the color of LED, it will not start to work. To make it works, you have to use show.

sotate pixels

Make LED color move in circle.

Experiment Result

We can see the light of 8 RGB Rainbow LED Ring is rotating with rainbow color.


Imagine the ring is a big eye, in order to make it twinkle, then how to design circuit and program? We look forward to your comments or further discussion with us.