A message from our CEO about the future of Stack Overflow and Stack Exchange. Read now.

Questions tagged [i2c]

I²C (Inter-Integrated Circuit) is a multi-drop serial bus invented by Philips (now NXP) for communication between ICs on the same PCB, i.e. short distance.

Filter by
Sorted by
Tagged with
0
votes
1answer
527 views

NXP i2c temperature probe locking up

I have an issue with an NXP SE95 temperature probe that has been working just fine up until now on other systems. At some point, either on boot or soon after, the probe will have some sort of meltdown ...
5
votes
2answers
3k views

Unpowered devices on I2C/SPI bus

I'm trying to develop a board that includes I2C and SPI devices that are unpowered for the majority of the time to save power. I found that for these particular devices (Honeywell HSC pressure sensors)...
0
votes
1answer
933 views

Problems with I2C on PIC18F25K22

I've been googling for about two weeks now and I still can't seem to get my I2C working. I've used this (what seems to be complete) tutorial. I followed the Master Write and Master Read examples to ...
4
votes
1answer
2k views

Problem using DS1337 - RTC

I am trying to use a edited version of the library given at this link. I basically changed some of the included file and some of the changed function of the wire.h library. Though I am not a hardcore ...
4
votes
2answers
5k views

I2C General Call Confusion

I'm trying to understand how the I2C "General Call Address" is supposed to work for implementing in a microcontroller. According to the I2C Specification (PDF), Section 3.1.13: When bit B is a '...
0
votes
1answer
96 views

I2C access on M41T00CAP RTC device

I am trying to access "M41T00CAP RTC" device through I2C. there are other I2C devices also, which I am able to access perfectly. but in case of RTC device , I am not able to read the register ...
1
vote
1answer
2k views

Relationship between clock speed and I2C bus speed

I have understood how the I2C protocol works. The I2C protocol specifies three modes, namely 100kbps (original speed), 400kbps (fast mode) and 3.4 Mbps (high speed mode). One thing I didn't understand ...
1
vote
0answers
258 views

MCP23017s and arduino problems

I'm not native English speaker, so forgive me my bads. Ok. Here's the deal. In my Arduino UNO I need more outputs and inputs. I bought 3 MCP23017s. One of them for receive states from 8 ...
1
vote
1answer
355 views

What is purpose of zener diodes in this circuit?

I am reading the I2C tutorial: https://learn.sparkfun.com/tutorials/i2c/all Why wouldn't it work without the zener diodes? What functionality are they adding? They are just there to keep the voltage ...
2
votes
1answer
373 views

Bit-banging I2C question

When bit-banging I2C using 2 PIO lines do these lines still need to be pulled high? Obviously using a dedicated I2C bus the lines must be pulled high as the pins are open-drain outputs but PIO pins ...
4
votes
1answer
960 views

bitbanging i2c problem with ACK from slave

I am trying to implement bit-banging i2c to communicate between an atmega128A's GPIO and an SHT21 (I2C bus was used for some other devices). The first task is to send a write sequence to the SHT21. ...
8
votes
3answers
11k views

How is the clock frequency established between master and slave in I2C protocol?

This is a follow-up question to What happens if I omit the pullup resistors on I2C lines? In a digital wall clock I designed (using the DS1307 RTC and the ATmega328 MCU), I accidentally omitted the ...
-1
votes
2answers
454 views

Select channel from multiplexer to show temperature values in c programming

I have question regarding selecting channel from multiplexer. I'm trying to receive some temperature reading from the two sensors which shared the same address and while I'm using one sensor, it can ...
33
votes
7answers
47k views

What happens if I omit the pullup resistors on I2C lines?

Just now I realized that the I2C data and clock lines (SDA and SCL) must have pullup resistors. Well, I've built a couple of clocks using the DS1307 RTC (see datasheet) according to the schematic ...
0
votes
1answer
345 views

Where to find I2C register information for MAX21000+?

The datasheet for the MAX21000+ IC contains a table listing all of the registers and their default values but doesn't include any description of each of the register bits. I assume there must be a ...
3
votes
1answer
4k views

HD44780 initialization for 4-bit mode?

