Skip to content

Update to add support for AHT30 sensor#826

Open
jimmyjon711 wants to merge 6 commits intoKalicoCrew:mainfrom
jimmyjon711:klipper_aht10
Open

Update to add support for AHT30 sensor#826
jimmyjon711 wants to merge 6 commits intoKalicoCrew:mainfrom
jimmyjon711:klipper_aht10

Conversation

@jimmyjon711
Copy link
Copy Markdown
Contributor

@jimmyjon711 jimmyjon711 commented Feb 10, 2026

AHT30 sensor is used in BTT ViViD filament changer, this update is needed so that AFC can support ViViD with kalico.

Picture below shows sensors working correctly:
image

Cherry-picked commits from the following PR:
Klipper3d/klipper#7118

Checklist

  • pr title makes sense
  • added a test case if possible
  • if new feature, added to the readme
  • ci is happy and green

@jimmyjon711 jimmyjon711 marked this pull request as draft February 10, 2026 23:46
@jimmyjon711 jimmyjon711 marked this pull request as ready for review February 11, 2026 00:26
@jimmyjon711 jimmyjon711 force-pushed the klipper_aht10 branch 2 times, most recently from aade4ce to 65d9433 Compare February 19, 2026 00:59
@jimmyjon711 jimmyjon711 changed the title Cherry-picked AHT30 sensor changes from Klipper Update to add support for AHT30 sensor Feb 19, 2026
@DrFate09
Copy link
Copy Markdown

DrFate09 commented Mar 2, 2026

This PR fixed the issue I was having with the humidity sensor (it uses AHT10.py) that I have in my QIDI Box (MMU unit).

Comment thread klippy/extras/aht10.py

def _send_init(self):
self.i2c.i2c_write(CMD_INIT_AHT1X)
self.reactor.pause(self.reactor.monotonic() + 0.040)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a comment on one of my PR's about this not actually being effective. This is one of those developer cookbook topics that we should write up.

Comment thread klippy/extras/aht10.py

# Backwards compatibility alias
pheater.add_sensor_factory("AHT10", AHT1x)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: blank line not needed

Comment thread klippy/extras/aht10.py


class AHT1x(AHTBase):
model = "aht1x"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is fine. Personally I would have made this a constructor argument so it would be obvious that its required and that it needs validating validated.

Copy link
Copy Markdown
Contributor

@garethky garethky left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall this looks like a good refactor

Copy link
Copy Markdown
Member

@kageurufu kageurufu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs rebase then it's good to merge

loss-and-quick and others added 6 commits April 21, 2026 10:45
Signed-off-by: Lev Voronov <minicx@disroot.org>
Split into three classes with proper init commands:
- AHT1x: 0xE1 (AHT10, AHT15)
- AHT2x: 0xBE (AHT20, AHT21, AHT25)
- AHT3x: auto-cal (AHT30)

Signed-off-by: Lev Voronov <minicx@disroot.org>
Signed-off-by: Lev Voronov <minicx@disroot.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants