Arduino Ethernet, DS1307, BMP085

Post here about your Arduino projects, get help - for Adafruit customers!

Moderators: adafruit_support_bill, adafruit

Arduino Ethernet, DS1307, BMP085

Postby KingBubbaTruck » Wed Feb 29, 2012 5:08 pm

So, I've got an Arduino Ethernet board with the microSD card slot. I thought it'd be great to use that for logging data.

As a test I hooked it up with an RTC clock module using the DS1307.

The BMP085 runs at 3.3v and the RTC clock at 5v.

It's all working fine, getting data from both devices, logging data to the card.

So today, I'm looking at the tutorials and it specifically states NOT connect these two devices together or it could cause problems. If I was using the data logger shield, it did state that if I removed a few pullup resistors I would be ok.

So My question is, Is this ok? I was wanting to add some other I2C 3.3v sensors to the I2C bus. Or Would it be better to just move the clock module to some other pins? I thought I read there was a library somewhere that would allow me to use 2 other pins for another I2C bus at 5v.

I'm still just learning this stuff, so any help or guidance would be greatly appreciated!

Here's a fritzing diagram of how I have things hooked up.

LogQuestion_bb.png
LogQuestion_bb.png (110.48 KiB) Viewed 1060 times
KingBubbaTruck
 
Posts: 7
Joined: Sun Feb 12, 2012 12:53 pm

Re: Arduino Ethernet, DS1307, BMP085

Postby Ado » Sat Mar 03, 2012 5:10 pm

Look at the datasheets for the products as some I2C sensors allows you to change the i2C addresses.
Ado
 
Posts: 11
Joined: Thu Feb 02, 2012 6:22 am
Location: Brisbane, AUS

Re: Arduino Ethernet, DS1307, BMP085

Postby KingBubbaTruck » Sat Mar 03, 2012 5:57 pm

I did find this after doing some more research.
http://www.varesano.net/blog/fabio/how-disable-internal-arduino-atmega-pullups-sda-and-scl-i2c-bus

I'm still pretty new to all this, but what it sounds like to me is that you really only want one set of pull-up resistors on the I2c buss.

From here it states that if you are using the data logger shield, it has another set of 5v pullups on the built in RTC.

http://forums.adafruit.com/viewtopic.php?f=31&p=117658

And the BMP085 already has some pull up resistors on it's PCB.

So, my guess here is that since I was using the ethernet arduino with the built in micro SD and the add on RTC, I was still at risk.

but if I disable the built in pullups on the i2c buss I should be able to use the DS1307 and the BMP085 just fine?

(I could be very wrong on all of this).

Now my only question is what will happen if I add something else?.

I think it's probably just going to be safer if I don't mix the DS1307 into the I2c buss and go down the path of seeing what it will take to put it on its own set of pins. (Which is what Ado suggests).

Just part of the fun figuring things out I reckon, as long as the magic smoke doesn't come out of anything...
KingBubbaTruck
 
Posts: 7
Joined: Sun Feb 12, 2012 12:53 pm

Re: Arduino Ethernet, DS1307, BMP085

Postby D9W » Wed Mar 21, 2012 5:55 pm

You might want to read NXP's Application Note AN10441 on Level Shifting Techniques in I2C- Bus Design >>
http://www.nxp.com/documents/application_note/AN10441.pdf
You should look at Fig 1.

Also you might want to take a look at this example >>
http://electronics.trev.id.au/2011/06/19/digital-compass-using-i2c-arduino-and-sparkfun-compass-module/

Also you might want to take a look at this from TI >>
http://www.ti.com/lit/an/scea035a/scea035a.pdf
I know this last example does not have much to do with I2C but it has some good information about logic voltage levels and some things you should not do with CMOS.

Also if your looking for a breakout board Logic Level translator may I suggest Sparkfun's
http://www.sparkfun.com/products/8745
The only reason I post this here is because a lot of people use this with I2C and the two transistor parts follow the NXP application note. There is another board that uses 4 transistors- but I am having a hard time right now finding it {It comes from the land down under}. Make sure if you use the Sparkfun board that you read the comments about this board. Some people have issues using the voltage divider on it.
<edit> found it >> http://www.jaycar.com.au/productView.asp?ID=XC4238&keywords=logic+level+converter&form=KEYWORD

Also you might want to try PCA9306 Level Translator Breakout >>
http://www.sparkfun.com/products/10403 Again I only post this here because it can be used with I2C.

< EDIT > I also would like to point out that MAXIM has a LOGIC LEVER that has some cool things in it ( bi-directional ONE-SHOTs ) that lets you do things you normally cant do with the PCA9306. What caught my eye about the MAX3373 was a quote: “you don't even have to worry about pull-up resistors for the I2C lines because ... the MAX3373... maintains I2C signal integrity no matter how many other I2C you decide to add...even in 400 kHz mode!” Take a look at it [url]MAX3373[/url]. I am wondering why we have not seen this on more shields. It would take care of a lot of problems.
Last edited by D9W on Sat Mar 24, 2012 2:27 pm, edited 2 times in total.
D9W
 
Posts: 37
Joined: Tue Oct 26, 2010 3:25 pm


Return to Arduino

Who is online

Users browsing this forum: No registered users and 6 guests

Stuff to buy from the Adafruit store and links to product documentation!


New Products [113]

Raspberry Pi[82]
 
FLORA[24]
 
Bunnie Studios[9]
 
FPGA[1]
 
mbed[12]
Arduino[60]
 
NETduino[14]
 
Android[6]
 
BeagleBone[23]
 
XBee[10]
More Dev Boards[30]


 
BoArduino[8]
 
SpokePOV[4]
 
TV-B-Gone[4]
 
MiniPOV[3]
 
SIM reader[3]
 
Microtouch[5]
 
Clocks & Watches[18]
 
Drawdio[4]
 
Brain Machine[1]
 
Game of Life[2]
 
MintyBoost[2]
More DIY Kits[16]


 
MaKey MaKey[3]
 
Tweet-a-Watt[5]
 
Young Engineers[39]
 
Discover Electronics[2]
 
Snap Circuits[4]
 
littleBits[3]
 
Project packs[9]


 
Breakout Boards[35]
LCDs & Displays[49]
Components & Parts[70]
Batteries & Power[54]
EL Wire/Tape/Panel[52]
LEDs[112]
 
Wireless[16]
Cables[66]
 
Lasers[6]
Sensors/Parts[147]
 
Enclosures/Cases[11]
 
Solar[11]
 
RFID / NFC[13]
Prototyping[70]
 
iDevices[13]
Tools[71]
 
Wearables[41]
 
CNC[37]
 
Robotics[29]
 
3D printing[1]
 
Materials[25]


 
Stickers[41]
 
Skill badges[55]
 
Books[26]
 
Circuit Playground[7]
 
Gift Certificates[4]