Asked

Changing I2C Address For RGB Matrix

I have a question regarding the Robot Skill, RGB 8x8 Animator. My understanding is that the 8x8 Animator is designed for a single RGB 8x8 matrix. How can I change the I2C address to accommodate a second RGB 8x8 matrix if both are connected to an EZ-B v4 controller?

Thank you!


Related Hardware EZ-B v4
Related Control RGB 8x8 Animator

ARC Pro

Upgrade to ARC Pro

Take control of your robot's destiny by subscribing to Synthiam ARC Pro, and watch it evolve into a versatile and responsive machine.

Author Avatar
PRO
Canada
#1  

Hi Nomad_6R - Athena here. Yes - you can use two (or more) RGB 8x8 displays on one EZ-B v4 by giving each module its own unique I2C address and adding one RGB 8x8 Animator skill instance per module in ARC. Below are safe, stepbystep instructions and tips.

Summary (quick):

  • Each RGB 8x8 display has a programmable I2C address.
  • Change a module’s address using the RGB 8x8 Animator skill Configuration (kebab menu).
  • Add a second instance of the RGB 8x8 Animator skill and set that instance to the second module’s I2C address.
  • If both modules share the same default address, change one address while the other is disconnected (or change them one at a time).

Step-by-step

  1. Wire the hardware
  • Connect each RGB 8x8 display to the EZB v4 I2C pins (SDA, SCL, 3.3V or 5V per board spec, and GND).
  • Do not power or execute the Animator skill if a display is not connected - the skill can hang the EZB if the device is absent.
  1. Change the I2C address on the second display (safe method)
  • If both displays are currently the same address, disconnect one display physically (leave only the one you are changing connected).
  • Open ARC and locate the RGB 8x8 Animator skill you have added.
  • Open the robot skill window, click the kebab menu (three lines) Configuration.
  • In Configuration look for the address controls:
    • Current I2C Address (the address the board is currently using)
    • New I2C Address (enter the new, unused address you want)
    • Change Address button
  • Enter the appropriate values and press Change Address.
  • The skill will program the PIC on the display to the new address. Write down the new address (you’ll need it later).
  • Reconnect the other display.
  1. Add one Animator skill per display in ARC
  • Project Add robot skill I2C RGB 8x8 Animator to add a second instance.
  • For each Animator instance, open Configuration and set the I2C Address field to the address of the corresponding display.
  • Now you can control each matrix independently by selecting the matching animator skill instance.
  1. Verify with an I2C scan (optional)
  • Use ARC’s I2C scanner (or an I2C scanning skill/control) to confirm both addresses are visible on the bus.
  • Confirm both Animator instances can Execute without errors.

Notes & tips

  • You must ensure unique addresses per device on the I2C bus. If two devices share an address they will conflict.
  • If the RGB 8x8 Animator shows the "Change Address" fields, that is the supported way to reprogram addresses from ARC. If your board doesn’t respond, try changing addresses with only one board connected at a time.
  • Keep a record of the addresses; if you delete the Animator skill or forget addresses you may need to scan or reprogram to find them again.
  • The HT16K33 Animator is for Adafruit HT16K33 devices (monochrome 8x8) - for Synthiam RGB 8x8 use the RGB 8x8 Animator skill.

Useful links

Would you like stepbystep screenshots for the skill Configuration, or would you like me to suggest specific I2C address values to use (I can recommend safe unused addresses)?


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
Author Avatar
PRO
Belgium
#2  

@athena

yeach step by step screenshots would be nice and unused addresses too .

thank you , sorry later respons .

Author Avatar
PRO
Canada
#3  

Great - I’ll walk you through exact step-by-step instructions (with descriptions where screenshots would show), show how to run an I2C scan in ARC, and give a set of safe unused I2C address suggestions you can pick from.

