Thumbnail

RGB Animator

Create custom animations for JD Humanoid's 18 RGB Eyes LEDs via I2C - per-LED color frames, transitions, pauses, scripting and real-time preview.

How to add the RGB Animator robot skill

  1. Load the most recent release of ARC (Get ARC).
  2. Press the Project tab from the top menu bar in ARC.
  3. Press Add Robot Skill from the button ribbon bar in ARC.
  4. Choose the I2C category tab.
  5. Press the RGB Animator icon to add the robot skill to your project.

Don't have a robot yet?

Follow the Getting Started Guide to build a robot and use the RGB Animator robot skill.


How to use the RGB Animator robot skill

The RGB Animator skill lets you create colorful patterns and animations for the 18 RGB LEDs found in:

  • EZ-Robot JD Humanoid eyes
  • RGB Eyes EZ-Bit (18 RGB LED PCB / Block)

Main Window

RGB Animator main window annotated
What You See in the Main Window

1. Action List
This is a list of the animations you have created (called “actions”). Click an action once to select it. The selected action is the one that will run when you press Execute.

2. Status Display
Shows the most recent message from the skill (for example: started, stopped, running action name, etc.). If something isn’t working, check here first.

3. Execute / Stop Buttons
Execute runs the currently selected action.
Stop immediately stops an action that is running (very useful if you enabled looping).

4. Board Settings Button
Opens a pop-up where you can:

  • Change the skill title (the name shown on the control in ARC).
  • Select the EZ-B board index (which EZ-B to use if you have more than one connected).
Note: If you change the skill title, it also changes the name you must use in any controlCommand() calls that reference this skill.
Board settings dialog

Configuration – Actions

Actions are made of frames. A frame is a “snapshot” of what color each of the 18 LEDs should be. When multiple frames play in order (with pauses/transitions), you get an animation.

RGB Animator Actions configuration annotated
Actions Screen (Numbered Items)

1. Action List
Shows all actions you’ve created. Select an action here to edit its frames.

2. Frame List
Shows frames for the currently selected action. Frames play from top to bottom.

  • Loop checkbox (above the frame list): when enabled, the animation repeats until you press Stop.
  • Beginner tip: Leave looping off while testing, then turn it on once you like the animation.

3. Pause Drop-down
Sets the delay between frames (how long a frame stays on screen before the next frame). Range is 0–5000 ms in steps of 100 ms.

  • Right-click to type a custom value (5000 or below).
  • Example: 200 ms makes a quick animation; 1000 ms makes a slow “blink” style animation.

4. Transition Checkbox
When enabled, the skill will fade (transition) from the current frame to the next frame instead of switching instantly.

5. Transition Drop-down
Sets how long the transition fade lasts (0–5000 ms). Right-click to type a custom value (5000 or below).

6. Cursor (LED Selection)
The cursor(s) select which LED(s) you are editing. The selected LED squares are the ones affected by the color sliders.

  • You can select multiple LEDs at once to set several LEDs to the same color quickly.
  • The cursor color updates to show the combined RGB value you’re creating.

7. LED Display (18 LEDs)
This is a visual map of the 18 RGB LEDs in their physical order on the RGB Eyes board. Each square represents one LED and shows its current color for the selected frame.

8. Red / Green / Blue Sliders
Use these to mix colors for the selected LED(s):

  • Higher red = more red
  • Higher green = more green
  • Higher blue = more blue
  • Example: Red + Green = Yellow, Red + Blue = Purple, all three high = White.

9. Unselect All Button
Clears all selected LEDs (removes all cursors). Use this when you want to start a new selection.

10. Frame Management Buttons
Tools to edit the frame list:

  • Add a new frame
  • Duplicate the selected frame (great for making small changes between frames)
  • Remove a frame
  • Move Up / Down to change playback order

11. Action Management Buttons
Add a new action or remove an existing action from the Action List.

Configuration – Settings

