• Arduino
  • Raspberry Pi
  • Raspberry Pi Pico
  • Micro:Bit

LED module which contains a red and green LED. These are connected to each other by means of a common cathode.

Technical data

Forward voltage 2.0 V - 2.5 V
Forward current 20 mA

Series resistors:

Depending on the input voltage, series resistors are required.

Series resistor (3.3 V) [Red] 120 Ω
Series resistor (3,3 V) [Green] 120 Ω
Series resistor (5 V) [Red] 220 Ω
Series resistor (5 V) [Green] 220 Ω

Pin assignment

Code example Arduino

Pin assignment Arduino

Arduino Sensor
Pin 9 LED GREEN
Pin 10 LED RED
GND GND

Code example ON/OFF

This code example shows how the integrated LEDs can be changed alternately, every 3 seconds, by means of a definable output pin.

int Led_Red = 10;
int Led_Green = 9;
 
void setup ()
{
  // Initialize output pins for the LEDs
  pinMode (Led_Red, OUTPUT); 
  pinMode (Led_Green, OUTPUT); 
}
 
void loop () //Main program loop
{
  digitalWrite (Led_Red, HIGH); // LED is switched on
  digitalWrite (Led_Green, LOW); // LED is switched on
  delay (3000); // Wait mode for 3 seconds
 
  digitalWrite (Led_Red, LOW); // LED is switched on
  digitalWrite (Led_Green, HIGH); // LED is switched on
  delay (3000); // Wait mode for another two seconds in which the LEDs are then switched on
}

Example program ON/OFF Download:

KY011-Arduino-ON-OFF.zip

Code example PWM

Pulse width modulation [PWM] can be used to regulate the brightness of an LED - in this process, the LED is switched on and off at specific time intervals, with the ratio of the switch-on and switch-off times corresponding to a relative brightness. Due to the inertia of human vision, human eyes interpret such on/off behavior as a change in brightness. More information on this topic can be found in this article by Analog IC Tips.

Several LEDs are integrated in this module - different colors can thus be created by superimposing different brightness levels. This is shown in the following code example.

int Led_Red = 10;
int Led_Green = 9;
 
int val;
 
void setup () {
  // Initialize output pins for the LEDs
  pinMode (Led_Red, OUTPUT); 
  pinMode (Led_Green, OUTPUT); 
}
void loop () {
   // Within a For loop, different PWM values are passed to the two LEDs
   // This creates a color gradient in which the mixing of different 
   // brightness levels of the two integrated LEDs, different colors are created
   for (val = 255; val> 0; val--)
      {
      analogWrite (Led_Green, val);
      analogWrite (Led_Red, 255-val);
      delay (15);
   }
   // In the second For loop the color gradient is scrolled backwards
   for (val = 0; val <255; val++)
      {
      analogWrite (Led_Green, val);
      analogWrite (Led_Red, 255-val);
      delay (15);
   }
}

Sample PWM program download

KY011-Arduino-PWM.zip

LED module which contains a red and green LED. These are connected to each other by means of a common cathode.

Technical data

Forward voltage 2.0 V - 2.5 V
Forward current 20 mA

Series resistors:

Depending on the input voltage, series resistors are required.

Series resistor (3.3 V) [Red] 120 Ω
Series resistor (3,3 V) [Green] 120 Ω
Series resistor (5 V) [Red] 220 Ω
Series resistor (5 V) [Green] 220 Ω

Pin assignment

Code example Raspberry Pi

Pin assignment Raspberry Pi

Raspberry Pi Sensor
GPIO 23 [Pin 16] LED GREEN
GPIO 24 [Pin 18] LED RED
GND [Pin 6] GND

Code example ON/OFF

This code example shows how the integrated LEDs can be changed alternately, every 3 seconds, by means of a definable output pin.

# Required modules are imported and set up
import RPi.GPIO as GPIO
import time
   
GPIO.setmode(GPIO.BCM)
   
# Here the output pin is declared, to which the LEDs are connected.
LED_ROT = 24
LED_GRUEN = 23
GPIO.setup(LED_ROT, GPIO.OUT, initial= GPIO.LOW)
GPIO.setup(LED_GRUEN, GPIO.OUT, initial= GPIO.LOW)
   
print("LED test [press CTRL+C to end test]")
  
# main program loop
try:
    while True:
        print("LED RED 3 seconds on")
        GPIO.output(LED_ROT,GPIO.HIGH) #LED is turned on
        GPIO.output(LED_GRUEN,GPIO.LOW) #LED is switched on
        time.sleep(3) # wait mode for 4 seconds
        print("LED GREEN 3 seconds on") 
        GPIO.output(LED_ROT,GPIO.LOW) #LED is switched on
        GPIO.output(LED_GRUEN,GPIO.HIGH) #LED is switched on
        time.sleep(3) #wait mode for another two seconds during which the LED is off then
   
# clean up after the program has been terminated
except KeyboardInterrupt:
    GPIO.cleanup()

Example program ON/OFF download

KY011-RPi-ON-OFF.zip

To start with the command:

sudo python3 KY009-RPi.py

Code example PWM

Pulse width modulation [PWM] can be used to regulate the brightness of an LED - in this process, the LED is switched on and off at specific time intervals, with the ratio of the switch-on and switch-off times corresponding to a relative brightness. Due to the inertia of human vision, human eyes interpret such on/off behavior as a change in brightness. More information on this topic can be found in this article by Analog IC Tips.

Several LEDs are integrated in this module - different colors can thus be created by superimposing different brightness levels. This is shown in the following code example.