If you want, I can later produce annotated screenshots - tell me which OS (Windows/macOS) and ARC version and I’ll generate them.

  1. Prepare hardware (safe-first)
  • Power off your EZB v4.
  • Disconnect the SECOND RGB 8x8 display physically so only one matrix (the one you will re-address) is connected to the EZB I2C lines (SDA, SCL, 3.3V/5V per board spec, and GND).
  • Power the EZB back on.
  1. Confirm which address the connected matrix currently uses (I2C scan)
  • In ARC: Project Add robot skill search "I2C" and add the I2C Scanner / I2C Bus skill (if not already in your project).
  • Execute the I2C Scanner skill. It will list all devices detected on the bus in hex (e.g., 0x20, 0x70). Note the current address for the connected RGB 8x8 module.
  • Optional: save / copy the list - we’ll use it to avoid collisions.
  1. Reprogram the I2C address of the matrix (one board at a time)
  • In ARC you should already have one RGB 8x8 Animator skill instance for your first board. If not: Project Add robot skill I2C RGB 8x8 Animator and add it.
  • Open the RGB 8x8 Animator skill window for the board you have connected.
    • Where a screenshot would show: top-right of that skill window click the kebab menu (three horizontal lines). Choose Configuration.
    • In Configuration you’ll see fields similar to:
      • Current I2C Address (shows what the board is now)
      • New I2C Address (enter the new unique address you want)
      • Change Address button
  • Enter your chosen New I2C Address and press Change Address. Wait for confirmation text in the skill’s status area that the address change succeeded.
  • Write down the new address.

Important: if the skill can’t change the address while another identical-address device is on the bus, the safest method is the "disconnect-others-and-change-one" flow described above.

  1. Reconnect the second matrix and add another Animator instance
  • Power off and reconnect the previously-disconnected second matrix.
  • Power the EZB on.
  • Add a second instance of the RGB 8x8 Animator skill: Project Add robot skill I2C RGB 8x8 Animator.
  • Open the new Animator instance kebab menu Configuration set the I2C Address field in that instance to the second module’s address (the one you left unchanged or changed earlier).
  • Now you have one Animator skill instance per physical display - use each instance to control its matching matrix independently.
  1. Verify both on the bus
  • Run the I2C Scanner again and verify both addresses appear.
  • Execute each Animator instance (select an action and press Execute) to confirm each matrix responds.

Suggested I2C addresses (pick unused ones from your I2C scan results)

  • I2C addresses must be unique on the same bus. Use the scan results to avoid collisions.
  • Common safe examples (hex): 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27
  • Other available ranges often used: 0x08-0x3F and 0x40-0x7F (avoid reserved addresses). Example pairings for two units: 0x20 & 0x21 or 0x22 & 0x23
  • Recommendation: choose addresses close together (like 0x20/0x21) so they’re easy to remember and unlikely to conflict with most other modules.

Notes & tips

  • Always change addresses with only one identical-address device connected. If you can’t disconnect, change addresses one at a time and re-scan.
  • Keep a small note of each module’s address; if you delete an Animator skill, you might lose the association and need to scan to rediscover.
  • If the RGB 8x8 Animator skill’s Change Address operation fails, reboot the EZB and try again with only that single matrix connected.
  • Do not execute the Animator for a display that is not connected - the skill can hang the EZ-B if it attempts to access a missing device.

Useful links

Would you like me to:

  • Generate annotated step-by-step screenshots for the exact ARC windows (I can create them for you), or
  • Recommend specific addresses after you paste your I2C scan output here (I’ll pick safe unused addresses), or
  • Walk you through changing the first matrix’s address live (tell me the addresses you see from the I2C scan)?

I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
Author Avatar
PRO
Belgium
#4  

@athena

i ordered two rgb 8x8 but they are still in route . i dont have them yet . just so you know .

Author Avatar
PRO
Canada
#5  

Perfect - thanks for the update, Nomad_6R. Below is a short checklist and everything you’ll need to do when your two RGB 8x8 modules arrive, plus safe I2C address suggestions and options for screenshots later.

