1 Introduction

3D printing technology is now considered a real alternative for classical production. In fact, it is one of the essential pillars of modern industry 4.0. Actually, this process is becoming mature and it is formally known as additive manufacturing. Depending on the processing technique, this technology is constituted by many manufacturing processes and can handle different types of disposed of materials, ranging from simple plastic to high engineering metal. Among these 3D printing methodologies are stereolithography apparatus (SLA), selective laser sintering (SLS), fused deposition modeling (FDM), and laminated object manufacturing (LOM). However, FDM is one of the most popular technologies due to its simplicity. In FDM, a plastic filament from a coil is driven to the extrusion nozzle and then passes through the heater with the required melting temperature. The object is printed layer by layer with the flow of that melted material. After flowing through the extrusion nozzle, the material solidifies immediately. The application of pressure in the nozzle pushes the semisolid material out of the nozzle. It is one of the most common 3D printing classes [1]. The use of this technique is booming due to the potential research carried out to improve this process and innovate intelligent solutions allowing exploration of new functionalities that were exclusive to competing for additive manufacturing techniques and, sometimes, taking advantage by scoring points of excellence. In our previous recent work, we have reported the state of the art of diverse developed technical solutions of FDM 3D printing making possible deposition of multicolor/multi-material [2]. Through this study, we have identified that the extrusion system is considered to be the key to any improvement or innovation for this process, in particular addition to the multicolor/multi-material functionality. Thereafter, we have classified the multicolor/multi-material extruder mechanisms into two types: the first, with several nozzles, is capable of printing 3D mosaic colored object and depositing multi-materials with distinct melting temperatures, but this does not allow printing full-colored products, and they are very cumbersome and difficult to balance. The second category is a compact mixer system with a single nozzle giving polychrome objects with surprising color degradation. The mechanism is restricted to the same shade of material (or materials having melting temperatures very close). Finally, we have concluded that the current design of extrusion systems deserves to be reviewed and optimized to arrive at a more productive system allowing the printing of objects with degraded materials in shade and color and at a competitive price. The creation of a new multi-material/multicolor extrusion system with additional functionalities compared with the existing ones will depend on the realization of the electronic part and the software which will guarantee its numerical control. Then, these two components must be redesigned in advance, in parallel with the mechanical design. This article, which presents the continuation of this previous work, firstly summarizes the different mechanical designs of multi-extrusion systems available while establishing a kinematic diagram to the development basis of each one. It also completes a bibliography on electronic systems of command by focusing on other promising techniques and solutions that can be used as a basis for the development of the electronic control system of multicolor 3D printers/materials.

2 Mechanical design of multi-material/multicolor of FDM 3D printers

2.1 Description of extruder head of FDM 3D printer

The main function of the feeding mechanism is to deliver the plastic wire to the melting chamber and push it, by force, to pass through the extrusion orifice to ensure a continuous, constant, and precise material flow at the outlet of the nozzle. For this purpose, the filament is clamped between two rotating rollers: the first one is a drive wheel fixed in translation, while the second one is a sliding idler wheel to calibrate the pressing necessary effort to drive, without slips, the filament. This system is designed to be highly accurate, and then, to avoid the possible skating of the moving filament, the driving wheel is machined with a tooth on its circumference, and to prevent wedging phenomenon, the applied pressing force on the filament, by the idler wheel, is calibrated by a coil spring (Fig. 1). Finally, the driving engine coupled to the driving toothed wheel is a stepper motor with is known by the precision of its output speed.

Fig. 1
figure 1

Basic diagram of FDM 3D printer extruder. (a) Direct extruder. (b) Bowden extruder

Besides, following the layout of the nozzle (hot end) compared with the feeding mechanism, the extruders are classified into two kinds: direct and Bowden (Fig. 1). In the direct extruder (Fig.1a), the filament output is directly disposed in front of the input of that of the hot end, at a very short distance. The two systems are recessed and form a very compact block mounted straightly on the X or Y axis with a slide link. In the case of the Bowden one (Fig. 1b), the feeding system is fixed on a well-chosen place of the frame of 3D printer, very far from the hot end. With the purpose to properly guide the filament from the output of the feeding system to the input of the hot end (to avoid buckling without effective movement of the wire), a flexible PTFE tube with appropriate internal diameter grants the just inside-sliding without excessive clearance.

The main advantages of Bowden design are that the print head (extruder) is very light (e.g., weight of 20 g for the length of 1 m). That generates less load on the slide axis because the stepper motor and feeding system are attached to the frame, so they do not have to be moved. This results in increasing print speed and quieter driving resulting in less inertia during the starting and stopping of the print head. Also, this smart solution offers a larger volume of construction and it is very adaptable to make a multi-extruder system.

