You can setup Smoothie to handle as many extruders as you'd like.
There is no limit in the firmware : you simply add Extruder ( controlling the extruder motor ) and TemperatureControl ( controlling the hotend ) modules to the configuration file for each new extruder.
For each extruder you are going to need :
- One temperature input for the hotend. Smoothieboard has 4 thermistor inputs, this means one heated bed and three hotends, or four hotends and no bed. To add additional hotends you have the option of using thermocouple external boards, which can be connected to the SPI port : either a single one, or four using a SPI hub, leaving you with a maximam total of 8 hotends, or more if you chain SPI hubs.
- One MOSFET output : Smoothieboard has 6 MOSFET outputs maximum ( 3 small 3 big ) that can be used for hotends, but depending on whether or not you use a bed you might only have 5 available. However you can wire external MOSFETs or SSRs to any free GPIO pin, giving you as many as there are free GPIO pins ( going to 8 or more being then easy ).
- One stepper motor driver. Smoothieboard has 5 maximum ( depending on board type ). You need 3 for 3-dimensional movement, regardless of your arm solution. This leaves you being able to drive at most two extruders with the on-board drivers. However, wiring additional drivers is as simple as using free GPIO pins. Simply wire any pin on the Smoothieboard as the step, direction and enable pins for your external stepper driver.
This means, assuming you are using a heated bed, you can drive two extruders easily with what is on-board the Smoothieboard. To go to three extruders you will need to add one external stepper motor driver. To go to four you will need to add another external stepper motor driver, and use a SPI thermocouple temperature input external board, etc …
We will here concentrate on a dual extruder setup.
The default configuration in the Smoothie firmware is for a single extruder.
In order to setup a second one, you need to use the syntax dedicated to multiple extruder systems. This means using the "module generation" syntax you could be familiar with from the TemperatureControl and Switch modules.
Here is what it looks like :
# Extruder module configuration extruder.first.enable true # Whether to activate the extruder module at all. All configuration is ignored if false extruder.first.steps_per_mm 400 # Steps per mm for extruder stepper extruder.first.default_feed_rate 600 # Default rate ( mm/minute ) for moves where only the extruder moves extruder.first.acceleration 500 # Acceleration for the stepper motor, as of 0.6, arbitrary ratio extruder.first.max_speed 3000 # mm^3/s extruder.first.step_pin 2.3 # Pin for extruder step signal extruder.first.dir_pin 0.22 # Pin for extruder dir signal extruder.first.en_pin 0.21 # Pin for extruder enable signal delta_current 1.5 # Extruder stepper motor current #settings for second extruder extruder.second.enable true # Whether to activate the extruder module at all. All configuration is ignored if false extruder.second.steps_per_mm 400 # Steps per mm for extruder stepper extruder.second.default_feed_rate 600 # Default rate ( mm/minute ) for moves where only the extruder moves extruder.second.acceleration 500 # Acceleration for the stepper motor, as of 0.6, arbitrary ratio extruder.second.max_speed 3000 # mm^3/s extruder.second.step_pin 2.8 # Pin for extruder step signal extruder.second.dir_pin 2.13 # Pin for extruder dir signal extruder.second.en_pin 4.29 # Pin for extruder enable signal epsilon_current 1.5 # 5th axis
As you can see it is quite similar to the normal extruder configuration, only extended to multiple extruders. You can add other extruders the same way. There is no specific name you have to name your extruders, simply add as many as you want, with whatever names you want, as long as the names are different.
Simply replace your current extruder configuration with this in the config file.
You will also need to configure an additional TemperatureControl module for the hotend.
It is recommended you read the TemperatureControl documentation.
Here is an example configuration for a two extruders setup :
# Hotend temperature control configuration temperature_control.hotend.enable true # Whether to activate this ( "hotend" ) module at all. # All configuration is ignored if false. temperature_control.hotend.thermistor_pin 0.23 # Pin for the thermistor to read temperature_control.hotend.heater_pin 2.7 # Pin that controls the heater, set to nc if a readonly thermistor is being defined temperature_control.hotend.thermistor EPCOS100K # see http://smoothieware.org/temperaturecontrol#toc5 temperature_control.hotend.set_m_code 104 # temperature_control.hotend.set_and_wait_m_code 109 # temperature_control.hotend.designator T # temperature_control.hotend.max_temp 250 # Set maximum temperature temperature_control.hotend.min_temp 0 # Set minimum temperature - Will prevent heating below if set temperature_control.hotend.p_factor 13.7 # permanently set the PID values after an auto pid temperature_control.hotend.i_factor 0.097 # temperature_control.hotend.d_factor 24 # temperature_control.hotend.max_pwm 64 # max pwm, 64 is a good value if driving a 12v resistor with 24v. # Hotend2 temperature control configuration temperature_control.hotend2.enable true # Whether to activate this ( "hotend" ) module at all. # All configuration is ignored if false. temperature_control.hotend2.thermistor_pin 0.25 # Pin for the thermistor to read temperature_control.hotend2.heater_pin 1.23 # Pin that controls the heater temperature_control.hotend2.thermistor EPCOS100K # see http://smoothieware.org/temperaturecontrol#toc5 temperature_control.hotend2.set_m_code 104 # temperature_control.hotend2.set_and_wait_m_code 109 # temperature_control.hotend2.designator T1 # temperature_control.hotend2.p_factor 13.7 # permanently set the PID values after an auto pid temperature_control.hotend2.i_factor 0.097 # temperature_control.hotend2.d_factor 24 # temperature_control.hotend2.max_pwm 64 # max pwm, 64 is a good value if driving a 12v resistor with 24v.
Please do not mindlessly copy/paste the examples here, they probably do not fit your particular setup. Understand what is going on, and actually adapt the configuration to your specific situation. These are only examples.
The first extruder in this configuration is wired to M4, the second one to M5.
If you have more extruders, you will need to use external stepper motor drivers. Please see the specific documentation for this in the 3D printer guide.