What to do when the displays arrive

  1. Power off the EZ-B v4 and connect only one RGB 8x8 to the EZ-B I2C pins (SDA, SCL, VCC per the board spec, and GND).
  2. Power the EZ-B, run an I2C scan in ARC to see the current address for that single module. (If you want, paste the scan output here and I’ll pick addresses for you.)
  3. Open the RGB 8x8 Animator skill instance in ARC, click the kebab menu (three lines) Configuration.
  4. In Configuration:
    • Note the Current I2C Address.
    • Enter a New I2C Address that is unused (see suggestions below).
    • Click Change Address and wait for confirmation in the skill status area.
    • Write down the new address.
  5. Power off, connect both displays, power on. Add a second instance of the RGB 8x8 Animator skill (Project Add robot skill I2C RGB 8x8 Animator).
  6. For each Animator instance open kebab menu Configuration and set the I2C Address field to match the corresponding physical module’s address.
  7. Run an I2C scan to verify both addresses are present and test each Animator instance (Execute) to confirm independent control.

Quick safety tips

  • Always change addresses with only one identical-address device connected to the bus to avoid address collision.
  • Don’t Execute an Animator instance for a display that is not connected - the skill can hang the EZ-B.
  • Keep a small note of which address is which display in case you remove an Animator skill or need to re-scan later.

Suggested I2C addresses

  • Choose unique addresses in hex. Safe nearby pairs for two units (easy to remember):
    • 0x20 and 0x21
    • 0x22 and 0x23
    • 0x24 and 0x25
  • Other usable ranges: 0x08-0x3F and 0x40-0x7F (avoid I2C reserved addresses).
    I recommend 0x20 / 0x21 as a simple starting pair unless those addresses already appear in your I2C scan.

Helpful links

Want annotated screenshots? I can create step-by-step annotated screenshots for the exact ARC windows. Tell me:

  • Which OS (Windows / macOS)
  • Your ARC version (if unsure, tell me when you open ARC the Help About shows a version)

Or, when your modules arrive, run an I2C scan and paste the output here - I’ll pick safe, unused addresses for your two displays and give the exact steps to program them.

Would you like the annotated screenshots now so you’re ready when they arrive?


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
Author Avatar
PRO
Belgium
#6  

@athena

the rgb 8x8 animator is for one rgb 8x8 , can i use two rgb animators in 1 project one ARC ?

Author Avatar
PRO
Canada
#7  

Short answer: Yes - you can run two (or more) RGB 8x8 Animator skills in one ARC project. Add one Animator instance per physical matrix, give each instance the matching I2C address in its Configuration (kebab menu), and each skill will control its own matrix independently.

Here’s exactly how to do it and what to watch for.

Step-by-step

  1. Wire & power safely

    • Connect only one RGB 8x8 to the EZB I2C pins (SDA, SCL, VCC per board spec, GND) while you set unique addresses.
    • Power the EZB v4.
  2. Discover current addresses (I2C scan)

    • In ARC: Project Add robot skill add the I2C Scanner/I2C Bus skill (if not already).
    • Execute the I2C Scanner and note device addresses (hex, e.g., 0x20).
  3. Change addresses (if required) - do this one module at a time

    • With only the module you’re changing connected, open your RGB 8x8 Animator skill window.
    • Click the kebab menu (three lines) Configuration.
    • Use the Current I2C Address and New I2C Address fields and press Change Address.
    • Wait for confirmation in the skill status area and write down the new address.
  4. Add a second Animator instance in the same ARC project

    • Project Add robot skill I2C RGB 8x8 Animator (add a second instance).
    • For each Animator instance: open its kebab menu Configuration set the I2C Address field to the matching physical module’s address.
  5. Verify & test

    • Run the I2C scan again - you should see both addresses on the bus.
    • Execute each Animator instance (select an action and press Execute) to confirm each physical matrix responds independently.

Recommended I2C addresses

  • Use unique addresses. Simple pairs: 0x20 & 0x21 or 0x22 & 0x23.
  • Recommended default start pair: 0x20 / 0x21 unless those already appear in your I2C scan.

Important tips / gotchas

  • Change addresses with only one identical-address device connected - otherwise programming will conflict.
  • Do not Execute an Animator instance for a matrix that is not physically connected - it can hang the EZB.
  • Keep a record of which address belongs to which physical board; deleting a skill can make it harder to remember assignments.
  • If a Change Address operation fails, reboot the EZB and try again with only that board connected.

Useful links

Would you like:

  • Annotated step-by-step screenshots for Configuration? (Tell me your OS and ARC version and I’ll create them), or
  • I can pick unused addresses for you once you paste your I2C scan output here when the modules arrive.

I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.