By the implementation of multi-extruders with several nozzles, it is possible to feed materials of different types or with multicolor, simultaneously or alternatively, in an automatic way and without interrupting the printing process.

The design of available FDM printers provides different technical solutions for multi-material/multicolor extruder. Although there are several classifications of extruders in the literature [3,4,5], it is very interesting to classify them according to the relevance of the additional functions that they offer for the initial extrusion system, mainly the multi-material/multicolor function. We can classify multicolor/multi-material extruders in two families: mosaic print model and full mixing print model (Fig. 1). In the mosaic print model, the object is discredited with large patterns sharing the same color or material, while the full mixing color print is modeled by continuous degradation of the shade or color (Fig. 2).

Fig. 2
figure 2

Classification of multicolor/multi-material extruder of fused deposition modeling (FDM) 3D print

2.2 Mosaic color/material print

The most classical mosaic color/material systems are based on the duplication of the extruder and they operate according to the same principle than the single extruder, so the head carriage becomes fitted with many identical extruders [6, 7]. The first appeared units are the dual extruders [8] that can be used for dissolvable or removable supports to hold some regions of the part that are in overhang and get rid of them intelligently without affecting the fineness of the final surface of the part. The multiple standard extruders can be of parallel or independent type as illustrated in Fig. 3 [9, 10].

Fig. 3
figure 3

Types of standard extruder system. (a) Parallel: two or more print heads placed together in the same carriage. (b) Independent: two or more print heads moving independently in the same X-axis [9, 10]

In the parallel standard extruder, two or more nozzles are embedded on the same body (print head). Then they are constrained to describe parallel paths, while in independent dual extruder, two print heads are moving independently in the X-axis. The advantages and disadvantages of each solution are summarized in Table 1.

Table 1 The advantages and disadvantages of parallel and independent dual extruder

The number of added components is a multiple of the extruder uses to be implemented. This type of design is disappearing because of its very limited advantages (extruders work just separately); it is very bulky and adds additional weight and increases as well the price of the machine. Because these extruders work alternately, some designers [4, 7,8,9] have optimized the weight and space occupied by this extrusion system through the use of a single-wire drive system (feeding mechanism with its stepper motor). This engagement/disengagement process, similar to that of the clutch gearbox, allows the application or not of the pressing force against the filament to be selected. The advantage of having multiple independent nozzles is the possibility of printing various materials with different melting temperatures and colors.

An independent extruder [5, 9, 11] is another class of multiple nozzles with a different vision for dealing with distinct material and enhancing productivity. The design of this class generally limits the number of extruders to two (dual extruders) because of the complexity of their implementation and difficulty of calibration. Duplication of the extruders, which simultaneously and independently share the same space, will considerably reduce the print volume of the pieces and increase the probability of collision if no measure is taken. This kind of solution is suitable for cloning parts but can enable the collaborative working of the deposition process of the same object.

By using the system of multi-extrusion with a single nozzle, several filaments are supposed to pass through the same orifice, which solves the majority of the problems mentioned for classical or independent extruders (compact design, no need for calibration, and reduction of the number of extruder system).

The first design with one nozzle (multicolor/multi-material filament switcher) [12,13,14,15] uses a switch box with the ultimate function of allowing one filament to switch between a printing active state (passing through the unit nozzle orifice) to a standby mode automatically (Fig. 4).

Fig. 4
figure 4

Kinematic diagram of the filament switcher mechanism. Filament selections are (a) blue color and (b) red color

Other creators have proposed a completely different solution; called tool changer [16,17,18], for the deposition of multi-materials, by designing an extruder changer that gives the printer the ability to extract the hot end. The system is very similar to the tool changers of CNC milling machines. The hot end is stored on a rack, and the code allows the deposit of the old hot end and the loading of the new hot end. The advantage of this new design is that the mass and volume of the cart are kept to a minimum while allowing you to use many hot ends. Through this modular design, the parameters of each hot end can be configured individually and there is even the possibility of using the hot end of diversified models.

The pallet [19, 20] is an external feeding- splicer system to the 3D printer that uses a cutter called Splice Core that collects and splices the filament during the printing step. It can be adapted to any kind of printer and can combine four filaments in one for a multicolored mosaic print without altering the machine’s workspace. However, this system, except for its outsourcing quality, can be classified among the filament switcher extruders and possesses the same limited advantages.

2.3 Mixing color/material print

This system allows several filaments to borrow the same nozzle indefinitely or at the same time offering the opportunity of full-color mixing, which is not possible in the first category. This novel FDM design prints colorful parts reliably with a high resolution by driving multiple filaments to a single meeting chamber and melting them with precise proportions according to the CMYK [20,21,22] or RVB [23] stripe pattern (Fig. 5).

