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 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 9300 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…
Parents
  • beacon_dave
    beacon_dave over 2 years ago

    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 responding to any data present on the bus. 

    If so, issuing a soft reset after the last measurement might be worth a try.

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

    I haven't tried it yet. It is said on the data sheet. However, I will try it when I get another I2C device. It has a soft reset so it is good point to check. 

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

    Perhaps keep in mind that the data sheet may have some language translation errors.

    Running the Chinese data sheet through the likes of Google translate results in:

    "I2C Only a single AHT10 can be connected to the bus, and other I2C devices."

    which would make more sense. 

    However you would need to test it.

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

    If there is a translation error, it makes more sense. On AHT20 datasheet, it also says you can connect other devices. I will test it and see. It is also weird that the breakout board has two address (0x38 and 0x39) written on the PCB but no mention of 0x39 on the datasheet. 

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

    Pin 1 is labelled as 'ADR' on the AHT10 datasheet which may have been intended for address selection at some point. It is shown on the datasheet to be connected to ground.

    On the AHT20 datasheet it has been changed to NC and no ground connection shown. 

    Is the unused pad next to 0x39 connected to VDD per chance? If so looks like it was originally intended that pulling ADR down to GND set the address to 0x38 and pulling ADR up to VDD set the address to 0x39.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • msimon
    msimon over 2 years ago in reply to beacon_dave
    beacon_dave said:
    Is the unused pad next to 0x39 connected to VDD per chance? If so looks like it was originally intended that pulling ADR down to GND set the address to 0x38 and pulling ADR up to VDD set the address to 0x39.

    image

    I suspect that 10k resistor is connected to pin1 which is ADR. The empty connection should be pin6 which is stated no connection. Maybe pin1-pin6 is address select. I will try to desolder it and change position. 

    I have attach TMP102 and AHT10 on the same I2C bus. Actually, it works. Occasionally, it stops but not sure it is related to I2C. I will be running the code for a long duration and see how it works.  It looks like, there is a translation error.

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

    I suspect that the middle of the three pads is Pin1 (ADR), the left pad is GND and the right pad is VDD. You could confirm that with a meter test onto the 3V3 regulator. 

    I suspect that the intention was pulling low sets it to 0x38 (default) and pulling high sets it to 0x39, but perhaps something went wrong and 0x38 only worked. However you could give it a go in the 0x39 position and see if it responds to that address.

    If you can get a scope on the I²C bus then you should be able to confirm if it is behaving nicely or not.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • 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
  • 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
Reply
  • 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
Children
No Data
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