Let me start by saying that this is the part of robotics that I am very weak in. I am going to be asking some questions that are probably very simple and I know that there will be multiple answers to solve this, as there is always multiple ways to solve something in this craft.
I purchased a DC-SS503V-100 because of the native support in ARC. I have watched a video that DJ put up that shows his Wall-e functioning with this compass. I have also scoured the community pages for any information on this topic but, I haven't been able to find anything on this particular topic.
I need to figure out how to wire the dc-ss503v100 to the i2c port on a EZ-B V4. Here is what I have as connections on the back of the dc-ss503v100.
1 SCL 2 SDA 3 RX 4 TX 5 OPT 6 NC 7 NC 8 NC 9 SCK 10 SDO 11 SDI 12 +5V 13 GND 14 NC 15 GND 16 NC 17 GND 18 NC 19 GND 20 GND 21 +3.3V 22 +3.3V 23 GND 24 GND
It is my understanding that an I2C port has the following pinout
VCC SDA SCL GND
It is easy enough to match up these ports, but where the question comes in is pin 21 and pin 22, and pins 13. 15. 17, 19, 20, 23 and 24. Also on pin 12.
I'll start with pin 21 and 22. It is my understanding that the V4 I2C vcc is 3.3 volts. Do I need to connect to both of these pins? My assumption is yes.
Port 12 shows +5V. Does this board require me to supply an additional +5V or is this only if you are using 5V to power the board instead of 3.3? My assumption is that the +5V or the +3.3V pins or used and not both.
There are a lot of ground pins. I assume that all of these would need to be connected to ground, or the 4th pin from the I2C port.
OR can I do the following...
I2C port dc-ss503v100 Pin vcc ----> 22 SDA ----> 2 SCL ----> 1 GND ----> 24
Please help. This is the last component that I can put in my robot until my EZRobot parts arrive. My wife would appreciate it
The voltage output on ezb's are different for the i2c ports...
V3 Connect vcc from i2c to +5 pin on compass
V4 Connect vcc from i2c to +3.3 pin on compass
Common when both controllers is the 2 i2c pins. SDA and SCL, connect those to their respectively labeled pins.
Thanks DJ. Also, by looking at the board itself, I see that there is no need to connect the ground or v3.3 to multiple ports.
Thanks! Now to build the board it is going to be mounted to.
I had trouble with wire length. I had to make the wires no longer than 2 cm. It's a capacitance issue with i2c devices in general. Some are finicky. So be warned that if it locks up - that's why
Okay. Thanks for the info. Right now they are about 6 cm. I will test and trim them back as needed.
It might act a little differently at 3.3V. The drivers don't have to swing the bus as far. You can try put a pull-up resistor to 3.3V on the SDA and SCL lines at the compass end of the wire. The values of them will vary depending on wiring capacitance. The bus should already have a pull-up on it, but sometimes the value is off depending on cabling. Start at 30K ohms and work down to around 10K. Don't know as I would go much below that. The resistors at the compass also dampen signal reflections.
The EZ-B v3 has 4.7k pull-ups on the PCB hardwired.
Good info and thank you. I will do that if it doesn't act like it should.
DJ , can you tell me what the I2C address is of the SS503V100?
Thanks in advance.