Fig. 5
figure 5

The functional basis of full-color mixer mechanism using the CMY color system

However, for both solutions, productivity is still the same as in a normal printer. Moreover, the filament must be of the same material, or have, at least, the same melting temperature, which considerably limits their abilities to obtain interesting graded physical properties.

3 Multi-extruder electronic control of material/color of FDM 3D printers

The creation of a new multi-material/multicolor extrusion system with additional functionalities compared with the existing ones will depend on the realization of the electronic part and the software which will guarantee its numerical control. Then, these two components must be redesigned in advance, in parallel with the mechanical design. Our new system needs more extruders and therefore more positioning systems, extrusion systems, heating resistors, limit switches, etc.

So our multi-material/multicolor extrusion system must have high positioning and extrusion accuracy and high speed of execution and must manage all printer components in real time. Our article will cite the different possible solutions to solve the previous tasks, make an analysis of the existing one, and give recommendations.

In Table 2, we will cite the different electronic platforms based on microcontrollers, which can be used to manage 3D printers with the multi-extrusion system.

Table 2 Selected electronic boards for monitoring multi-extruder

In this work, we have selected the three cheapest promising solutions that can be considered for the order of several extruders, without losing precision and speed of execution. These electronics systems are organized as follows:

3.1 Microcontroller-based electronic boards

The widely approved electronic systems used for controlling 3D printing components are the boards based in microcontroller, the most basic is RAMPS 1.4, which has the accommodation for 2 extruders. However, according to a number of the extruder and complexity of the mechanism to be designed, the control may be of standard or custom type requiring itself to be managed or innovated. In fact, it exists now several open-source electronic boards [24, 25] designed to command multiple extruders. Among the famous electronic boards are mentioned in Table 2.

The number of stepper drivers is one of the most decisive characteristics for the choice of the electronic board, to ensure the control of a multi-extrusion system. This number is two for the RAMPS board and three for both megatronics and rumba. However, if the board allows, we can expand this number by simply adding a driver expander board, as is the case of Duet3D board that reached nine drivers per coupling with DueX5.

3.2 MCU-based parallel process controlling

It is known that traditional MCUs (microcontrollers) operation is by using a serial connection, limiting to execute just one instruction at a time. To make parallel processes using MCUs, there is a need to build a star network configuration where different MCUs make various tasks (slaves), as shown in Fig. 6 [26], led by a master which indicates what task to be done. This parallel association of electronic cards can lead to a flexible easy design for an increasing number of extruders.

Fig. 6
figure 6

MCU-based parallel process controlling (master and slave microcontrollers) [26]

The performance of such an association is dependent on that of the base card, so the use of the Arduino UNO board, in the parallel control of CNC milling machine [26], resulted in limited processing speed. However, the authors of this project suggest that this problem can be resolved by implementing a more powerful card such as Raspberry Pi 3.

3.3 Process control using FPGA board

Compared with microcontrollers [27], the FPGA electronic board has the advantage of a very large number of I/O associated with high execution speed. While the microcontrollers are very limited by the task configuration, the FPGA, by its nature very basic, does not have a fixed hardware structure, but it is flexible and can be programmed according to the desired applications and the equipment to be controlled. So, it can execute any logical task that can be integrated into the number of ports it has [28].

The implementation of FPGA includes the host software, the card itself, an interface, and the 3D print which are arranged in Fig. 7.

Fig. 7
figure 7

Example of implementation of the FPGA card for controlling a Reprap 3D printer [29]

Another solution which is one of the best solutions to meet the requirements of precision, speed, and execution in real time is the use of a microcontroller associated with the FPGA card.

In the work of Dima Younes et al. [30] and the work of Weihai Chen et al. [31], they chose to work with a DSP associated with FPGA to benefit from the unique flexibility and the excellent control capacity of the controller. Movement allows efficient application of many industrial instruments. Also benefiting from the development of high-performance and high-speed processors such as the digital signal processor DSP and the programmable logic device FPGA, the motion control technology is considerably improved.

An FPGA-based system is an excellent hardware platform to support the implementation of controllers such as PID controller, fuzzy controller, adaptive controller, optimal controller, FIR filter, and even neural network system [30, 32].

The 3D print control card controlled using FPGA in combination with DSP used in the work of Dima Younes et al [30] can control up to 5 stepper motors with a step precision of 1/16 which does not meet the requirements of our multi-extruder/multicolor system.

In the work of Huseyin Oktay ERKOL et al. [33], the PID controllers for each engine and the equipment for processing the sensor data are integrated on FPGA. A microcontroller is used for behavior control and all other processes.

