I wanted to add a BTT SFSv2 to my Sovol SV08, and needed additional pins to support both the motion and runout sensors than the SV08 mainboard supported. While there are alternative approaches (including wiring the sensor to the toolhead MCU), I figured have some additional pins could be useful for other future additions to the printer (exhaust fan, heater block, etc.).
I couldn't find a case for the STM32 WeAct BluePill+ (https://www.aliexpress.us/item/3256804732020002.html) and I wanted one that gave me space for the wire harness I am using with the BTT SFSv2.
I printed this in PETG on my Ender-3 V3 SE using a 0.6 nozzle and 0.2 layer height. Tolerances are tight, so you may need to tweak the top to make sure it fits and stays put. I may refine the bottom for mounting, but I haven't landed on a final location for it on my printer.
Here's the configuration I'm using w/ SV08's stock Klipper. (I'm planning to go mainline, but am still using stock for now. I initially installed Katapult on the STM32, so it is easy to replace firmware when needed.)
[mcu external_mcu] serial: /dev/serial/by-id/usb-Klipper_stm32f103xe_51FF6F064978875544192567-if00 restart_method: command [filament_switch_sensor filament_sensor] pause_on_runout: true event_delay: 3.0 pause_delay: 0.5 switch_pin: external_mcu:PB10 insert_gcode: M117 BTT SFSv2 detected filament {action_respond_info("BTT SFSv2 detected filament")} runout_gcode: M117 BTT SFSv2 missing filament {action_respond_info("BTT SFSv2 missing filament")} [filament_motion_sensor motion_sensor] pause_on_runout: true detection_length: 4 extruder: extruder switch_pin: external_mcu:PB11 insert_gcode: M117 BTT SFSv2 filament encoder active {active_respond_info("BTT SFSv2 encoder active")} runout_gcode: M117 BTT SFSv2 missing filament {action_respond_info("BTT SFSv2 encoder stalled")}NOTE: My original configuration snippet above had the MCU titled as extra_mcu, but I have sense discovered that the boot scripts on the stock SV08 distribution will rewrite the device ID to the one used by the toolhead. This make sense as stock behavior and I've mitigated in my configuration by renaming it to external_mcu.
모델 소스