I have successfully implemented the I2C protocol necessary to communicate with the device, but I am absolutely stumped on the initialization sequence to get it to work. I have tried countless ...
3
votes
1answer
1k views

I2C communication with AVR - how to let the lines “float”?

I am trying to implement I2C using an AVR controller without the designated internal TWI registers. The I2C protocol requires that the Master device drives the SDA and SCL lines to begin with in ...
3
votes
3answers
881 views

Do you always need a GPIO expansion chip when using i2c?

SUMMARY: I'm trying to learn the basics of understanding how to wire up a simple circuit using the i2c. I'm wanting to build just a simple project involving an LED and a push button with my raspberry ...
2
votes
1answer
294 views

Is it possible to use a digital pressure sensor with a ATtiny4313?

I have a pressure sensor as follows, tested and works great with the Arduino Uno: Output is digital through SCL/SDA..... Will I be able to use this directly with the ATtiny4313 coding with Arduino ...
1
vote
1answer
998 views

Interrupt Service Routines and I2c together

I would like to ask a question that has been on my head for a while I have done coding small ISR's for pic and AVR controllers and i have successfully tested them on board.And i have just learned ...
1
vote
3answers
833 views

LTC2485 I2C Data Format

I am trying to understand the I2C data format of a 24 bits ACD (LTC2485). The data sheet says it returns 4 bytes (32 bits integer), but is unclear as to where the 24 bits I seek are located. Here is ...
3
votes
2answers
2k views

How to ensure data integrity when using I2C with a PIC

When master device transfers a piece of data, slave will acknowledge back once the data has been received by slave. So it's not possible to ensure the data integrity by only polling ACK. I ...
1
vote
3answers
656 views

I2C Level translation

In our current design, we have two devices which communicate with each other using I2C. But their I2C logic levels are different, so we need to use a level translation? Can I use a simple level ...
1
vote
4answers
2k views

How to find out how many sensor you can add to a I2C or SPI protocol?

I am having problems to find out exactly how to connect sensors to make a project. The main issue is that I cannot find a device that can drive enough analog sensor, so I need to use either SPI or ...
1
vote
1answer
944 views

I2C bus and Arduino Uno

I'm not really sure if this is the correct place but here we go. I'm in the process of creating a robot for Uni and the hardest part for me is the hardware side of it, specifically the electronics. ...
1
vote
1answer
5k views

PCA9685 (12-bit PWM I2C LED controller) and Arduino

I tried to get a PCA9685 to work at the moment I am using an Arduino with this library to test it but I can't get it to work. I have the Arduino Uno rv3 I wired the scl of the Arduino with the scl of ...
0
votes
1answer
1k views

STM32F207 I2C errors

I am learning embedded development on the STM3220G-EVAL board with the STM32F207 microcontroller. I am testing the I2C interface by interfacing the two I2C2 and I2C3 modules on the same chip and ...
1
vote
0answers
471 views

problem with CPLD and 24C16 EEPROM interface

Can any one say if it is possible to implement this code in ATMEL 24C16 EEPROM device for write the data. While I am implementing this with CPLD xc9572 I/O Pin declared as sda, scl there won't have ...
2
votes
2answers
224 views

Low profile i2c level shifting solution

I have a system that involves two boards and i2c communication between them. One of the boards uses 2.8V for i/o (including i2c) and the other 3.3. The 3.3V board is always the master and the 2.8V ...
4
votes
1answer
494 views

Wiring multi node devices with i2c

I wanted to confirm that my approach is correct for wiring multiple devices together communicating over I2C when each node is utilizing DC\DC converters. Should I be including a ground connection over ...
3
votes
3answers
8k views

Changing I2C address

I need to connect two Si114x light sensors to one I2C bus. I don't have them physically yet. Every sensor has the same I2C address, so connecting them with the default settings would mean a conflict. ...
2
votes
2answers
2k views

Can I2C Master Stretch the clock?

The I2C manual by NXP allows Clock Stretching (holding SCL low) by slave devices in order to have the master wait for them to process data, interrupts and the like. This is all fine and well, although ...
0
votes
1answer
757 views

MCP23017 Failing After Several Minutes?

I just bought an MCP23017 port expander and hooked it up to my an Arduino card. I used the sample code to turn on four LEDs when the program launches. Works great, except that after several minutes ...
0
votes
1answer
687 views

