Above: Our Dual Bear I3 dual color 3d printer with independant carriages, this one does not run octopi and is remotely managed by Duet Web Control (DWC).
Above: The Voron 2.4, dimensions 300x300x220 mm
And the Twotrees Sapphire pro, our perfect printer for fast production, also on octopi.
And the multicolour completely rebuilt Geeetech A30M dual head printer with a new Duet2Wifi motherboard, dual Chimera heatblock and direct drive extruders. This one runs Duet with DWC instead of Octopi.
recently (3-2021) I have been setting up my new 3d printerboard from Mellow, an STM32 board that is named FLY CDY V2. It is (almost) fully compatible with Duet2Wifi and also uses its wifi-based 3d printer management system DWC.
The FLY_CDY_V2 board comes completely empty so I added the firmware.bin in the /sys directory, after I had an empty SD card filled with the clean reprap directories and -files.
Next to the firmware.bin. also a board.txt is required to be available in /sys with some settings, with the following content:
//Config for fly-CDY board = fly_cdyv2 led.neopixelPin = D.15; //wifi pins 8266wifi.espDataReadyPin = E.10; 8266wifi.TfrReadyPin = E.12; 8266wifi.espResetPin = E.11; 8266wifi.serialRxTxPins = { D.9, D.8 }; heat.tempSensePins = { B.1 , A.3 , C.4 , D.14}; be aware that D.14 is not a temp pin but a heat pin, is this wrong?? stepper.numSmartDrivers = 6; serial.aux.rxTxPins = {A.10, A.9};
This board.txt is already OK for 2209 drivers and for the use of the neopixels output.
In the pdf that is provided by Mellow on the Github page for the reprap STM32 boards, section FLY-CDYV2, everything is explained as to get wifi up and running, configure config.g et cetera.
In my config.g everything needed to work properly is already done, as is with my board.txt.
I made the config for a.o. a Cartesian printer with single X,Y,Z steppers and a triple hotend with 3 extruders, 1 heater and 3 nozzles. Included is: Neopixels, BLTouch, 3 filament sensors on the X,Y- and Zmax inputs, active fans for hotend tool on fan1 and object on fan0 If so desired, sensorless homing is possible with the correct driver boards. In this version, 3 optical endstops have been used on inputs xmin, ymin and zmin. Retraction is set OFF in this firmware by default, but may be swiched ON to make the triple hotend drip less (2 mm retract and -0.5 extrude without Z-hop), do experiment with these settings! Please be aware that some pin names for the FLYCDYV2 board differ from the Duet’s naming convention like “bed” versus “bed-heater” et cetera. Plus, some typical Duet2wifi extensions are NOT available like the GPIO bus. The FLYCDYV2 has some interesting standard extra’s though, like the BLTouch connector with power, driver pins and Z probe pins, the Neopixel connector AND the 6 driver slots and 3 extruder heaters/sensors/fans! It is quite simple to change this setup to a dual Z axis with independant Z-motors and either single extruder or a dual setup, single or dual nozzle, mixing or non-mixing. Please see my complete ready-to-go config directory setups for this board HERE to get you started!
My dual carriage I3-bear based 3d printer is working very well.
On this page I share my latest configuration files, my build experiences like the used STL’s , schematics and so on.
Hope you enjoy!
Be aware that the tool settings in config.g are set including relative X, Y, Z values for this build so DO NOT put this in your slicer!
And- you need at least RRF3.3.1 for reprap FW and for DWC.
The sensorless homimg also requires knowledge of config settings and the good news is that the Duet2wifi has this all managed by the reprap firmware. No switches needed or complex jumper settings!
Tip for printing the parts: I used ABS for all parts. Use at least a printer with calibrated XYZ values for your specific filament.
Do a testcube first and apply any needed adjusting to your slicer’s settings like pre-shrinking settings of the endresult and so on.
If you don’t do this, then don’t start this build.
It is a prerequisite to get the magnetic carriage to deliver-and get the carriages from left and right of the X-axis.
Therefore the movement needs to be free of unneccessary friction.
And– if you use sensorless homing any additional friction on any sensorless homed axis might lead to unintended stalls.
I added a dripstop to the left and right hand sided X-carriages, made of some thin tinned plate.
It is positioned so, that a little tension is put on the nozzle tip in the parking position. It really works very well!
The config.g for this build and the Duet2wifi is HERE
The Sys directory for the dual carriage build and Duet2wifi is HERE
The Macros directory for the dual carriage build and Duet2wifi is HERE
The build plan for the 2040 extrusion frame is HERE
The STL files for the X-axis carriages and carriages are HERE
All other needed STL files for the printer are HERE
The Duet’s case and 4.3 inch Paneldue’s case are HERE
Today I received my 5-in, 1-out hotend, non-mixing air cooled with 1 nozzle and 1 heater//temp sensor.
I will install it on my A30M with the Duet2wifi board+extension board (5-fold with plug-in drivers). The A30M already has independant Z-stepper motors.
The Duet2wifi has 5 stepper ports, and the expansion board also has 5 stepper ports. X,Y,2xZ, 5 Extruders is a total of 9 so this will indeed fit!
I will make new wiring for the 5 extruder steppers on top of the A30M frame with 5 bowden tubes to the hotend. Since the hotend is non-mixing, this will be a simple task to get into config.g. For the slicer- it will also be easy. Just add the extruders to a total of 5 pieces. Add the correct filaments/temps/ no offset so set offset X and Y to 0.. The work will primarily be in the tool changing files for T0-T5 where retraction- and extruding settings will be needed.
For the hotend, I have a new setup available that allows me to quickly change the nozzle.
This will make it possible to use this setup for all kind of applications.
In mid-June 2020, I started using the Geeetech A30M desktop 3d printer.
The printer can print 2 colors mixed with 2 filament geared drive units on top of the frame and a fan for each feed to the combined hotend.
A few adjustments are needed on this printer if you really want to work well with it.
First of all, I had a lot of trouble with the standard noise from the 24 Volts fan under the bottom plate, which is supposed to provide cooling for the motherboard. This fan is always running at full power.
I put a controller in between with controls on the left side, through a drilled hole. I secured the controller with 2 tie-wraps through the cooling slots on the left side. The dial just comes through the case and you can hardly see it. Most motherboards I use don’t need a fan for cooling because they are placed freely in the open frame but the A30M has a closed case so a little air circulation is necessary. Plan is to add a thermostat control so the knob is no longer needed. Later. The controller is set to the position that there is a lot of air movement but without the whirring of the fan.
Second modification is the addition of a Geeetech 3d touch on the hotend. The bracket was included with the printer, suitable for both a thick inductive sensor and the 3d touch sensor. What’s nice is that the software (or firmware, if you will) as suitable from the factory for autoleveling. Do pay attention to the correct placement of the connectors, from the front view the brown and black wires should be mounted to the right.
The disadvantage is that the firmware from factory does not really work well with auto leveling. In the middle of the hotbed everything goes fine but with larger prints I noticed that the first layer was printed very differently, so everything kept coming loose. So now I work with manual leveling while automatic leveling is possible.
The hotbed is nice and big with a workable size of 320x320mm. The print height is 420mm.
The price was over 400 Euro, and the delivery was from Germany.
I recommend everyone to secure ALL and especially to include the block hook. My one was really not assembled properly. All threads were OK but all bolts were either too tight or not tight at all. I only found this out during the first test print. I stopped and checked everything. Pay special attention to the rollers of the hotbed. It is difficult to reach them but in my case the adjustment wheels were not set at all and did not rotate. The disadvantage of such a desktop printer is that you hardly have any space under the hotbed.
The vertical V-profiles were not mounted perpendicular to the upper profile. That is difficult to repair because everything is drilled through and bolted. I recommend installing corner stiffeners at the back in the top 2 corners. I have them on order and then they can go right on.
And… what some large printers have and the A30M does not: Additional stabilization rods to the front (or to the back, that is also possible) so that the vertical profiles cannot move. Now when you apply a little force there is about 2mm of play on it, despite the solid mounting to the desktop housing.
Since Corona was still around (May, 2021) , I had some time available to spend on other things than just work.
I already had an upgraded 3018 CNC-machine with a 0.5 kW spindle motor,
and a simple GRBL 3- axis board that works very well. But- it would be nice to make a CNC machine that can really work with aluminium and possibly also with copper and brass. I have already done some research in the past about what sort of CNC machine would be right for my goals. And the IndyMill CNC macine was already on my mind for over half a year. So-last week I ordered the manual and the steel plates
for the build and ordered some other parts from Ali. I also have quite a lot of parts on stock, from my 3d printer supplies. The Nema23- motors and the extrusion, motherboard, drivers, power supply, switches and probes are already available.
The required printed parts are being printed right now (early May-2021). I am printing all the upgraded STL’s, latest version as these are freely available on Thingiverse (just search for IndyMill) . And then you see the power of sharing: the design was already great, and with the upgrades it got even better. The upgraded versions of the mounts for the linear bearings are really a lot sturdier than the original design and the new endstop holders are very handy to have.
I roughly calculated the costs for building this machine and it was a lot cheaper than buying a similar CNC machine of this size. If you purchase wisely, the costs for all materials can be just under Euro 1000, if you follow the original BOM and including the 1.5 KW air-cooled spindle motor with regulator…
If you want to install another board than the standard Arduino UNO with the standard Arduino CNC shield, this can set you back an additional amount of 120 to 500 Euro’s. I use a FLY_CDY_V2 with Mellow’s original TMC2209 stepper drivers. DO NOT FORGET to set the switches on the underside of these steppers to ON if you want to use sensorless homing!
My add-ons to the original build:
Currently I use a 10 Amps detachable 24V PSU, will become a 30 Amps one.
Sesorless homing with the use of a FLY-CDY-V2 motherboard and TMC2209 stepper drivers. This works awesome but I moved on to add endstops and make a more stable and exchangeable setup.
Original mounts and usage of the ball bearing screw nut’s holder, and of the BK12 nd BF12 original bearing holders to keep the ball bearing screw from moving the wrong way.
Altered Z axis setup with a better nut holder, and a better top bearing
.
Closed loop NEMA23 stepper motors drivers MKS Servo57A V1.0 will be fitted to the rear of the steppers, still to be mounted but will conflict with sensorless homing
10 mm GT2 200mm belt between the Z motor and the Z-leadscrew with GT2 10mm wide 16-teethed wheels
On the Duet support website a project is available to convert such a device to a serial interface, with a programmed Arduino (pro) mircro or -nano built-in the device:
Solid connection plate between the rear side of the upper and lower linear rails of the X-axis. Still to come.
Piezo-probes on all axes’s start- en end positions, instead I first setup the FLY CDY V2 reprap board with TMC2209 and sensorless homing, and later with mechanical endstops.
Coolant mist installation and fluid gathering-, pump, reservoir et cetera is ordered. Stll to be installed, and the pumps were not supplying sufficient pressure for the flood mist, have to look for another solution.
Independantly driven (and independantly finetuned homing) Y-motors to prevent any possible problems between left and right. This works flawless with the FLY_CDU_V2 reprap setup but it took me quite some hours of finetuning to work with the 3.5 kilogram heavy spindle motor…
2080 profiles all around (also front and rear) with 4 extra-wide corner brackets underneath. I chose to implement this differently with 3 additional bottom connections and corner brackets, since I need the front of the frame to be low and give way to the spindle vacuum hose.
Smart enclosure with Scheppach vacuum cleaner connection like this example from https://www.shophacks.com/cncenclosure.html#/ THIS IS REALLY NEEDED!
Protecting guards for all leadscrews and linear rails (ordered in China)
Later if possible: Wheels on the rear or on 1 side and a handle on the front (or other side) to stow and store the machine easier
Easily detachable control unit(s) with solid connectors
I started with a FLY_CDY-V2 reprap board to experiment with reprap CNC and the webinterface that has been developed for this setup.
This is achieved with smart dual homing of the dual Y axes, and gives me a lot more control on the machine. It is also already possible to just send GRBL-based Gcode to the USB port of the machine and use the reprap FLY board simply as gcode-interpreter to steer the machine. But for now I use the webinterface to upload and run any gcode.nc CNC file, which works perfect!
Picture of the CNC-adapted and already available webinterface for reprap, especially tailored for CNC (by Sindarius, work ongoing):
In my search for the best affordable CNC motherboard for my new to build Indymill CNC machine I finally chose the GT2560 from Geeetech as best compromise. At least for now, and maybe later I may change to an RRF3 board with a good remote CNC interface like the Mellow Fly-CDY-V2.
The board has a budget price and utilizes an atmega chip with great performance.
The board does not come with the CNC GRBL firmware installed, you can get the required arduino library HERE for the Arduino Mega with the add-on RAMPS 1.6 board and HERE for the GT2560 integrated board!
The nice thing about this board is that it can be flashed with the arduino IDE, and I like the board especially because I can plug in the NEMA23 closed loop stepper motor cables directly in the driver connectors of the GT2560 board. By doing so, I don’t need the lumpy seperate 6600 driver units and I never miss a step. These closed loop drivers get attached to the rear of the Nema23 stepper motors and use the 24 Volts from the wiring to the GT2560 driver socket. The max Amps is 4 Amps per unit and this is enough to have good CNC results. I also added the tiny LCD’s into the closed loop units, this makes it possible to perform local management like the initially required one-time calibration of each stepper without the need for a PC. And= the display also shows the status of the stepper motor (errors, missed/corrected steps etc).
The required Gcode can easily be made with Esticam. I first make my design in Openscad, export the design as .STL file in the highest resolution ($Fn at 128 or higher) and import the STL file in Esticam. Then I use Esticam to send the Gcode via a USB cable in the GBRL format to the GT2560 board. BUT- it is also possible to save the CNC file output from Esticam and put it on an SD card. The LCD unit that is attached to the GT2560 accepts SD cards (formatted as FAT 32) so you can work independantly of a PC.
Or- you can connect your Mega2560 to a Raspberry PI and use the Raspberry PI as webinterface , to control your CNC machine via wifi from your PC or phone/tablet.
In 2020 I upgraded my Ender 3 with synchronised Z-axes and a new motherboard, the SKR Mini E3 V2.1.
The Ender 3 is very reliable and has been equipped with a direct drive bondtech extruder but still has the original hotend.
I chose the Ender3 to be the 3d printer on which I will attach the MMU2S. This also means that I will have to exchange the hotend/extruder combination with a Prusa Mk3S version.
Started this on May 4th, 2021. Only the printed parts were needed, all other parts were already available through sourcing form a.o. Ali. I printed everything in ABS, mostly red. For this I used 2 machines: The Twotrees Sapphire pro with enclosure for black ABS and the Voron 2.3 (300) for red ABS.
There is a firmware version for the SKR mini E3 V2.1 on Github that makes use of the MMU2S. I downloaded this version and uploaded it to the board via visual studio code maker, all works well in the test setup. Some tweaking was needed in configuration.h and in the advance config, since I am using the S-version of the MMU2 and the filament sensor was not standard ON. And- it appears that the communication port needs to change to the 2nd port. You can see it all at the Reddit page, the additional changes to the published config files are these (thnx to fixel112):
Excerpt from Configuration.h:
#define SERIAL_PORT -1
#define SERIAL_PORT_2 2 <————— This has been the issue. Uncomment that line.
#define BAUDRATE 250000
Excerpt: Configuration_adv.h
#if ENABLED(PRUSA_MMU2)
// Serial port used for communication with MMU2.
// For AVR enable the UART port used for the MMU. (e.g., mmuSerial)
// For 32-bit boards check your HAL for available serial ports. (e.g., Serial2)
//#define MMU2_SERIAL_PORT 2
#define MMU2_SERIAL MSerial2
//#define MMU2_RST_PIN 23
// Enable if the MMU2 has 12V stepper motors (MMU2 Firmware 1.0.2 and up)
//#define MMU2_MODE_12V
// G-code to execute when MMU2 F.I.N.D.A. probe detects filament runout
#define MMU2_FILAMENT_RUNOUT_SCRIPT “M600”
…
#define MMU2_DEBUG // Write debug info to serial output
#endif // PRUSA_MMU2
Next is to put everything physically on the Ender, and exchange the hotend/extruder. Then, the settings for the extrusion lengths will have to be determined. And- the buffer for the filament between the MMU2S and the filament spools has to be installed. As soon as I have it all properly installed, more pictures will follow!
I discovered that the dual display I now use for the Ender3 will only work for Marlin LCD and no longer for TFT, since the serial TFT pins will be used to drive the MMU2S unit. I exchanged the TFT/LCD unit with the original Ender3 LCD, I kept this in storage and tested it today with the Ender mini E3 V2.1 , it works very well!
The twotrees SKR Mini E3 V2.1 motherboard is really perfect for the combination with the MMU2S and the new filament sensor in the new hotend/extruder. The firmware has been updated to include the MMU2S and the AUX’s serial that was previously used for the TFT screen is now in use by the MMU! It all works!!!
Now the next thing was to get the new extruder, F.I.N.D.A. and the filament sensr to work properly.
That took some time and next on the agenda is the filament management.
I already decided to go with the original Prusa filament box with plates to hold the retracted filament for all 5 spools. The spools themselves will hang at the wall, behind the printer. I don’t have space for standing spoolholders. Underneath the spools the filament box with plates gets its place on the wall and from there the 5 PTFE tubes will run to the MMU!
As I experienced, from my 10+ 3d printers only the Prusa mini and the I3 Bear deliver adequate print quality. Even the Voron 2.4 CoreXY has problems if you look carefully at the printed results. Though all prerequisites were made to build a good printer, it was never really matching real good quality. So- in my search for the root cause of this somewhat disappointing discovery, I stumbled on some interesting stuff: The HevORT Advanced DIY 3D Printer project.
I found this website as a link from one of my fact finding searches for the cause of wobble in my linear rails that I am using for my Indymill CNC.
Obviously, the cheaper rolled linear screws with ball bearing nuts are not as good as the ones that are first cut on a lathe and are then grinded on a special machine. The better linear screws with ball bearings are specified into 10 categories from 1 to 10 where no.1 is most expensive and no.10 the least expensive. Quality is better with higher price. Prices are over 500 Dollars US for the better ones, but can mount up even higher.
If you look at the category of the rolled ball bearing screws, these take a lot of strain in the material due to the manufacturing process. The strain causes an unequal surface and therefore this can cause lateral wobble. When using these cheap linear ball bearing screws for 3d printers as Z-drives, the lateral problem can be solved by adding shifting plates as horizontal shift compensator.
On the net, a solution is given by using a couple of bearing balls (3) between magnets that are used as rolling plates on top and bottom. The shifting plate holders on top and bottom stay aligned with each other by mounting 2 magnets that attract each other on 2 sides of these plates. Please see the cutouts I took from the movie that is provided in the above mentioned link:
This can be implemented in the HevOrt BUT I feel that my Voron2.4 could really benefit also from this solution. Although the Voron is depending on the vertical linear rails for sliding up and down and a belt mechanism is making the motion happen, the mechanism that compensates for any wobble or different sizing of the frame is only a friction plate of (in my case) 2 PETG surfaces that slides on each other, 1 per vertical axle.
So, I will see what I can find or make to get the above anti-lateral wobble solution built and implemented in the Voron 2.4 asap and see what the result will be!