The FPGA hardware used has serial ports to take command and control of the servos and a coprocessor to calculate common angles. It takes commands via the serial port and controls all the servomotors via the serial port. It is designed to be used with all equipment with a serial port such as a microcontroller, a computer, or a radio module. It provides an opportunity for amateurs, educators, and designers to choose their large-scale controller. This hardware reduces the load on the central microprocessor and accelerates the transition from design to application [33].

The motors used have a serial interface and an internal controller. Up to 254 motors can be controlled on a single data line. This reduces cable mess and the load on the main controller is reduced by the internal motor controller [33].

For our multi-material/multicolor extrusion system, we can adopt the architecture presented in Fig. 8. We will use a microcontroller associated with an FPGA card, so that the positioning systems, the algorithms of the controllers, the motors of the multicolor extruders, etc. will be executed by the FPGA. The other components which do not require a large calculation will be executed on the microcontroller; in this way we will have a precise, fast system and we will have relief by dividing the work, our microcontroller, and our FPGA and we can even have the possibility of making subsequent extensions to the system such as the use of artificial vision.

Fig. 8
figure 8

Example of the microcontroller implementation associated with the FPGA

4 Need for development of a new extrusion system for FDM 3D printing

In recent years, multi-material and multicolored prints have been extensively developed because of their promising properties for new applications [34], ranging from integrated sensors and electronic circuits [35], robotic joints, and prosthetics [36]. Multicolor and multi-material models can be easily printed by using commercial 3D printers with distinct technologies. As an example, polyjet and voxel can produce wonderful color prints and graded material but these two high technologies necessitate digital processing materials and the price of machine and printing material is still very expensive that restricts their accessibility. As described above, multiple material/color capability can also be seen with material extrusion technologies and FDM is a promising cheap technology in this contest. A large variety of materials (acrylonitrile butadiene styrene, ABS; polylactic acid, PLA; polyethylene terephthalate, PET; high-impact polystyrene, HIPS; polycarbonate, PC; thermoplastic polyurethane, TPU; polyvinyl alcohol, PVA; nylon; metal PLA; and carbon-fiber PLA) is successfully tested and this variety is expanding rapidly.

If we focus on the use of multi-stepper drivers, the standard and independent extruders need more stepper drivers to ensure the feeding of the different filaments. For multicolor mixer, the number of drivers is equal to three to four, following as color system is of RGB or CMK type. However, it should be noted that the design of a multi-material system widely differs from that of a multicolored, because each material possesses its proper characteristics and its own melting temperature. Therefore, it became clear that we cannot share the same nozzle for different printers. This is especially the case when we prospect to boost productivity, so the increase in the extruder number becomes a persistent need. We conclude that the actual proposed solutions so far, for the deposition of multiple materials, have only partial advantages and therefore a great deal of work remains to be provided for the design of an optimal technical solution. Figure 9 summarizes some of the new functions that can be added by reviewing the extrusion system of filament.

Fig. 9
figure 9

Some of the generated functionalities resulting from adding multi-extruder system to FDM 3D printer

Thus, in the immediate future, we plan to merge the functionalities for regrouping most of the advantages cited, by redesigning the extruder system. As already demonstrated, this component has the key role in the material depositing process and it is responsible for feeding filament through a nozzle and melting it as it is deposited into the bed where the part is made. Also, most of the physical 3D printing parameters depend on this smart system.

5 Conclusion

This study presents an overview of the current state of diverse extruders designed for FDM multi-material/multicolor and provides some interesting conclusions on their performances and weaknesses. Extrusion systems with several nozzles offer the opportunity of depositing multi-materials regardless of their melting temperatures, but they are less suitable for the mixing operation and are very cumbersome and their balancing is very difficult. On the other hand, a system with a single nozzle is very compact and makes it possible to obtain colored objects with a surprising degradation, but since it is endowed with a single source of heating, it forces the use of the same grade of materials. However, the two classes of extrusion system are far from meeting the needs of the industry in terms of productivity, which stimulates us to seek a new design with technical solutions adapted for the emergence of the different desirable features for the 3D printing of materials of different shades/colors.

The researchers chose to work with a DSP associated with FPGA to benefit from the unique flexibility and excellent control capacity of the motion controller, the 3D print control card is controlled using FPGA in combination with DSP which can control up to 5 stepper motors with a step accuracy of 1/16, the PID controllers for each motor and the equipment for data processing of the sensors are integrated on FPGA, and a microcontroller is used for behavior control and all other processes. Unfortunately, these systems do not meet the requirements of our multi-extruder/multicolor system; that is why for our multi-material/multicolor extrusion system, we will adopt a solution that will use a microcontroller associated with an FPGA card, so that the positioning systems, the algorithms of the controllers, the motors of the multicolored extruders, etc. will be executed by the FPGA.