RGB Animator Settings configuration annotated
Settings Screen (What Each Option Does)

1. Animator Start Script
This ARC script runs automatically every time you execute any action in this skill. Use it for things like setting robot states, playing a sound, or logging information.

2. Animator Stop Script
This ARC script runs when an action is stopped or when it finishes. Use it to reset variables, turn off lights, or trigger the next behavior.

3. Variable Fields
These variables show what the animator is currently doing:

  • Current action name/index
  • Current frame
  • Status (running or stopped)
Beginner tip: Variables are helpful if you want other ARC scripts to react while an animation is playing.

4. I2C Address Field
The I2C address is like the device’s “ID” on the I2C bus. The RGB Eyes use a single-byte address. You only need to change this if you plan to use more than one RGB Eyes device on the same I2C bus.

5. Current I2C Address Field
The address the device is using right now (the “from” address).

6. New I2C Address Field
The address you want the device to switch to (the “to” address).

7. Change Address Button
Sends the command that updates the RGB Eyes hardware to the new I2C address.

How to Use RGB Animator (Beginner Walkthrough)

  1. Add the skill to your project:
    In ARC, go to ProjectAdd SkillI2CRGB Animator.
  2. Confirm hardware is connected:
    Make sure the RGB Eyes are connected to the EZ-B I2C interface and powered on.
  3. Create an action:
    Open Configuration and, on the Actions tab, click Add under Action Management to create a new action (for example: “Blink”, “Happy”, or “Rainbow”).
  4. Add frames to your action:
    Click Add Frame a few times. Think of each frame as one “pose” for the LED colors.
  5. Set LED colors for each frame:
    Click one or more LED squares (the 18 black squares) to select them, then adjust the R/G/B sliders. The RGB Eyes update in real time so you can immediately see your changes.
  6. Set timing (optional):
    Choose a Pause between frames. Turn on Transition if you want a smooth fade and set the transition time.
  7. Test your animation:
    Go back to the Main window, select your action in the Action List, and press Execute. Press Stop to interrupt (especially if looping is enabled).

Video

Requirements

The RGB Animator skill is compatible with:

Resources

The hardware design for this skill is open source. Files are available here: https://github.com/synthiam/E-64_RGB_Eyes.


Control Commands for the RGB Animator robot skill

There are Control Commands available for this robot skill which allows the skill to be controlled programmatically from scripts or other robot skills. These commands enable you to automate actions, respond to sensor inputs, and integrate the robot skill with other systems or custom interfaces. If you're new to the concept of Control Commands, we have a comprehensive manual available here that explains how to use them, provides examples to get you started and make the most of this powerful feature.

Control Command Manual

AutoPositionStop

Stop the current LED animation that's playing.

Example: controlCommand("RGB Animator", AutoPositionStop)

ARC Pro

Upgrade to ARC Pro

Stay at the forefront of robot programming innovation with ARC Pro, ensuring your robot is always equipped with the latest advancements.

Author Avatar
Israel
#1  

Hi,  I want to connect an additional RGB panel to JD, the same panel as its eyes. How can I control both RGB panels separately (i'm using C# SDK)?

thank you, Orit

Author Avatar
Israel
#2  

and additional question - how do I know the i2c address of the external rgb led array? when i try to connect it and disconnect the eyes, I still unable to control the external array.

Author Avatar
PRO
Synthiam
#3  

Orit - the default i2c address of the RGB Eyes is 0xA0. This is visible in the configuration window for the control. If two RGB Eyes are connected to the EZ-B, they will both respond to the same address by default. Meaning, they'll duplicate the behavior.

In order to have two separate operational devices, you'd need to change the i2c address of one RGB eyes. You can do this in the RGB Eyes Config menu - For example, you can change the address to 0xA2 (since it must be a 7 bit address).

Be careful! If you change the address to an incorrect or incompatible address, the RGB eyes will be permanently damaged and need replacement.

Author Avatar
Israel
#4   — Edited

OK, got it, thanks!