# Required modules are imported and set up
import random, time 
import RPi.GPIO as GPIO
  
GPIO.setmode(GPIO.BCM) 
 
# Here we declare the output pin to which the LEDs are connected.
LED_Red = 24
LED_Green = 23
  
# Set pins to output mode
GPIO.setup(LED_Red, GPIO.OUT) 
GPIO.setup(LED_Green, GPIO.OUT)
  
Freq = 100 #Hz
  
# The respective colors are initialized.
RED = GPIO.PWM(LED_Red, Freq) 
GREEN = GPIO.PWM(LED_Green, Freq)
RED.start(0)  
GRUEN.start(0)
  
# This function generates the actual color
# By means of the respective color variable, the color intensity can be changed
# After the color was set, by means of "time.sleep" the time is defined,
# how long the said color is to be indicated
 
def LED_Color(Red, Green, pause):
    RED.ChangeDutyCycle(Red)
    GREEN.ChangeDutyCycle(Green)
    time.sleep(pause)
 
    RED.ChangeDutyCycle(0)
    GREEN.ChangeDutyCycle(0)
   
print("LED test [press CTRL+C to end test]")
  
# Main program loop:
# This has the task to create a separate variable for each single color
# and by means of a for-loop to run through the color intensity of each single color from 0-100%.
# By the mixtures of the different brightness levels of the respective colors
# thus a color gradient is created
try:
    while True:
        for x in range(0,2):
            for y in range(0,2):
                print (x,y)
                for i in range(0,101):
                    LED_Color((x*i),(y*i),.02)
  
# clean up after the program is finished
except KeyboardInterrupt:
    GPIO.cleanup()

Example program download

KY011-RPi-PWM.zip

To start with the command:

sudo python3 KY009-PWM.py

LED module which contains a red and green LED. These are connected to each other by means of a common cathode.

Technical data

Forward voltage 2.0 V - 2.5 V
Forward current 20 mA

Series resistors:

Depending on the input voltage, series resistors are required.

Series resistor (3.3 V) [Red] 120 Ω
Series resistor (3,3 V) [Green] 120 Ω
Series resistor (5 V) [Red] 220 Ω
Series resistor (5 V) [Green] 220 Ω

Pin assignment

Code example Micro:Bit

Pinout Micro:Bit:

Micro:Bit Sensor
Pin 1 LED GREEN
Pin 2 LED RED
GND GND

This example turns on the LEDs depending on which button is pressed.

Sample program download

microbit-KY-011.zip

LED module which contains a red and green LED. These are connected to each other by means of a common cathode.

Technical data

Forward voltage 2.0 V - 2.5 V
Forward current 20 mA

Series resistors:

Depending on the input voltage, series resistors are required.

Series resistor (3.3 V) [Red] 120 Ω
Series resistor (3,3 V) [Green] 120 Ω
Series resistor (5 V) [Red] 220 Ω
Series resistor (5 V) [Green] 220 Ω

Pin assignment

Code example Raspberry Pi Pico

Pin assignment Raspberry Pi Pico:

Raspberry Pi Pico Sensor
GPIO27 LED RED
GPIO28 LED GREEN
GND GND

Code example ON/OFF

This code example shows how the integrated LEDs can be changed alternately, every 3 seconds, by means of a definable output pin.

# Load libraries
from machine import Pin, PWM
from time import sleep

# Initialization of GPIO27 and GPIO28 as output
Green = Pin(28, Pin.OUT)
Red = Pin(27, Pin.OUT)

# Function: The individual available colors of the LED are switched on and off one after the other
def solo():
    Green.value(1)
    Red.value(0)
    sleep(3)
    Green.value(0)
    Red.value(1)
    sleep(3)
    Green.value(0)
    Red.value(0)

# Function: The individual available colors of the LED are switched simultaneously one after the other to create mixed colors.
def mix():
    Green.value(1)
    Red.value(1)
    sleep(3)
    Green.value(0)
    Red.value(0)
    
while True:
    solo()
    sleep(3)
    mix()

Example program ON/OFF Download:

KY011-Pico-ON-OFF.zip

Code example PWM

By means of pulse width modulation [PWM], the brightness of an LED can be regulated - in this process, the LED is switched on and off at specific time intervals, with the ratio of the switch-on and switch-off time corresponding to a relative brightness. Due to the inertia of human vision, human eyes interpret such on/off behavior as a change in brightness. More information on this topic can be found in this article from mikrokontroller.net.

Several LEDs are integrated in this module - different colors can thus be created by superimposing different brightness levels. This is shown in the following code example.

# Load libraries
import machine
import math

# Initialization of GPIO27 and GPIO28 as PWM pin
ledRed = machine.PWM(machine.Pin(27))
ledRed.freq(1000)
ledGreen = machine.PWM(machine.Pin(28))
ledGreen.freq(1000)

# Definition of a 2 digit list
RBG = [0,0]

# Function: Color space calculation for red and green | Green is 90° offset to red
def sinColour(number):
    a = (math.sin(math.radians(number))+1)*32768
    c = (math.sin(math.radians(number+90))+1)*32768
    RBG = (int(a),int(c))
    return RBG

# Infinite loop where the color value for all two colors is shifted by 0.01 again and again
a = 0
while True:
    RBG = sinColour(a)
    a = a + 0.01
    if a == 360:
        a = 0
    ledRed.duty_u16(RBG[0])
    ledGreen.duty_u16(RBG[1])

Example program PWM Download

KY011-Pico-PWM.zip