Dual extruder 2 in 1 out mixing nozzle mod

I bought a BigTreeTech ZSYong Mix hot end and I am attempting to add dual extrusion/mixing capability to my PowerSpec i3 Plus. I have the hardware, an extra stepper motor and an extra A4988 driver. I plan to use pins on the EXT connector (pins 32, 34, and 35) to connect the additional stepper motor driver to the main board. I understand I have to connect power and ground as well. Just to clarify, this has one hot end and nozzle so I will not be adding multiple hot ends.

Here’s what I’ve done so far: I have added the lines below to the pins_I3_PLUS.h file:

#define E1_STEP_PIN 34 // PC3 / A11
#define E1_DIR_PIN 35 // PC2 / A10
#define E1_ENABLE_PIN 32 // PC5 / A13

In configuration.h, I made the following changes:
changed EXTRUDERS to 2:

#define EXTRUDERS 2

uncommented SINGLENOZZLE:


uncommented MIXING_EXTRUDER:


Changed the TEMP_SENSOR_0 to 8 (per the BigTreeTech instructions):

#define TEMP_SENSOR_0 8

Verified the E1 driver was defined and set to A4988 (it was):

#define E1_DRIVER_TYPE A4988

When I try to build it, I get 8 of these messages for the fast.io file:
pasting “DIO” and “-” does not give a valid preprocessing token

I get this message:
unable to find numeric literal operator ‘operator""_RPORT’ which points to pins.h and the following few lines:
#ifndef E1_ENABLE_PIN
#define E1_ENABLE_PIN -1

this message:
#error directive: “MIXING_EXTRUDER currently only supports one extruder.” which is in SanityCheck.h (do I just need to change if EXTRUDERS > 1 to 2?):

And this one that is also in SanityCheck.h:
#error “E1_STEP_PIN, E1_DIR_PIN, or E1_ENABLE_PIN not defined for this board.”

#elif E_STEPPERS > 1
#error “E1_STEP_PIN, E1_DIR_PIN, or E1_ENABLE_PIN not defined for this board.”

Is it possible for me to define E1 pins in the board file?

If this is an outrageous thing to do, let me know. I had most of the extra parts around and thought I would give it a try.

Thanks much,

This is more a Marlin question than an ADVi3++ one. All those checks are in Marlin code. If SanityCheck says that your settings are wrong, it means that you try to do something which is not possible (at least in this version).

Sorry, I can’t help much. This is too far from ADVi3++. If you have the code somewhere, I can try to compile it and maybe help a little, but that is all.

Thanks for the reply, I agree it’s definitely a marlin question, thought I would start here in the mods section to see if anyone has done something similar. Since it’s just adding a 2nd extruder and not a 2nd hot end, I think I can keep (and would like to keep) using ADVi3++. I will crawl Marlin forms and see if I can get closer.


Again, if you publish the code somewhere (such as Github), I can look at it.

Thanks for offering to take a look. I read the Marlin manual and got it down to a few errors.

I uploaded it here:


I look at your code and also at your extruder (BigTreeTech ZSYong Mix). It is a strange beast (one nozzle, two extruders). I think it is not supported by Marlin 1.x. Maybe by Marlin 2.x. The two settings that generates a lot of problems are the fact to enable both EXTRUDERS=2 and SINGLENOZZLE. This does not goes well in Marlin 1.x.

ADVi3++ 5.0 will be based on Marlin 2.x. Maybe, it will be better to do what you want with this release. Unfortunately, ADVi3++ is not yet ready for a public release. I will publish a post about that in the coming days.