element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Sensors
  • Technologies
  • More
Sensors
Sensor Forum Could you help me find issue in sensor circuit?
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Sensors to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 20 replies
  • Subscribers 340 subscribers
  • Views 4612 views
  • Users 0 members are here
  • eagle
  • pcb
Related

Could you help me find issue in sensor circuit?

embeddedguy
embeddedguy over 2 years ago

I have designed a sensor with magnetometer and pressure sensor(ICP20100). After ordering the PCB and having done initial test, I could not find the ICP20100 on I2C bus(Address=0x63) while the other sensor is showing on the I2C bus.

Could you help me find the issue in my circuit diagram(Screenshot below)? as this could be the likely source of issue with the PCB. 

Note: As per the datasheet the CSB pin need to be high for I2C to active, hence I have removed the 10k resistor and short the pins.

The issue could be the capacitors C8/9 which needs to be low ESR as per datasheet. I ignored it because it was hard to find a caps which have this parameter listed in datasheet. So I used capacitors with same value and tolarances.

image

  • Sign in to reply
  • Cancel

Top Replies

  • Andrew J
    Andrew J over 2 years ago in reply to scottiebabe +3
    You’re right (of course). If the MPU6050 thinks it is the master for the downstream sensors, then it won’t be possible to enumerate these on the I2C bus from the system processor. What I don’t understand…
  • Andrew J
    Andrew J over 2 years ago +2
    Pin 6, ADO, defines the I2C address: low is 0x63; high is 0x64. This pin is connected to something off image and the component SJ4. Perhaps that is tied to ground somewhere which would seem ok, but if…
  • Andrew J
    Andrew J over 2 years ago in reply to Andrew J +2
    As a final thought, there are Arduino scripts thst enumerate the I2C bus to tell you what is on it. You could use, or adapt, that to check it isn’t hiding. In fairness though, I think the issue is how…
  • rsjawale24
    rsjawale24 over 2 years ago

    My initial guess is pull up resistors on the I2C line. Have you used pull up resistors on the I2C lines? If not, I suggest you try using two pull up resistors of about 10kohms on SCL and SDA lines. 

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • embeddedguy
    embeddedguy over 2 years ago in reply to rsjawale24

    Yes, there are pull-ups already in the circuit(10k each). 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • scottiebabe
    scottiebabe over 2 years ago

    The first thing that stood out in the datasheet

    image

    https://product.tdk.com/system/files/dam/doc/product/sensor/pressure/capacitive-pressure/data_sheet/ds-000416-icp-20100.pdf 

    That seems odd, I'm not sure...

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • Andrew J
    Andrew J over 2 years ago

    Pin 6, ADO, defines the I2C address: low is 0x63; high is 0x64.  This pin is connected to something off image and the component SJ4.  Perhaps that is tied to ground somewhere which would seem ok, but if not - e.g. it is permanently high, or fluctuates, it will be 0x64 or just won’t work properly.  First thing is to test the voltage of pin6, preferably with a scope to see if it is fluctuating.  I can’t tell what SJ4 is so can’t check its datasheet.  The caps you mentioned don’t impact the I2C interface - note, don’t add capacitance to the I2C lines as it will affect the rise times and it may well not work properly.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • Andrew J
    Andrew J over 2 years ago in reply to Andrew J

    As a final thought, there are Arduino scripts thst enumerate the I2C bus to tell you what is on it.  You could use, or adapt, that to check it isn’t hiding.  In fairness though, I think the issue is how you’ve connected ADO.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • embeddedguy
    embeddedguy over 2 years ago in reply to scottiebabe

    That is an excellent suggestion. Actually I tried this after you suggested. But still the device is not showing up in i2cscan.

    The thing is that I have three sensors in one pcb. MPU6050 + HMC5883L + ICM20100. Other two are showing up but not this one.

    I do not think that there is a problem with schematic after Andrew J said that caps do not impact the i2c interface.

    Next I will try some other means and check if SPI interface works!!? Or doing the same thing again?

    image

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • embeddedguy
    embeddedguy over 2 years ago in reply to Andrew J

    Hi Andrew J 

    Thank you for your valuable feedback. Actually SJ4 is a jumper. So the device can be either at 0x63, if soldered to GND or it can be at 0x64. So in my case it will be 0x63 as it is soldered to GND pad.

    Yes, I am trying the arduino i2cscan program to identify the device. Followed scottiebabe  suggestions and will try some other means to see if the sensor can work.
    Thanks again!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • scottiebabe
    scottiebabe over 2 years ago in reply to embeddedguy

    I'm sorry to hear your sensor board doesn't  work at first power up, it happens. 
    If you have a known working breakout board for the sensor I would connect that to rule any control or supporting electronics on your board. It could just not be soldered correctly or damaged by soldering, cleaning etc...  

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • genebren
    genebren over 2 years ago

    This might be a minor thing, but in looking at your schematic, there is only a single RESV pin (with no pin number), while the PDF specification shows two RESV pins (pin 8 and 9).  Maybe the the linked schematic  (by scottiebabe ) is for a different version of this chip, but I would double check this part of the schematic and the library package for the ICP-20100.

    Also, the section of the schematic that you have included does not show all the power routing. Are all of the I2C chips being powered at 3.3V? With I2C being an open collector interface there should not be too much of an issue, unless some of the I2C devices are powered at higher voltages, then they might have logic level issues and not see logic high levels.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • Andrew J
    Andrew J over 2 years ago in reply to embeddedguy

    So your jumper SJ4 is set to link either pins 1 and 2 or pins 2 and 3?  1 and 2 connect it to high (e.g. VSS voltage) and 2 and 3 to low (I.e. GND).  And currently it is pins 2 and 3?  Where does that trace go from pin 6 ADO off image?  Unfortunately, there’s a lot “off-image” in what you have pasted so it’s not possible to tell but TBH that looks a bit iffy unless it is to another jumper which is set exactly the same way as SJ4.  It feels like where missing a useful part of the picture here.

    If you aren’t finding it on the bus, in my experience it has always come down to one of two things: (1) the IC isn’t powered; or (2) the address hasn’t been setup correctly.  Research tells me that it could also be a third thing: (3) too much capacitance on the SCL and/or SDO lines - you don’t have any additional external capacitors on those traces anywhere do you?  That impacts the rise time of the signals and the device ends up operating erratically or not at all.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube