Having problems using I2C in standalone arduino

Hi, i am using an 3.3v standalone arduino running @ 8Mhz w/ atmega328P (TQFP) and i am using a external resonator and not a crystal. I burned it with the arduino pro mini 3.3v @8Mhz w/ atmega328 bootloader from the IDE. Everything works fine except the I2C, i hooked up the si4703 evaluation board from sparkfun (https://www.sparkfun.com/products/10663) but it dosent work, So i tried troubleshooting and this is what i did:

  1. I measured the voltage on the SDA and SCL pins and got 3.3v as it should be.
  2. hooked the module to the arduino UNO and it worked.
  3. So i double checked the connections and they are all right.

This is the link for the atmega328p pinouts: http://www.google.co.in/imgres?imgurl=http://www.hobbytronics.co.uk/image/data/tutorial/arduino-hardcore/atmega328-tqfp-arduino-pinout.jpg&imgrefurl=http://www.hobbytronics.co.uk/arduino-atmega328-pinout&h=520&w=500&sz=57&tbnid=rCETnLvnZAdhXM:&tbnh=90&tbnw=87&zoom=1&usg=__zkhDW8ZxERaEM5g7AjDjT6r9KEw=&docid=08_IK2TU2IOmsM&sa=X&ei=NYTEUdzKDs_PrQfpmoCoBw&ved=0CD0Q9QEwAw

I don't what the problem is here and i am stuck with it. Need help plz. Thanks in advance.

What connections did you make?

I connected the SDIO of the module to the SDA(A4) pin and the SCLK to SCL(A5). The module shares common ground and vcc and the RST pin of the module is pulled high enabling I2C.

There are pullup resistors on the SCL/SDA lines?

Yes there are 4.7k pullup resistors on the module and my atmega328p, but still no communication is taking place.

Run the i2c_scanner, Arduino Playground - I2cScanner

If the i2c_scanner can't detect it, can you connect any other I2C chip ? Like a eeprom or sensor you might have lying around ?

I wont be able to test it now, as i am not at home, so it will take me a day or two to try it out. Thanks for the info, i will run it tell and u what happens. I dont have anything else to test the I2C with but the module works with arduino UNO but not with my standalone. Thank you again :D.

The Uno at 5V (3.3V for radio module) with PDIP at 16MHz versus the standalone at 3.3V with TQFP at 8MHz should be no problem.
That is why I'm thinking in other directions.
Is your standalone decoupled with 100nF and 10uF...1000uF at the 3.3V power ?
It might be odd, but try a single 4k7 pullup on both lines or no pullup at all (only the ATmega328p internal pullups). If you have a ground path problem, using a low impedance for the pullup might increase it.
Using a single 4k7 pullup is the best value for normal I2C at 100kHz speed. If I have a number of modules, I remove the pullup resistors from those modules.

In the end it might be a simple wiring problem. Please check your wiring again (again ? yes again).

Hi Erdin, i was able to find the problem. Actually it had nothing to do with the caps or the pullups. I had connected the reset pin of the module to Vcc but it seems that you have to pull it low before pulling it high again XD. I figured it out by chance but it works fine now. Thanks for all your help and thanks for telling me about the I2C scanner code, i will use it in the future to debug my problems :D.

Good to know you found the problem.
As far as I know, the reset is used for sketch upload via the serial port and also for a programmer with SPI (MISO MOSI and so).
For a chip preprogrammed with bootloader, I have 10k from reset to Vcc and 100nF to the DTR of a usb-serial module.
For a chip that uses only SPI (MISO MOSI and so) for programming, I have just the 10k to Vcc and the reset to the 6-pin (ICSP) or 10-pin (USBasp) header.