Menu
Microbots
0
  • Learn
    • Getting Started
    • Maker Builds
    • Education
  • Shop
    • ProtoBot
    • Modules & Parts
    • Tools & Gears
    • Coming Soon
  • About
    • Our Story
    • Reach Out
    • FAQs
  • Sign in
  • English
  • Your Cart is Empty
Microbots
  • Learn
    • Getting Started
    • Maker Builds
    • Education
  • Shop
    • ProtoBot
    • Modules & Parts
    • Tools & Gears
    • Coming Soon
  • About
    • Our Story
    • Reach Out
    • FAQs
  • Language

  • 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

67 reviews
Write a review
85%
(57)
6%
(4)
1%
(1)
3%
(2)
4%
(3)
62
21
C
CodeCell C3
Cloke74

Great piece of kit, had just what i needed to complete the project i had in mind. Shame shipping to the UK is so expensive, but appreciate this isn’t necessarily in the hands of MicroBots

A
CodeCell C6
Anonymous

I had an issue, got a red light, I used too much flux. Support said clean it, then the one sensor worked fine. I got the help and answer same day I provided a foto.

A
CodeCell C6 Drive
Anonymous

I think this is the best of the ESP offered, most versatile.

User picture
P
CodeCell C6
Prudhvi tej Chinimilli

Been testing the Microbots CodeCell C6 and honestly impressed with how much functionality they packed into such a tiny module. Great form factor for rapid prototyping wearable/embedded sensing applications. ESP32-C6 + IMU integration makes development much easier compared to building everything from scratch.

Still exploring battery optimization and compact LiPo options for our use case, but overall the platform is promising for low-cost real-time sensing systems. Excited to keep building with it.

F
CodeCell C6
Francisco Estivallet

Amazing hardware, my go to for compact projects.

User picture
123