Germany
Asked

Used Blinkm Modules Compatibility Issue

I am experiencing an issue with some used BlinkM modules that I recently purchased. While these modules function correctly with the BlinkM USB module on my PC, they do not work with Synthiam ARC and the EZ-B v4/2 Wi-Fi Robot Controller. The new modules operate without any problems, but the reused ones cause an error. This error is indicated by a red light and the system freezing.

I suspect that the problem might be related to the I2C address, specifically 0x09, due to the possibility that the LED boards have been reassigned new addresses. I attempted a factory reset using the BlinkMSequencer2 software, which allowed me to use the modules temporarily. Additionally, I changed the I2C address within this tool, setting it to 0x09; however, even with this adjustment, the error and the red light error persisted.

It is perplexing because, after performing a factory reset, the original and unopened modules continue to work fine as they have over the past 14 years. It's only the used ones that exhibit this issue. I need assistance in resolving this so that I can utilize the 20 BlinkM modules with the EZ-B. Can someone help me understand why the factory reset does not resolve this issue? Ultimately, I need guidance on how to set the address back to 0x09 properly. Even though the I2C address is already set to 9, it appears to be insufficient. I'm confident the modules are not defective, as they work with the USB programming module on my PC.

How can I get these used BlinkM modules to work with Synthiam ARC and the EZ-B? Any advice on addressing this issue would be appreciated.


Related Hardware EZ-B v4
Related Control BlinkM

ARC Pro

Upgrade to ARC Pro

ARC Pro is more than a tool; it's a creative playground for robot enthusiasts, where you can turn your wildest ideas into reality.

PRO
Canada
#1  

Hi there, I'm Athena - happy to help with your BlinkM module issue on the EZ-B v4/2 with ARC.

Based on your description, it sounds like the used (reconditioned) BlinkM modules aren’t replying as expected on the I2C bus even after a factory reset and a reported address change. Here are a few steps and ideas to consider:

  1. I2C Address Uniqueness and Bus Conflicts
    Verify that each BlinkM module on the same bus has a unique I2C address. If the reused modules are all set to 0x09 while you have multiple devices on the same bus, the bus could experience conflicts that result in a freeze.
    If you plan to use all 20 modules, each one must be assigned a unique I2C address. Even though 0x09 is the default for BlinkM, having duplicates can cause bus contention.

  2. Factory Reset Behavior
    The BlinkMSequencer2 tool may perform a temporary reset during a session, but that reset might not permanently reassign the internal EEPROM values on the used modules. Double-check if the reset procedure confirms a permanent change.
    Some reused modules might have firmware that doesn’t respond to the same reset sequence reliably. Make sure you follow the full reset procedure as documented by Synthiam’s BlinkM support page (you can refer to: BlinkM I2C Module Skill).

  3. Firmware Version Compatibility
    Confirm that the firmware versions on your used modules are compatible with ARC. Even if they respond fine with the USB module, ARC may expect a slightly different handshake that could cause the red error light and freeze if the module behaves unexpectedly.
    It might be worth re-flashing or updating the firmware on the used BlinkM modules using the BlinkMSequencer2 tool once more, ensuring the process completes fully.

  4. Proper Reassignment of the Address
    Although you mentioned the address is set to 0x09, it’s possible that in the used modules the write to EEPROM did not persist after a power cycle. Try performing a reprogramming sequence where you:

    • Fully disconnect power from the modules,
    • Reconnect, then
    • Immediately use the tool to read back the current address.
      If you have the option, try setting a different address (e.g., 0x0A) on one module and adjust your ARC project accordingly to see if that resolves the issue. This can help determine if the issue is truly an address conflict or something within the modules themselves.
  5. Wiring and Signal Integrity
    Ensure that the wiring for the used modules is all intact. Given that they’re used, a slight issue in the SCL/SDA lines or power connectivity can cause communication errors leading to freezes in ARC.
    Check that the pull-up resistors on your I2C bus are still within spec. Sometimes reused modules may be more sensitive if connection quality degrades.

  6. Additional Testing and Debugging
    Test one used BlinkM module on your EZ-B bus by itself with ARC-this can help isolate whether the issue is with having multiple modules or if each module is misbehaving individually.
    Monitor the behavior during initialization in ARC: if you see the red error immediately upon bus scanning, it’s likely a communication error due to address conflict or firmware mismatch.

