SB2040 Canbus Temperature Issue

Basic Information:

Printer Model: Voron Tridex (IDEX Modified Voron Trident)
MCU / Printerboard: BTT Manta M8P mainboard, BTT U2C, and 2 Mellow Fly SB2040-V2’s
klippy.log (54.6 KB)

Describe your issue:

I have run into an issue with the temperatures for my canbus tool boards. I am using 2 SB2040 tool boards connected to a BTT U2C at a 1MHz baud rate. Both tool boards read incorrectly for both the attached hotend thermistors and the onboard thermistors.

  • I have tested the thermistors and both are good, but I have also used different types/brands and encountered the same issue.
  • The endstops, lights, fans, and stepper drivers on both boards work without issue.
  • I have tried using gpio29 instead of gpio27 for the hotend thermistor, but experienced the same issue.
  • I have also reflashed the firmware on both boards.

Any help would be appreciated, I am completely lost. Apologies in advance for any incorrect formatting.

Below is the config for one of the tool heads:

[mcu toolboard_0]
canbus_uuid: 4daeeb3b3ea1
#canbus_interface: can0

#####################################################################
#   Extruder
#####################################################################

[extruder]
step_pin: toolboard_0:gpio9
dir_pin: toolboard_0:gpio10
enable_pin: !toolboard_0:gpio7
rotation_distance: 21.658
gear_ratio: 50:10 # CW2 gear ratio
microsteps: 32
full_steps_per_rotation: 200
nozzle_diameter: 0.40
filament_diameter: 1.75
max_extrude_cross_section: 1.75
max_extrude_only_distance: 100.0
heater_pin: toolboard_0:gpio6
sensor_type: NTC 100K MGB18-104F39050L32
sensor_pin: toolboard_0:gpio27
min_temp: -100 #0
max_temp: 9999 #270
max_power: 1.0
min_extrude_temp: 170
control: pid
pid_Kp: 36.965
pid_Ki: 4.650
pid_Kd: 73.46
pressure_advance: 0.0
pressure_advance_smooth_time: 0.040

[tmc2209 extruder]
uart_pin: toolboard_0:gpio8
interpolate: false
run_current: 0.50
sense_resistor: 0.110
stealthchop_threshold: 0

#[filament_switch_sensor T0_Sensor]
#switch_pin: !toolboard_0:gpio29
#pause_on_runout: False

[temperature_sensor T0_Temp_Ambient]
sensor_type: ATC Semitec 104GT-2
sensor_pin: toolboard_0:gpio26
min_temp: -200
max_temp: 120

#####################################################################
#   Fan Control
#####################################################################

[fan_generic print_cooling_t0]
##  Print Cooling Fan
pin: toolboard_0:gpio13
kick_start_time: 0.5
off_below: 0.10

## Hotend fan
[heater_fan extruder_fan]
Pin: toolboard_0:gpio14
max_power: 1.0
kick_start_time: 0.5
heater: extruder
heater_temp: 50.0
##  If you are experiencing back flow, you can reduce fan_speed
fan_speed: 1.0

#####################################################################
#   Accelerometer
#####################################################################

[adxl345 toolboard_0]
cs_pin: toolboard_0:gpio1
spi_software_sclk_pin: toolboard_0:gpio0
spi_software_mosi_pin: toolboard_0:gpio3
spi_software_miso_pin: toolboard_0:gpio2
axes_map: z,y,x

[resonance_tester]
accel_chip: adxl345 toolboard_0
probe_points:
    100, 150, 50
[temperature_sensor FLY-SB2040] # MCU
sensor_type: temperature_mcu
sensor_mcu: sb2040

[temperature_sensor Ambient] # Integrated NTC
sensor_type: ATC Semitec 104GT-2
sensor_pin = sb2040:gpio26

[extruder]
...
sensor_type: ...    # Mind the jumper setting
sensor_pin: sb2040:gpio27

According to the documentation, these should be the relevant pins. There also seems jumpers that change the pull-up resistor values to accommodate NTC vs. PT1000.

From my understanding, the pull-up is set to 4700 when the jumper is disconnected and 1000 when the jumper is in place. I have had it set to 4700 because I’m using a NTC 100k thermistor instead of the PT1000, but I have tried both and the temperature does not change at all.

I do not have this board, but from the documentation you seem right.

From your klippy.log:

[extruder]
...
sensor_type = NTC 100K MGB18-104F39050L32
sensor_pin = toolboard_0:gpio29

This does not seem correct, but the rest seems OK, so I don’t really know what is going on.

Thanks anyway, I think there is something wrong with the boards. I’m just going to run the thermistor wires directly to the main board.