Menu
Microbots
0
  • Robots
    • ProtoBot
    • CubeBot
    • Robot Parts
  • Gear
    • Tools
    • Merch
  • Parts
    • CodeCell ESP32 Modules
    • Motors & Actuators
    • LiPo Batteries
  • Learn
    • User Guide & Tutorials
    • DIY Projects & Files
    • Education Discounts
  • About
    • Our Story
    • Reach Out
    • FAQs
  • Sign in
  • Your Cart is Empty
Microbots
  • Robots
    • ProtoBot
    • CubeBot
    • Robot Parts
  • Gear
    • Tools
    • Merch
  • Parts
    • CodeCell ESP32 Modules
    • Motors & Actuators
    • LiPo Batteries
  • Learn
    • User Guide & Tutorials
    • DIY Projects & Files
    • Education Discounts
  • About
    • Our Story
    • Reach Out
    • FAQs
  • 0 0

CodeCell: Controlling the Onboard RGB LED

The onboard RGB LED on CodeCell can be controlled programmatically to display different colors based on your project's needs.

With CodeCell’s built-in function, you can set the LED color easily:

myCodeCell.LED(uint8_t r, uint8_t g, uint8_t b); 
  • r → Red component (0-255)
  • g → Green component (0-255)
  • b → Blue component (0-255)

This allows full RGB color control for your project's needs.

Adjusting LED Brightness

In addition to color control, you can also adjust the brightness of the onboard LED using the following function:

myCodeCell.LED_SetBrightness(uint16_t level); 
  • level → Brightness level from 0 (off) to 10 (maximum brightness)

By default, the brightness level is set to 7.

For example, to turn off the LED completely during normal operation, use:

myCodeCell.LED_SetBrightness(0); // Turn off CodeCell LED 

Note: Even with the brightness set to 0, the LED will still blink red when the battery is low, ensuring you don’t miss important power status alerts.

Example: Changing the LED Based on Proximity

In this example, the onboard RGB LED turns red when an object is detected within a certain range using the light sensor’s proximity detection.

#include <CodeCell.h>

CodeCell myCodeCell;

void setup() {
    Serial.begin(115200); // Set Serial baud rate to 115200. Ensure Tools/USB_CDC_On_Boot is enabled if using Serial
    myCodeCell.Init(LIGHT); // Initializes light sensing, including proximity
}

void loop() {
    if (myCodeCell.Run(10)) {
        // Runs every 100ms to check proximity
        uint16_t proximity = myCodeCell.Light_ProximityRead();
        
        // Check if an object is within range
        if (proximity > 100) {
            myCodeCell.LED(0xFF, 0, 0); // Set LED to Red when proximity is detected
            delay(1000); // Keep the LED on for 1 second
        } else {
            // No action if the object is out of range
        }
    }
}

Notes About the onboard LED

Remember that the onboard RGB LED is also used for battery and power status indication. When using myCodeCell.Run(), the LED may be overridden to reflect charging or battery conditions.

If you want to control the LED without interruptions, you may need to adjust how often myCodeCell.Run() is called or ensure your LED commands are applied after system updates.

Additionally, adjusting the brightness level can help manage the visibility of the LED in different environments, or turn it off completely during operation while still maintaining critical low-battery alerts.


  • Share:

Follow

Github

  • About
  • Software
  • Education
  • Contact
  • FAQs
  • Terms
  • Refund Policy
  • Privacy Policy

Join our Community ~ Be the first to know about new products and get exciting deals!

© 2026 Microbots.

★ Reviews

Let customers speak for us

85 reviews
Write a review
87%
(74)
5%
(4)
2%
(2)
2%
(2)
4%
(3)
79
21
F
ProtoBot
Francis van Uyten

Really love this robot. I like that is simple to assemble and I like that you guys prepares it easy to start programming with examples and libraries. My opinion on what to improve is more like a add-on, can you guys develop a localisation sensor or function so it will know where the bot is. Expecting only great things coming from you guys. Succes

G
Experiment in Progress Mug
Gerald Kendrick

I am enjoying my Experiment in Progress coffee mug. It fits in well in the lab.

K
12-in-1 Screwdriver (Pen-Size)
Klaas

Very useful fun little screwdriver for the all tiny stuff

f
ProtoBot
frederic marty

I don't have much time right now to test the micro bot, but it looks good.

f
MotorCell
frederic marty

I don't have much time right now to test it but it looks good.

123