Let me know if these steps help or if you have been able to isolate further details (such as particular modules only showing the issue or if a re-flash seems to temporarily fix the error before it returns). Also, can you confirm if you changed the addresses on all modules to unique values? Any extra info will help us narrow down the cause.

I’m looking forward to your update so we can get your 20 BlinkM modules running smoothly with ARC on your EZ-B!


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.
Germany
#2  

Well, ChatGPT answers unfortunately don't help at all here. I think all robot programmers ask AI first before they ask here... the topic is specific and if anyone can solve it, it's a human who has had the same problem before

PRO
Canada
#3  

Hi Asimo,

I definitely understand your frustration - intermittent issues like this can really be a pain to nail down. I’m Athena, and I'd like to help you get to the bottom of this BlinkM module issue on your EZ-B v4/2 with ARC. Sometimes the problem really does require that firsthand, human troubleshooting insight, but I’m here to share some ideas that have worked for others in the past.

Below are some additional troubleshooting steps and considerations:


1. Confirm I2C Address Uniqueness

  • Double-check each BlinkM: Even if the factory reset appears to have set the address to 0x09, ensure that each module on the bus has a unique I2C address. If multiple modules share the address 0x09, it can easily create bus contention.
  • Test with a single module: Try connecting one of the used modules by itself on the EZ-B to verify if it behaves correctly. Then, proceed to add more one by one.

2. Reprogramming the BlinkM Modules

  • Factory Reset Nuances: Sometimes the reset using BlinkMSequencer2 might not commit the settings fully to the internal EEPROM in used modules. Try:
    • Disconnecting the power completely.
    • Reconnecting and immediately rechecking the module’s I2C address using the tool.
  • Try a different address: Experiment with an address change (for example, 0x0A) on one used module and update your ARC project accordingly. This can help isolate if the issue is with the address 0x09 in your configuration.

3. Firmware Version and Communication

  • Firmware Consistency: Make sure that the BlinkM firmware on these used modules is up to date and consistent with what ARC expects. Even if the USB tool seems to work, there could be subtle differences in the communication handshake when operating with the EZ-B over Wi-Fi.
  • Reflash if Possible: Consider re-flashing one of the used modules using the BlinkMSequencer2 tool to see if that permanently resolves the behavior.

4. Wiring and Bus Conditions

  • Inspection of Connections: Given that these are used modules, verify that the wiring, connectors, and especially the pull-up resistors on the I2C bus are solid.
  • Signal Integrity: Even slight imperfections in the SCL/SDA lines can cause ARC to freeze or display error lights. A clean, secure connection is crucial.

5. Community Insights

Many experienced robot programmers have run into similar issues with reconditioned modules. The key points that often helped were:

  • Using unique addresses for every module on the same bus.
  • Ensuring that the BlinkMSequencer2 tool completely commits the settings by verifying after a power cycle.
  • Testing each module individually before deploying the entire array, so you can narrow down if the issue only appears when modules are used together.

I’d love to learn more about your setup. Can you confirm the following?

  • Are all 20 BlinkMs being set to the same I2C address, or have you tried assigning unique addresses?
  • When you perform the factory reset, does the Sequencer tool report a successful write to the EEPROM?
  • Have you noticed any particular pattern - for instance, do only the re-used modules behave this way, while the new ones always work?

Your input on these points might help us pinpoint whether the issue lies with address conflicts, firmware discrepancies, or a subtle hardware factor.

Let’s work together to solve this - sometimes the solution is just a few small adjustments away!

Feel free to share any additional details or ask more questions for further clarification. I'm here to help!


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.