#btt mmb AHT10 WITH HAPPY HARE

25 messages · Page 1 of 1 (latest)

obtuse hemlock
#

I dont know if this is a klipper or happy hare issue but im trying to connect a temp sensor to my bbt mmb but cant seem to get it right im using the happy hare config for the mmb
#[temperature_sensor chamber]
#sensor_type: AHT10

Also use AHT10 for AHT20 and AHT21 sensors.

#i2c_address: 56

Default is 56 (0x38). Some AHT10 sensors give the option to use

57 (0x39) by moving a resistor.

#i2c_mcu: mmu
##i2c_software_scl_pin: PB3
##i2c_software_sda_pin: PB4
#i2c_bus: i2c3_PB3_PB4
##i2c_speed:

See the "common I2C settings" section for a description of the

above parameters.

##aht10_report_time: 5

Interval in seconds between readings. Default is 30, minimum is 5

#

MCU 'mmu' shutdown: I2C NACK error encountered

coarse flare
#

I would ask in the happy hare server to be honest

obtuse hemlock
coarse flare
#

oof

#

only one I see for a temp sensor on the pdf is

obtuse hemlock
spiral plume
#

plausibly you have the wrong i2c address specified in code- have you tried the 57 address it suggests

coarse flare
#

you can also use the i2cdetect in linux

#

i2cdetect -l will list all i2c adapters

#

once you get the bus number, then you can do a i2cdetect -y <bus_number> to scan that bus for devices

spiral plume
#

the sensor would need to be connected to the single board computer

#

but yes, that would be my next suggestion

obtuse hemlock
#

whats what i get running i2cdetect -l i have tried 57,58,59 and all give me a MCU 'mmu' shutdown: I2C NACK error encountered

obtuse hemlock
#
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: 30 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
biqu@BTT-CB1:~$ sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- UU -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
```and it freezes when i try 0
coarse flare
#

It looks like it detects something on bus 30 and then you have one on the other bus for bus 36, but the bus 36 one is in use by the kernel

#

You can try to read some data from the one on 30 using

sudo i2cget -y 2 0x30 0x00

#

alternately, I would just edit the klipper config to try
i2c_address: 30

I would also try the one below if the 30 doesn't work

i2c_address: 36

#

you can also see which driver is using the one on 36 by running
ls /sys/bus/i2c/devices/1-0036/

obtuse hemlock
#

also what ones do i all need to define ```[temperature_sensor chamber]
sensor_type: AHT10

Also use AHT10 for AHT20 and AHT21 sensors.

i2c_address: 36

Default is 56 (0x38). Some AHT10 sensors give the option to use

57 (0x39) by moving a resistor.

i2c_mcu: mmu
#i2c_software_scl_pin: PB3
#i2c_software_sda_pin: PB4
#i2c_bus: i2c3_PB3_PB4
#i2c_speed:

See the "common I2C settings" section for a description of the

above parameters.

aht10_report_time: 5

Interval in seconds between readings. Default is 30, minimum is 5```

#

MCU 'mmu' shutdown: I2C NACK error encountered with these settings same when i use 36 ```[temperature_sensor chamber]
sensor_type: AHT10

Also use AHT10 for AHT20 and AHT21 sensors.

i2c_address: 30

Default is 56 (0x38). Some AHT10 sensors give the option to use

57 (0x39) by moving a resistor.

i2c_mcu: mmu
#i2c_software_scl_pin: PB3
#i2c_software_sda_pin: PB4
i2c_bus: i2c3_PB3_PB4
#i2c_speed:

See the "common I2C settings" section for a description of the

above parameters.

aht10_report_time: 5

Interval in seconds between readings. Default is 30, minimum is 5```

coarse flare
#

Looking at the klipper config documentation, https://www.klipper3d.org/Config_Reference.html?h=i2c#common-i2c-settings

The i2c_mcu should be pointing to the mcu that you are connecting the i2c to. If you are attaching it to the BTT MMB Can V1.0 and using the cfg from them, the mcu for that is ercf. See the config example below.

https://github.com/bigtreetech/MMB/blob/master/Firmware/bigtreetech-mmb-ercf.cfg

Here is what I would try to see if it works

[temperature_sensor chamber] sensor_type: AHT10 i2c_address: 56 i2c_mcu: ercf