March 28, 2024, 10:56:16 PM

MOD-IO I2C address change

Started by moises, November 02, 2022, 08:17:31 PM

Previous topic - Next topic

moises

Hello

I have a MOD-IO board with the intent to be connected via UEXT connector and the use of the I2C library, as in the example.

However I need to change the default address and can't seem to understand how to do it.
 - Do I have to flash a new firmware every time I have to change the address?
 - If not, how can I change it?

I'm actually asking this question based on a basic knowledge I have with communications protocol and programming. If I was to program a board with a IP Address, I shouldn't have to flash the firmware every time I have to change said IP Address.

Much regards to everyone.

LubOlimex

The board has no IP address. It has i2c address.

To change the default address you need to send a specific command to the current address AND hold the button at the same time. Refer to "2.7.4 Changing the I2C address of a board" in the manual:

https://www.olimex.com/Products/Modules/IO/MOD-IO/resources/MOD-IO.pdf

There is also option to restore the original address (if you set some unknown address and now you can't access the board via i2c at all). The default address of the board could be restored if the on-board button is held pressed at power up for more than 4 seconds
Technical support and documentation manager at Olimex

moises

I didn't think the board had an IP address. I was making a remark based on a similar process for communication.

Thanks for the document but I already had access to it. That's where I got my doubts on how to change the I2C address. I can't seem to understand what tool/program I should use to make that library in the document work (the one that includes i2cStart() and other functions).

Can you please help me?
I tried already to change it through a simple program uploaded to a ESP32-EVB board and connecting the two boards with a UEXT cable connector but I had no success.

moises

LubOlimex Thanks for the help. I just figured out how to do it and basically I just had misread the documentation.