Function setting on SPLC780D LCD

I'm drawing a bit of a blank with this. I have a 1602A-1 16x2 LCD screen hooked up to an i2c port expander chip. I'm using the screen in 4 bit mode so I have DB4-7 hooked up to GPIO 0-3 respectively. ...
1
vote
1answer
1k views

I2C slave not pulling down SDA data line for the full clock cycle

I am communicating with some slave devices via multiple busses, however even though they are all the same device (http://www.invensense.com/mems/gyro/mpu3050.html) and all receive the same message/...
3
votes
3answers
1k views

What does overlaping indicate in i2c timing diagram

I am studying how i2c devices works...and I have downloaded a power point presentation from Google, I have understood almost every basic concept, like, how the start and end of the transfer occur, ...
1
vote
1answer
5k views

Why does last data of I2C DMA transfer break?

I used DMA to transfer I2C data, but I always lose the last data. hardware configuration is shown below: ...
2
votes
2answers
3k views

Contacting InvenSense MPU9150 auxiliary magnetometer

I am trying to reach InvenSense MPU9150 magnetometer using master mode disabled and bypass mode enabled. These values are written to and then confirmed from the MPU9150 : ...
1
vote
1answer
866 views

How to determine I2C Master timing parameters

I am relatively new to I2C, but I have done much reading on the topic and I am confused as to the timing parameters necessary when designing an I2C Master. I know of this chart from the manual on ...
1
vote
1answer
675 views

RaspberryPi I2C sensor - capacitor's role

I'm new here and the same goes to my electronics "history". I like to understand things I'm dealing with even if I wasn't provided with a sufficient knowledge background at schools. What I'd like to ...
1
vote
2answers
5k views

I2C on PIC12s using MPLAB x (win7) and XC8

I am from a programming background, but very new to microcontrollers. Pardon me if this question is very basic, or doesn't make complete sense. I'm trying to bootstrap my knowledge, and the learning ...
0
votes
1answer
403 views

MCP23017 in series

I have a hand full of MCP23017 (16 bit multiplexers/ I/O Expander) but I can only get 8 IC on the bus due to the limit of address but I need 200 pins (about 13 ICs) for a 8*8*8 RGB cube and was ...
1
vote
1answer
1k views

Acknowledge polling in EEPROM

I am using C18 compiler and I learned that acknowledge polling feature will greatly help in reducing the write time that is to remove the fixed delay in traditional methods. Well I am using EEPROM ...
8
votes
1answer
4k views

Is it possible to only utilise SMBus on PCI Express 1X?

According to the Wikipedia page on PCI Express, the PCI-e 1X slots have 18 pin positions on two lanes (so 36 pins) and positions 5-9 represent SMBus and JTAG. I'd like to hook up a µC as an ...
3
votes
3answers
414 views

Increase GPIO outputs

I'm working on a project in which I need 32 outputs from an MCU that only has 8 free outputs. To accomplish my goal I have the following requirements: I must be able to toggle more than one output ...
0
votes
1answer
152 views

Strange I2C Behaviour on PIC and some doubts

I'm posting the Code here: ...
0
votes
2answers
1k views

PIC 32 two I²C slave address

I'm developping for a pic32 plateform. My application consists to realise I²C communication between µC 8051 and PIC32. The 8051 is the master and the PIC32 is the slave. I have established a I²C ...
1
vote
1answer
564 views

I2C delay needed and c18

I am using I2C and I have earlier posted doubts about I2C here. I am using PIC controllers and using their compiler C18. I used their libraries to build a function to write data in EEPROM via I2C, and ...
3
votes
2answers
4k views

I2C and SPI Bus Routing

When routing an I2C (SDA, SCL) bus or SPI (SCLK, MOSI, MISO) bus to multiple slaves is it preferred to wire the slaves in parallel or series? Below are two diagrams with distances labeled to help with ...
2
votes
1answer
1k views

I2C Pull-ups with Multiple Power Supplies

If I have an I2C Master with multiple I2C Slaves all on separate 3V3 lines (i.e. 3v3_Master, 3V3_Slave1, 3V3_Slave2... etc.) does it matter which 3V3 line the pull-up resistors on the line connect to? ...