element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • 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
  • About Us
  • 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 AHT10 - I2C problem
  • 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 41 replies
  • Subscribers 337 subscribers
  • Views 9572 views
  • Users 0 members are here
  • sensors
  • AHT10
Related

AHT10 - I2C problem

msimon
msimon over 2 years ago

I just bought AHT10 humidity and temperature sensor. I have seen that it supports I2C and it is cheap so I didn't think thoroughly and bought two. I wanted to try them then I encounter a problem that only a single AHT10 can be connected to single I2C bus. I thought it is related to static address but it is worse (breakout board also showing two address but no details in the datasheet). The datasheet says that "Only a single AHT10 can be connected to the I2C bus and no other I2C devices can be connected." It sounds like traditional serial communication like RS232 not I2C. 

Is it normal to advertise it as an I2C device? and I also wonder what is the technical issue preventing to connect other devices with different address. Did you have any experience similar to this on any other sensor?

  • Sign in to reply
  • Cancel

Top Replies

  • beacon_dave
    beacon_dave over 2 years ago +4
    Have you tried using the AHT10 with another device on the same I²C bus to see what happens ? It may be that it doesn't observe the stop condition so doesn't release itself from the host and continues…
  • BigG
    BigG over 2 years ago in reply to beacon_dave +4
    Both datasheets (AHT10 & AHT20) show that the sensor operates on microAmps, so powering by GPIO is possible too...
  • michaelkellett
    michaelkellett over 2 years ago +3
    I had a quick look at the data sheet. They don't appear to offer an explanation for why it doesn't work with other devices. I've used several other I2C humidity sensors and lots of I2C devices of other…
  • msimon
    msimon over 2 years ago in reply to beacon_dave

    You are right  beacon_dave 100 The left is ground and the right one is power. I had a horrible soldering but at least make it work on 0x39.  However, when I connect both sensors it stops after sometime. I need a scope to see what is going on. 

    image

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

    You may be able to work around the stopping issue by issuing a soft reset or by powering off a GPIO pin to allow you to cycle the power.

    If you are putting the device to sleep to conserve power anyway, then you would likely be powering up the sensors, taking a reading, powering the sensors down, transmitting the data, putting the microcontroller back into deep sleep, in which case you aren't likely to encounter the stopping after sometime problem.

    However it would be interesting to see what is going on seeing as you've got this far.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • beacon_dave
    beacon_dave over 2 years ago in reply to shabaz
    shabaz said:
    VGA etc is a bit of an exception, since it's only intended for one device

    Perhaps not strictly true as about 20 years ago VESA (and Philips) had already considered 'Internal Display Dependent Devices' and 'External Display Dependent Devices' to share the same I²C bus.

    The spec lists stuff like:

    • Smart Battery, Charger, Selector
    • Audio Processor
    • PAL/NTSC Decoder
    • DDC2B Monitor(memory) 

    and:

    • Touch Screen, Light pen or Remote Control Track Ball
    • Speaker / Microphone
    • Home Network IF (power line modem)
    • Luminance Probe or Colorimeter
    • IR keyboard and remote control pad (shared IR channel)

    As it progressed into DVI and then HDMI you then had HDCP handshaking on the bus as well.

    I've unfortunately encountered display equipment with loop through ports which can result in additional devices appearing on the bus often with the same address. 

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

    I seem to recall that the early days DDC used the VSync clock, so was very slow in comparison.

    Isn't Standard Mode clocking 100kHz and Fast Mode is 400kHz ? Or is the new standard now fast mode ? Upside down

    I seem to recall that there is also a Slow Mode (at around 10kHz ?) which would probably have been more appropriate for EDID.

    With the introduction of bidirectional mode though I think 100kHz was standardised with the option to use 400kHz.

    It looks like the I²C peripheral SAM D21 in the MKR WAN can't be set below 100kHz which is unfortunate as the AHT10 has no minimum clock speed.

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

    The power consumption is important as this should be a battery powered device. I still don't have a complete design. If pin count will not be an issue, it is better to activate sensors via GPIOs. Also, I will make the whole bus to sleep as natural temperature doesn't change significantly in a short period of time. Maybe the issue will not occur in the system.

    However, I wanna learn what is going on. It is over an hour and 0x39 is still working alone without an issue. Hope, I will have a chance to check this on a scope soon. 

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

    Yes, you're right. The original I2C standard was 100kHz, but I got so used to working at 400kHz that I always misremember that as being the standard.

    The only reason I know anything about DDC/EDID is that I once designed a box to sit in place of a monitor, to take VGA, digitise it, and process it with an FPGA to drive LED screen modules that the company I worked for made. Long time ago, though. All the PC graphic cards we had at the time were driving the EDID somewhere around 30 or 40kHz. I don't know what the VESA standard said - we didn't want to pay thousands of dollars to join and find out - we just wanted it to work with real PCs that it might be connected to (the EDID, at our pseudo-monitor end, was just an EEPROM powered from the cable with appropriate data in it, so it was a very minor part of the system).

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • shabaz
    shabaz over 2 years ago in reply to beacon_dave

    I'm surprised they considered sharing an I2C bus on multiple external devices (plus internal), but I guess they were trying to get as much use out of their patent as they could. There's no error-checking on I2C, and risky if internal devices could be misconfigured dependent on the length of external cables. I guess it's feasible with care, but not something that could be recommended for normal uses.

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

    That sounds an interesting project as about 15 years ago was after something similar as I wanted to be able to grab part of a VGA display and simultaneously display it on a large LED matrix.

    The EDID data causes an interesting issue with some FPGA designs as the source is supposed to be able to read the EDID data even when the display device is powered off. Hence why the source supplies  a limited +5v to power the EDID memory device in the display.

    Even within the VESA standard documentation it keeps referring back to the I²C standard for more info on timing.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • jerosq
    jerosq over 1 year ago

    Hi msimon ! I just ordered a couple ATH10 sensors without thinking much about it and when I downloaded the datasheet to start coding in advance I found the very sentence you are mentioning: "Only a single AHT10 can be connected to the I2C bus and no other I2C devices can be connected". I read this whole thread but I wanted to ask if you were able to share the I2C bus with other devices and if so, which ones ? 

    My idea is to also include a BMP180 atmospheric pressure sensor, as well as a I2C LCD display. Of course, they have different addresses, so in theory it should work, but this claim on the datasheet is alarming. I read about that library to make I2C work with any two pins, but I just couldn't understand how to couple that with the AHTxx or AHT10 library. It goes a bit over my head, and I couldn't find any examples.

    On a side note, were you able to change the address by moving the resistor? Did it work normally with address 0x39? 

    Thanks in advance, this thread alone has been super informative so far. 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • jerosq
    jerosq over 1 year ago in reply to jerosq

    UPDATE: 

    Sensors have arrived. It definitely seems like a translation error, as I was able to share the bus with the BMP180 sensor with no issues.

    Regarding the address change, I managed to move the resistor to the 0x39 spot and after wrestling a bit with the library I managed to get it working in said address. I'm yet to connect two sensors (0x38 & 0x39) simultaneously, but I think it'll work.

    Maybe the ATH10 wasn't as bad as I expected when reading about it in forums! 

    • Cancel
    • Vote Up 0 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