Hello, I want to connect a Giga R1 (Master) to an UNO R4 Wifi (Slave). In the past, the general advise for using I2C on the UNO is to use A4 (SDA) and A5 (SCL). However, from the documentation of the Giga R1, how come all three pairs of I2C are on the Digital side rather than Analog side like the Uno?
If I want to connect the two, shall I connect SCL1 and SDA1 from the digital side of Giga R1 to A5 and A4 from the analog side of the Uno R4 or to D19 and D18 on the digital side of the UNO R4?
How come the UNO R4 is said to have only one pair of I2C but from the pinout diagram, there are two? A pair on the analog side and another pair on the digital side
On the Uno R4 WiFi (and the classic Uno R3) the pins marked SDA and SCL are connected to pins A4 and A5 so it does not matter which ones you use tor I2C
The UNO R4 WiFi has one I2C bus which is marked with SCL and SDA. They are shared with A4 (SDA) and A5 (SCL) which owners of previous UNO's are familiar with. The pullups are not mounted on the PCB but there are footprints to do so if needed.
Can you do your project with a single Arduino board ?
Projects fail that have a I2C bus between Arduino boards.
The Giga R1 WiFi has a 3.3V I2C bus and the UNO R4 WiFi has a 5V I2C bus. That is your first problem. [UPDATE] The UNO R4 WiFi has also a 3.3V QWIIC I2C bus. See post #6, thank you david_2018.
If you want to try a I2C bus, then start with two Uno R3 boards. Then you can learn how many troubles you can get in to, and what you have to do to make it reliable.
I need to control two stepper motors and have multiple-sensor inputs so it is better to use more than one Arduino board.
So far, the Giga R1 WiFi seems to be steps behind older boards. For example, long upload time, using 3.3V pins rather than 5V pins, etc. Why they are using 3.3V pins rather than 5V pins?
The UNO R4 WiFi has 2 I2C busses.
One is on the A4/A5 and SCL1/SDA1 pins and operates at 5V, and is referenced as Wire.
The other is on the QWIIC connector and operates at 3.3V, and is referenced as Wire1.
Controlling two Servo motors and multiple sensor is easy for a single Arduino board.
If you are worried about driving the Servo motors, then you can use a driver board: https://www.adafruit.com/product/815
I controlled once 48 stepper motors at max step rate with a single $3 classic Nano clone,
with plenty of loop time left to do other things.
Note that with I2C communication, things could be slower than simply driving the two stepper drivers with a single Arduino.
All newer/faster boards are using 3.3volt-logic. High-tech sensors are using 3.3volt-logic. Most, if not all stepper drivers can work with 3.3volt-logic.
The Giga should only be used by advanced coders. Very few posters here have practical experience with that board, so don't expect a lot of support.
Leo..