COVID 19, doing what we can

I’m sure you’ve seen tons of posts videos and images of the 3D printed Face shields and masks. These can be printed for personal use or to be donated to those places that really need them.

My office has been dedicated solely to the printing of Face shields for OpShieldup.org started by Alan Puccinelli better known as @RepKord on twitter. The advantage of working with his organization is that they have all the components to finish the shields. Getting a hold of laser cut PETG and buttonhole elastic bands for assembling the masks has proven to be a challenge.

To date (4/20/2020) my printers have run almost non-stop and I’ve been able to ship some 140 full shields and an additional 1300+ components to assemble others at OpsShieldUp.org.

I’ve also designed an alternative head band for the Prusa Shields in case you cannot find the button hole plastic, it was designed for. Here’s a video on that one

You can download the STL for these headbands here: https://www.thingiverse.com/thing:4261685

I created face masks for myself and the family. These are a bit more time consuming to make and I did have to re-scale these to fit the family. They do make for a cool family photo.

The design for these masks is from the same group that manages the e-Nable hands. You can read more about these masks here: https://3duniverse.org/2020/04/16/crowd-sourced-3d-printed-ppe-introducing-the-becmv1-buffalo-e-nable-crisis-mask/

I haven’t been alone in this. I setup a gofundme page to get donations to help me with the purchase of materials and shipping. To date I’ve raised over $400 and have spent:

  • Shipping: $97.95 (some aditional shipping was also donated through other channels)
  • Materials: $109.34.35 (shipping materials/transparents/elastic)
  • Filament: $236.93 (GreenGate3D.com has also been kind enough to donate some rolls to the cause, Thank you!!)

More filament will need to be purchased and more shipping will happen. If you want to help me out please visit my gofundme page (https://www.gofundme.com/f/covid19-maks-shipping-costs) and donate as you see fit. all the money will go toward the making and shipping of masks and any money left (when this hopefully will soon be over) will get donated to some other cause.

If you want to do something yourself, here are some links to get you started

Prusa Face Shield: https://www.prusaprinters.org/prints/25857-protective-face-shield-rc3

This is another very popular face shield that can be printed much faster: https://3dverkstan.se/protective-visor/

If you want to learn more and stay more up to date on what I’m doing:

subscribe to my Youtube channel: https://www.youtube.com/core3dtech

Follow me on twitter: @core3d_tech

Stay healthy, stay away from each other and soon this will all be over.

Lithophane Design tools by LithophaneMaker.com

Most of the items I print are functional items used to create things that do something of things that serve a purpose (mostly parts for other 3D Printers).  Yes, Baby Groot is lovely to look at but I just don’t go there. The one exception I make, is Lithophanes. As a matter of fact, I find Lithophanes make great gifts for friends, families and loved ones. They can be nonsensical or very personal. They’re generally a hit. Following is a guest post from the creators at Lithophanemaker.com.

Lithophanemaker.com was created by hobbyist 3d printer and coder, Thomas Brooks. Thomas originally made the tool to save time when generating night light lithophanes, and then decided to share the tool with the larger lithophane 3d printing community.

A popular instructables article (https://www.instructables.com/id/Lithophane-Night-Light/) highlighted six steps that someone would need to create a night light lithophane using conventional methods. The night light lithophane design tool reduces the number of steps down to two: 1) Make lithophane stl, and 2) print stl file.

As of November 2018, https://lithophanemaker.com has five tools which have saved its users approximately 800 hours of time they would have spent editing lithophanes in CAD. The five tools provide users with a simple interface for designing

  1. Curved, framed lithophanes (https://lithophanemaker.com/Curved Lithophane Designer.html)
  2. Flat framed lithophanes (https://lithophanemaker.com/DesignWindow Lithophane.html) with optional holes for twine, a tab for a hook, or only the frame,
  3. Night light lithophanes (https://lithophanemaker.com/Design Night Light.html) with easily customizable features to make them compatible with almost any night light
  4. A lamp lithophane design tool (https://lithophanemaker.com/Lamp Lithophane Designer.html) that interfaces with lamps you already own, and finally 5) a circular lithophane (https://lithophanemaker.com/Design Lithophane Tag.html) design tool that can make Christmas ornaments, a necklace charm, or a tag for a pet’s collar.

These tools are made freely available to anyone! If you have any suggestions for ways to improve the tools please contact Thomas Brooks as support@lithophanemaker.com

The C3Dt/bd (Big Delta)

This all started with 3 THK linear rails I found on eBay. SR15 Genuine THK at 1630mm long. Price $450. I added it to my eBay list and went back and forth probably 50 times before I went ahead and clicked Buy Now.

3 linear rail = Delta

I’ve now designed and implemented 4 printers. One I3 Clone (to get my feet wet), a CoreXY and two cantilevers (C3Dt/n and C3Dt/c). This is, and will remain, a hobby for me so I like to try new things. Delta Kossel, is something I hadn’t done yet, so regardless of it’s pros and cons (much debate on this); a Delta it is. A BIG delta with one additional feature that I’m pretty hasn’t been done before (one I’m gonna keep to myself for now but all will be revealed at MRRF2019 (Mid West RepRap Festival 2019).

Here’s a clue about the new feature (x3)

Specs

For this printer I wanted to go big foremost but I also wanted to get good parts. I’m limiting myself this time in getting stuff directly from China).

  • Build volume: 320mm x 1220mm
  • Hot-end E3D V6 (Threaded for Effector)
  • Controller: Duet Wifi
  • LCD: PanelDue 7″ touch screen
  • Delta Smart Effector (with touch sensor homing)
  • Drive: Nema 23 for X Y and Z, Nema 17 for Extruder
  • Heated bed 110V
  • Linear Rail SR15 (THK)

Given Nema 23 and THK rails, speed should be possible (Although, I’m not a true believer of 3D printing and speed).

Current state and first impressions

I’m now about 80% into the build and I’ve already learned a few valuable lessons.

Aluminum extrusion alone won’t do it

I’m using 4040 Aluminum extrusion at 2000mm height. I’m using brackets I found on ebay that accomodate this size but these aren’t very strong. I quickly learned, the frame alone does not offer enough support to make this a stable printer. Regardless of the weaker corner joints, simply the length of the extrusion introduces a torsion that is problematic. I’ve bolted 2 of the 3 frame supports to my wall and built-in desk which has solved this issue. I’m not entirely sure how to handle this when showing at MRRF2019. I wonder if tripod legs from the middle down would help.

Delta Printers by nature sacrifice a lot of height

Even though the linear rails are 1630mm long, I don’t think I’ll achieve more than 1220 Print height. The effector arms simply take up a lot of space. I will be using 360mm long effector arms ( I believe the least I can get away with with a 330mm bed) so at most there’s 1630-360= 1270mm

add to that the actual height of the effector and hot-end at 58mm that leaves 1210mm (All this time I thought it was 1220, dang, lost another centimeter).

Lots of wire

At the moment the plan is to run the hot-end wiring though the top of the printer (might might change that idea) which means lots of wire. The Delta Smart Effector hooks up to 18 wires

  • 2 wires for heat sink fan
  • 2 wires for hot-end
  • 2-4 wires for thermistor
  • 2 wires for parts cooling fan
  • 4 wires for Z probe
  • 4 wires for Extruder (yes I’m planning a flying extruder, only inches above the hot-end)

All these 18 wires have to make it all the way to the top of the printer (say 2,000-300= 1,700mm) plus some way down again to the controller board (let’s say another 1,000mm). I’m not putting the electronics in the top of the printer because I can’t reach it (duh). I’m not putting it below the bed because of the 110V bed heating pad.

Then there is the 3 wires for each end-stop (X,Y and Z) at let’s say 1,400mm

The 3 stepper motors at the bottom of the printer. I decided to put them at the bottom as three Nema 23 motors are quite heavy (better have a heavy base than top). so there’s another 4×3 wires at another 1,400mm.

4 wires for the heated bed (2 power, 2 thermistor) at 1,000

So we’re looking at a total of at least:

(14*2,700)+(3*3*1,400)+(3*4*1,400)+(4*1,000) = 71,200mm = 71 Meters of wiring.

right now practically all wiring is 22 awg (including hot-end wires) and I hope that will do (of course not the 110V wires).

Duet is pretty awesome

I’m still not entirely over the guilt of moving from marlin to RapRapFirmware but the documentation provided by Duet is very comprehensive and has yet to let me down.

I purchased the PanelDue 7″ and in hindsight that may have been overkill. You basically get a slimmed down UI from the web interface which really is all you need.

The Delta Smart Effector is a nifty little device. One wired up (as seen in the image), I can see it easily swapable for another (basically two connectors and a bowden tub).

Where am I now

As of this writing I’d say 80% of the printer is done. Frame is done, I have Duet Wifi wired up. Effector is in place, Hot-end heats up.

I Still need to add an extruder. I’d like to get my hands on a BondTech BMG but I’ll need to help from them (or a donor). If not I’ll probably start out with a simply MK8 implementation.

Well there you have it. The Delta build to date. The current price tag is now up to $1,400 and climbing. If you have the means to support me, please check out my Patreon page at https://www.patreon.com/Core3d_tech

Stay updated on my tweets at @Core3d_tech or on facebook at https://www.facebook.com/Core3D.tech/

My next post will probably show the first test prints (or at least calibration).

Maker Faire Milwaukee 2018

Maker Fair Milwaukee has come and gone. I had a great time and met some great people, some of whom I look forward to working with going forward.

Clearly the focus of my booth at Maker Faire 2018 was the four 3D printers I designed and built over the last few years. Here’s a summary of the items (printers and beyond) of what you might have seen at my booth. The Printers are all mine but many of the 3D prints you may have seen deserve credit where credit is due. Below are all the links to the printers but also all the 3D printed items you can download to 3D print yourself.

3D Printers

Here are the links associated with all printers:

C3Dt/cXY CoreXY 3D printer: Core3D CoreXY printer

Instructable.com (coming soon)

C3Dt/laminate 3D Printer

C3Dt/n (compact) 3D Printer

C3Dt/c (cantilever) 3D Printer

3D Prints

You may have seen any of the following 3D prints at my booth:

TPU Bracelet: https://www.thingiverse.com/thing:3098845

Yoda: https://www.thingiverse.com/thing:10650

Julia Vase: https://www.thingiverse.com/thing:126567

Gear Bearing: https://www.thingiverse.com/thing:53451

Phoenix Hand(s): https://www.thingiverse.com/thing:1453190

Dragon Hand: https://www.thingiverse.com/thing:3096734

Pangolin: https://www.thingiverse.com/thing:2064359

Maker Faire Robot: https://www.thingiverse.com/thing:331035

Cuphead And Mugman: https://www.thingiverse.com/thing:2563308

Vertical Windmill: https://www.thingiverse.com/thing:2745063

Tools you might have seen me using

Screw Driver Set: https://amzn.to/2NvfcH7

Wire clippers: https://amzn.to/2O8BDkN

Wire Stripper: https://amzn.to/2NAKdJR

Soldering Station: https://amzn.to/2xzKxOF

Solder Ironing tip cleaner: https://amzn.to/2NzcMXV

Micro Torch: https://amzn.to/2MWunnE

Hex Key wrench set: https://amzn.to/2Dr7VTZ

Digital Caliper: https://amzn.to/2QU9koX

Tape Measure (Metric/Inches): https://amzn.to/2zpluz6

Retractable utility knife: https://amzn.to/2NvfRs5

needle nose pliers: https://amzn.to/2MUHg1m

Nozzle cleaning kit: https://amzn.to/2MVGYY7

Deburring tool: https://amzn.to/2DqRnvh

Ferules Crimping Kit: https://amzn.to/2Nzaqs2

Crimping Tool: https://amzn.to/2DrTWNS

 

 

Connecting BLTOUCH to KFB2.0

A quick tutorial on how to connect a BLTOUCH to KFB2.0. The reason this is slightly different from other boards is because KFB2.0 is missing dedicated Servo pins.

In order to figure this out I ordered a genuine BLTOUCH from Amazon, so if you’re using a clone, this should probably still work but no guarantees.

The BLTOUCH consists of 2 sets of wires. The end stop wires and the servo wires.

The end stop wires will go into the regular end stop connectors but for the servo wires we need to use an alternative to get around the missing servo pins

There are many parts required to wire up a KFB2.0 but for this instructable you will need at least

BLTOUCH Amazon $37.98 (no extended wires, get extended if you need them)

KFB2.0 Amazon $19.57

For this setup we’re going to use/abuse the Z-Max end stop connector to run the servo on the BLTOUCH

Z-Min is used as the actual end stop

The picture says it all. Connect all 5 wires from your BLTOUCH according to the image with the Servo wires being handled by the Z-Max connector.

In the software setup we’ll redirect the pins

A few changes have to be made to enable the BLTOUCH and redirect the pins

In Configuration.h

Pick the MKS_GEN_L board for the KFB2.0

#ifndef MOTHERBOARD<br>  #define MOTHERBOARD BOARD_MKS_GEN_L
#endif

Practically all of the following settings are a matter of uncommenting/commenting your code by adding/removing // (adding these will disable code)

For this setup it is assumed you will be using the Z-Min for the Z endstop

#define USE_XMIN_PLUG<br>#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG

define your ENDSTOPPULLUPs, make sure it uses ENDSTOPPULLUP_ZMIN_PROBE

#define ENDSTOPPULLUPS<br>#if DISABLED(ENDSTOPPULLUPS)
  // Disable ENDSTOPPULLUPS to set pullups individually
  //#define ENDSTOPPULLUP_XMAX
  //#define ENDSTOPPULLUP_YMAX
  //#define ENDSTOPPULLUP_ZMAX
  #define ENDSTOPPULLUP_XMIN
  #define ENDSTOPPULLUP_YMIN
  //#define ENDSTOPPULLUP_ZMIN
  #define ENDSTOPPULLUP_ZMIN_PROBE
#endif

for my BLTOUCH installation I have the inversion set to false

#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.

let the system know it uses the probe for Z-min

#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

turn on BLTOUCH

#define BLTOUCH
#if ENABLED(BLTOUCH)
  #define BLTOUCH_DELAY 100   // (ms) Enable and increase if needed
#endif

The following setting are going to depend on where you have mounted your BLTOUCH. Measure the distance from your BLTOUCH pin to your extruder. These values make sure you remain on top of your bed when auto leveling. The values below may (and probably won’t) match your setup

#define X_PROBE_OFFSET_FROM_EXTRUDER 48  // X offset: -left  +right  [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -2  // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]

set probe speed

#define XY_PROBE_SPEED 8000

IF you want the probe to do a double touch (or more)

#define MULTIPLE_PROBING 2

The following setting will position your extruder prior to during and after probing

#define Z_CLEARANCE_DEPLOY_PROBE   15 // Z Clearance for Deploy/Stow
#define Z_CLEARANCE_BETWEEN_PROBES  10 // Z Clearance between probe points
#define Z_CLEARANCE_MULTI_PROBE     5 // Z Clearance between multiple probes
//#define Z_AFTER_PROBING           5 // Z position after probing is done

Make the system aware of at least this servo

#define NUM_SERVOS 1 // Servo index starts with 0 for M280 command
#define SERVO_DELAY { 300 }

If you are going to use the BLTOUCH for Auto Bed Leveling set the next values

#define AUTO_BED_LEVELING_BILINEAR

Since the KFB 2.0 does not have its dedicated Servo pins we using the X-Max plug to power the servo that is inside the BLTOUCH.

For this we need to tell the Marlin firmware to redirect some pins.

It is assumed you have selected BOARD_MKS_GEN_L in the configuration.h

open the file pins_MKS_GEN_L.h

in it add the following Make sure you add this AFTER the line #include “pins_RAMPS.h”:

#include "pins_RAMPS.h"
//redirect the servo pin to the X-Max plug
#define SERVO0_PIN 19

If you want to test the pins with g-code m43 you’ll need to enable #define PINS_DEBUGGING in configuration_adv.h

#define PINS_DEBUGGING

Once you’ve uploaded the updated Marlin FW to the board you can test the BLTOUCH.

If your firmware is setup for Safe Z-homing (meaning you can’t home z before having homed X or Y) you either need to turn this feature off in the firmware

in configuration.h comment out Z_SAFE_HOMING

//#define Z_SAFE_HOMING

or have your X and Y end stops connected.

First test is to see what happens with you turn on/power up your board. In this setup the BLTOUCH lights up when powering on and does two servo action. The probe pin comes out twice and retracts

As far as lights is concerned I see the orange light and a small purple led on. (not quite clear in the photo)

connect to the board with something like PronterFace or OCtoPrint and send it g-code m43 (if you’ve enabled PINS_DEBUGGING in the last step)

Check to see if pin 19 is indeed set to SERVO0_pin

Next check out this video for testing the BLTOUCH setup

If this was useful to you in anyway, please consider supporting me through Patreon  or making a small donation here.

3D Printer 24 Volt Upgrade

The Core XY I built and have been gradually upgrading is a beast but it still runs on 12 volts. It runs on a plain RAMPS 1.4 recently upgraded with TMC2130 stepper drivers.

It’s possible to upgrade a RAMPS 1.4 to 24 Volt but it seems easier to go with a 24 Volt board off the shelf. In my case a KFB2.0 (very close relative to the MKS GEN L).

Why upgrade? Well, from all I’ve read, it provides more torque to the stepper motors and it also seems that TMC2130 don’t run well in spreadcycle with 12Volt. Supposedly, the Spreadcycle should get a bit more quiet with 24 Volt.

What will change

Power Switching Unit

Obviously the existing 12 Volt Power switch will be replaced with a 24 Volt one. $19.98 on Amazon: https://amzn.to/2JevH8i Other than the Sticker on the outside stating 24V/15A instead of 12Volt/30A, there is remarkable little difference between the two units (both outside and inside).

Once I ordered the 24Volt power switching unit and hooked it up, I noticed the cooling fan came on immediately. That’s annoying as I want my 3D printer to be quiet in Idle mode.

24 Volt heating cartridge

The heating cartridge inside my hot-end is rated for 12 Volt. It needs to be replaced with a 24 Volt Cartridge. From what I’ve read, on keeping a 12, Volt cartridge, it’s simply not worth the risk. Apparently, the power provided to the 12 Volt Cartridge would quadruple and thus could cause melting the entire heat block. There’s tricks that can be done with PWM sent to the heater but again it’s not worth the risk.

I own a genuine E3D Titan Extruder with E3D hot-end, so I ordered mine directly at e3d-online.com. There are plenty of knock-off on Amazon at $8.99 https://amzn.to/2sDa1s0 (I payed about the same ordering from e3d-online).

Heated Bed

My CoreXY printer runs a 110 Volt heated bed controlled though an SSR so there’s no issue upgrading to 24 Volt (See my instructable on this at instructables.com). The SSR input can handle 3-36 volt.

That said many of the MK2B beds can handle both 12 volt and 24 Volt. It’s just a matter of how to connect the wires.

Cooling Fans

The fan in the power unit is kinda loud so I wanted to replace that right away. I’m a huge fan of the Noctua 40mm cooling fans (their practically noiseless) (Amazon $13.95 https://amzn.to/2HsZdS8).

So I’m replacing all my fans with Noctua Fans. I have 2 80mm fans; one that cools the electronics compartment and one that sits about me stepper which provides for active cooling of my TMC2130 stepper drivers (amazon $15.95 https://amzn.to/2JpABLS).

Then there is the 60mm cooling fan that sits inside the power switching unit so I ordered a 60mm one (Amazon $14.95 https://amzn.to/2Jl49Ke).  Small problem with this fan is that it only comes in 60x25mm. It will not fit inside the power unit. Instead it will be mounted on top. Frankly, I was a bit disappointed at how, it is not as quiet as the 40mm ones. Little more measuring showed more than 12 Volt was passed through the fan. It works but looses it’s quiet quality. I’ll need to figure out something to remedy this.

The Board

My CoreXY has been chugging along on a knockoff RAMPS 1.4 controller board. Technically nothing wrong with it and there are ways of modifying the RAMPS 1.4 to handle 24 Volt but, for my printer I decided to replace the RAMPS with a KFB2.0. It’s a cheap alternative that is ready to take on 24 Volt and can even do a little more (Amazon $19.59 https://amzn.to/2M2Q7io).

The nice thing about the KFB 2.0 (or the very similar MKS GEN L) is that there only one pin difference with the RAMPS 1.4 (additional Pin 7 Output). Most of my Marlin configuration can remain the same.

Steppers

The voltage of stepper is entirely controlled by the drivers and therefor don’t need any change. One of the reasons I am moving to 24 volt is because there’s supposed to be more torque on the motors and with the TMC2130 driver’s it’s supposed to get quieter in Spread Cycle mode.

For this upgrade I replaced my Z-axis stepper motor as it was still a 0.4A (from my original build). I’m replacing it with a 1.7A (just because I have one lying around). Amazon $45.99 https://amzn.to/2JBBOms (5 Pack) .

Too much power

As soon as I clicked “Buy Now” button for the 24 Volt Power unit, it dawned on me that there’s a bunch of 12 Volt stuff left on the Printer.

You may have already figured it out when reading about the fan replacements. What I had overseen was the Noctua cooling fan, the parts cooling fan and my LED lighting. All 12 Volt.

Noctua does not sell 24 volt fans (smaller ones that is) but once you go Noctua, you don’t go back. As a matter of fact in this upgrade, I’ve doubled down on more Noctua(s).

There are a few options with the 24 Volt power and 12 volt fans. The case-cooling fan and hot-end cooling fan could be wired in series. Googling that immediately show an article not to do that.

Instead of trying things in series I’m going to use Step down LM2956 Buck converter (Amazon $7.99 https://amzn.to/2M0QppP).

I thought I would need for for the following:

  • Case cooling fans/controller fan
  • Hot-end cooling fan
  • Parts cooling fan
  • LED lights

One thing I noticed about connecting the parts cooling fan was that when I would send a command like M106 S127 I would expect to see a lower voltage but when I connected the LM2955 Buck converter, the output remained constant at 24 volt.  Someone please explain this to me.

So for the parts cooling fan which is controlled (variably) by the software, I altered the software to not exceed PWM 127 and divide any PWM to the cooling fan by 2 (not entirely 12 Volt but close enough).

Wiring

What you see here (above) is the original wiring. It’s a mess. As part of this upgrade I’m going to pay close attention to wiring and make it all look a bit cleaner.

For the wire management I purchased mini zip ties that allow me to bundle the wires together (and through the board everything is mounted on). Amazon $6.48 https://amzn.to/2HpMrDI

The before picture is above. Below is the new wiring

The old RAMPS 1.4 board uses Dupont connectors. The KFB2.0 does not. It uses JST-XHP 2.54 connectors. This meant a lot of the wires required new crimping.

The JST connectors were all 2/3/4 pin connectors. The following set will do: Amazon $9.87 https://amzn.to/2kRWUyY 

If you don’t have one yet, you’ll need a Crimping Tool. I personally use one like these:

Amazon $22.99 https://amzn.to/2sN1fXE

Conclusion

Upgrading to 12 Volt is one of those upgrades that really doesn’t add anything visually to printer. Torque should be higher so technically I can print at higher speeds. Speed and 3D printer in my opinion shouldn’t be used in the same sentence though. I’d rather wait a little longer, than have to deal with bad prints.

The printer is up and running again and it’s operation seems pretty much the same as before.

Certainly the exercise of wiring the printer properly makes things look much better. The CoreXY comes with a drawers style electronics case and no longer looks like the kitchen nick-nack messy drawer. None of this is related to the 24 Volt upgrade.

Would I do it again? Not sure. I’ve always felt my Corvette printer was running on a pinto engine. But, like many things in life you want; once you get them it’s meh.

I’ll keep you posted on whether the upgrade was worth it. In the meantime don’t forget to subscribe and if you like what you read consider supporting me through Patreon at https://www.patreon.com/Core3d_tech

Second Layer not adhering to first layer

Since I’ve not futzed around with this issue for the last 12 hours, I’m thinking it maybe worth writing it up.

I’ve started printing with PETG recently as I’m getting sick and tired (sick from the smell, tired from the warping) printing ABS. PETG is a good alternative to
ABS as it has the best of PLA and ABS (no smell/no warping with some of the ABS strength and temperature tolerance).

I’ve tried different brands (Total Pack/HatchBox and now eSun). All three create the same phenomenon as seen above. Strange warping of the second layer.

One sure way of solving it: While the print is going move the bed one quarter turn of the bed screws closer to the head.

What Does that tell me. Well it seems like the nozzle is to far from the last printed layer.

Note: this happens in Slic3r and not with Cura, but Cura is giving me other headaches so I want this to work with Slic3r.

My solution: change the z-offset so that the first layer is not “smashed” and should be closer to the second layer. Oddly enough that didn’t solve anything. I set the offset to 0.2 so when the first layer is dropped it literally is dropped from 0.5mm.

This does wonders for the bed adhesion. I can finally remove my parts from the BuildTak without ripping either to shreds but the second layer keeps failing.

So on a quest to find the answer I started making different tests prints each with a varied parameters.

First look at different offsets:

  • 0.2mm (nozzle higher): Fail
  • 0.1mm: fail
  • 0mm: fail

Next I started looking at temperatures:

  • 245/245: fail
  • 235/235: fail
  • 235/230: fail
  • 265/265: fail

Up or down, it didn’t really matter. The problem persisted. But, as my samples started adding up, I did some measurements and the first layer of each of my print landed around 0.4mm.

I do not know why, I’m pretty sure my Z-axis is calibrating well but that made me rethink the offset again. What if I went the other way. Reduce the distance between nozzle and bed and the first layer should change in thickness. So changing the offset again:

  • -0.1mm: fail but is set in a little later
  • -0.15mm: improvement
  • -0.2mm: better

One little problem, as I keep getting closer to the bed it becomes harder to remove the print. PETG has a tendency to “fuse” to the Builtak. I learned this the hard way with my first prints on my Buildtak that ripped a hole trying to remove one of my pieces.

So what if I lower the extrusion of the first layer. That should make for less pressure. So the next parameter was the Print Settings: Advanced: First Layer. It was currently at 200%. Peculiarly high, but I’m working towards that.

down to

110%: Not much change to the second layer but a pattern appeared on the first layer. Something I’ve struggled with before and managed to fix by upping the First Layer extrusion width.

100%: Fail. This time the first layer showed the same warping as seen on the second layer prior. 

And this is when a light bulb went off. If setting the Extrusion width for the first layer to 200% fixed it’s issue, why not do the same for the Solid layers (The ones that fail).

Bingo, With Print Settings:Advanced:Solid set to 190% the problem seemed fixed.

So, unfortunately I don’t have an answer for why when slicing with Slic3r I need to set both First Layer width and Solid Layer width, as high as I have to. It does explain why it happens with Slic3r and not Cura as each tool deals with line width entirely differently.

The latest print did a great first line and a great second line. I’ve been able to back up from the plate a bit making removal from BuildTak much easier.

Let me know if you have any ideas or luck with this solution.

 

 

 

Wiring the KFB2.0 3D Printer Controller board

The KFB2.0 3D printer controller board

I’m on my 3rd KFB2.0 now (for 3 different printers) and I like these little boards. For the price you pay for them, you really can’t go wrong with them. I found these on Amazon.com for less than $20.

It has everything on it, the RAMPS 1.4 has with the Arduino chip integrated on the board but it’s only a third of the height of a full RAMPS with Shield and LCD adapter attached.

Some other advantages over the RAMPS 1.4:

  • It can take 24V
  • There are two continuous voltage outputs 5Volt and 12Volt
  • It has the ICSP pins which allow you to go with TMC2130 without jumping through hoops for competing pins
  • It has a 4th controllable 12Volt output, which frankly I haven’t figured out yet.

It uses all JST-XHP 2.54 connectors which I think hold a bit better than the loose RAMPS 1.4 connections but it does mean you may have to do some crimping of your own.

The only major downside: It has NO Documentation, at all. I figured out most of it and tried to put it all together here.

It wasn’t overly difficult. It mimics the RAMPS 1.4 and all pin outputs are the same.

Getting Started

In the wiring setup described below I use the following parts. I am an Amazon Affiliate so you would support me by clicking and buying through these links.

I have used the KFB2.0 board on 2 of my printers. The C3Dt c and the low budget (build on a Netgear Case) Cantilever and am pleased with the way it operates.

The KFB2.0: $18.59 https://amzn.to/2G7xQB8

Here’s a list of all the items I have attached to the KFB2.0

Nema 17 1.7A (5 pack) $48.99 https://amzn.to/2pGlEwO

Mk8 Extruder:

V6 Hotend (12V): $18.99 https://amzn.to/2GfIt0U

For end stop control you can go with two different options:

Stepper Cables: $8.59 https://amzn.to/2I56yHY (JSP HX2.54, which fit the KFB2.0)

12V/30Amp Power supply 19.98: https://amzn.to/2pGXlPD

Heated Bed $31.99 https://amzn.to/2IU6NHp  (optional but I will explain the wiring)

Thermistors $8.99 https://amzn.to/2pG01vW

LCD 12864 $14.99 https://amzn.to/2IU7LU3

Stepper Drivers $10.99 https://amzn.to/2I3eCZS

Fans. I’m a huge fan of the Noctua Fans. They are a bit pricier but worth the SUPER quiet:

(If you want to go with the TMC2130, I recommend getting the real deal from trinamic through Filastruder.com). Cheaper knockoffs are available here. They tend to be not that much cheaper and there some bad reviews out there.

Putting the first pieces together

Like the RAMPS 1.4, the KFB2.0 takes the pluggable stepper drivers that run the stepper motors. The cheap option is to go with the a4988 drivers or the totally awesome TMC2130 (not affiliated, but my upgrade instructions can be found here).

If you go with the a4988 driver you first need to insert the 3 jumpers in each of the diver bays.

In the image above I’ve added the pin descriptions around the middle bay. These pins need to correspond with the pins on your driver circuit board (generally found at the bottom of the board

Insert all stepper drivers and make sure all pins went in on both sides (It’s easy to miss).  Once insert it would look something like this (for the a4988 drivers).

(don’t rely on the orientation of the pot meters in this image. TMC2130 and DRV8825 point the other direction. Look at the pin descriptions on the board and driver and orient accordingly).

Wiring the KFB2.0

Do not attach your board to any backing prior to wiring as all the useful information is found on the back of the board. Beyond that wiring is pretty straight forward. The KFB has the exact same pin outputs as the RAMP 1.4 and as a matter of fact, you select the RAMPS 1.4 board in Marlin when configuring the software.

The above image pretty much show all the different connections you might be making.

Your power source (either 12 Volt or 24 Volt) is attached to the XS 12-24V pins. Polarity is very important here, so make sure Positive and Negative and connected properly (there’s a + and – next to the inputs).

Connecting the Fans

As I mentioned earlier, the KFB2.0 has two continuous outputs for a possible fan. This fan would come on the moment you power up the board. It generally connects to the hot-end fan cooling the heat sink above your hot-end.

Polarity matters and fans should be connected accordingly. They generally come with one black and one red wire. Red = + , Black = –

I personally like the Noctua fans. They’re a bit pricey but it’s worth any every penny due to their quiet operation. The Heat sink fan comes on when you turn on your printer and may still on long after your print is done. With these quiet fans I can’t tell the printer is on by sound.

If you are planning on auto bed leveling, you’ll need the 12Volt output for that. In that case, I would recommend the 5 volt Noctua, leaving the 12Volt for other purposes.

Connecting the Heaters

This board has three outputs for heaters.

  • Hot Bed (Heated Bed)
  • Heater0 (primary extruder)
  • Heater1 (second extruder)

-The Hot bed and Heater0 outputs speak for themselves. Hot bed connects to a heated bed (if you use one); Heater0 connects to the hot-end for your first extruder. They don’t care about polarity but make sure you use wire of proper gauge (14-16) as these carry a lot of Amps.

Heater1 is not as straight forward. If you have double extruders you would expect to connect the second one to this channel. This is not the case (and the only flaw I’ve found on this board to date).  Output for the second extruder is sent to the  Fan  channel (not HEATER1). This is a problem if you choose to have dual extruder with a parts fan (then again you may end up needing more fans). I have not been able to get this to work (most of us won’t need it). I’ve tried tracing its pins back to the board but even after doing so I could not get it powered up.

Connecting the Thermistors

For each of the heated elements you use (beds and extruders) you’ll need to connect the thermistors for temperature feedback. 

Generally your hot-end is shipped with heating cartridge and thermistor but for heated beds this is not always the case. You can buy them loose at Amazon for $8.99 (5-pack).

In most cases you’ll be dealing with a hot-end and heated bed in which case you connect to the TEMP0 (hot-end 1) and TEMP-BED (the bed).

Note: any preliminary testing of your electronics requires at least one thermistor connected to the TEMP0 (without software changes). It’s always handy to have a spare thermistor lying around for such cases.

Connecting the end stops

Most 3D printers only need to have the min end stops attached. Reading the min stop along with specifying the dimensions of your printer will keep your axis within the allowed boundaries. For this setup we’ll connect the min end-stops only.

There’s a variety of end stops available ranging from the simple Micro switches to the wired up Makerbot style switches to optical and inducer type end stops. For this setup we’ll look at the simply micro switches and the Makerbot style end stops.

Given that price range is very similar (you can get micro switched for pennies but they tend to come in packs of 25), the only reason you would choose one of the other is the size. The Makerbot comes pre-wired with a little circuit board but you’ll have to account for more room required.

MakerBot style End Stops

The pre-wired Makerbot style end stops have 3 wires from them. Red, Black and Green.

You may have to crimp your own wires to use a JST-XHP 2.54 3 pin connector on both ends (out of the box they come with the plain pin connectors).

Make sure the Red wire is connected to the vcc pin. Connecting them the other way around will fry your board.

Micro switches

If you choose the micro switch, it’s my experience wiring is a bit easier; you only need two wires.

Solder the wires to the two outside pins of the Micro switch and connect them to the GND and Signal pin on the ramps. These are the two pins towards the outside of the board (GND and Signal)

 

Since in this configuration the connection is open you will have to flip the configuration in the Marlin software to reverse the signal.

Connecting the LCD

NOTE: Several reviewers for the KFB2.0 complained about LCD connectors soldered on backwards. This requires to cut of the notches from their cables. I ‘m not dismissing this, but I’ve used 3 boards and have not found this to be a problem. I’ve seen similar complaints using different board and wonder if this could be a wiring mixup issue.

The LCD connects to the two EXP1 and EXP2 connectors on the board via the 2 flat cables that most likely came with your LCD unit. You’re LCD board will have the corresponding EXP1 and EXP2 on the back.

 

Conclusion

I think that covers it. The main downside of the KFB2.0 board is it’s utter lack of specs and documentation. They probably thought they would get away with it because it is so similar to the RAMPS 1.4 (with all the same pin outputs).

What I like about the board is the fact is build much more compact than the RAMPS 1.4 and in fact does act the same.

Some other advantages are an easier means of using the TMC2130 stepper drivers, 12-24volt range ad the 5 and 12volt fan outputs.

I hope this instructional post will mitigate some of the lack of documentation.

If you like what you see here or more importantly if you’ve used some of the designs/instructions I’ve shared via multiple platforms, please consider supporting me via Patreon.com. A few extra dollars a month from enough patrons would certainly help.

Become my Patron at https://www.patreon.com/Core3d_tech

Thank you!!

 

 

Upgrading to SilentStepStick TMC2130

If you are subscribed to Instructables.com feel free to visit this as an instructable at https://www.instructables.com/id/Upgrading-RAMPS-14-With-TMC2130-Stepper-Drivers/ 

If not, read on.

Important Update: In order for this to work you need to install the Marlin bugfix-1.1.x.zip version of Marlin. The current release has some serious issues (travel distances are all out of wack).

https://github.com/MarlinFirmware/Marlin/archive/bugfix-1.1.x.zip

Spoiler alert, this is what the upgrade did for my printer:

Introduction

Tired of the constant noise your printer is making. Upgrading your RAMPS 1.4 (or most any AT Mega based controllers) with the TMC2130 stepper motors might do the trick.

In this instructable I will not go into the technical babble of PSI, Master/Slave and clock speeds. If you’re interested in that I refer you to

 https://toms3d.org/2017/12/09/tmc2130-guide/

or https://ru-clip.com/video/sPvTB3irCxQ/how-to-make-…

or https://hackaday.com/2016/09/30/3d-printering-trin…

Also if anything in this instructable seems unclear, check with those sites. To their credit, I’ve used them mainly as the source for my upgrade.

Here are some of the advantages I’ve been reading about:

  • Super quiet operation
  • Ability to configure via software
  • Proper alignment of controller which allows for proper cooling of the driver chips
  • Possibility of homing X and Y without End stops (diagnosis allows for the software to recognize the axis bumping into things). (this in a later instructable)
  • Potentially with future updates of Marlin the ability to act on missed steps during printing (like Prusa I3 MK3 can do today).

What it boils down to is that these new stepper drivers can be controlled via software and can run in an ultra silents mode (with 256 micro steps). With these new stepper drivers you no longer need to adjust the little pot meters on the driver but instead can tell it via g-codes at how many amps/volts to run.

When buying these steppers online be cautious about how they are delivered. Most of them (on amazon.com) already have all pins soldered to them which is a problem as 4 of the pins are pointing the wrong way.

I’ve ordered the steppers directly from the US distributor (Filastruder.com) and they come with pins but not soldered on.

In this instructable I will start with the bear stepper driver, solder the pins and create a wiring harness that connects all the right pins on the steppers to the proper pins on the RAMPS 1.4 board.

This instructable will be for the RAMPS 1.4 board but many derivatives use the exact same pin configurations (I will try this out on my KFB 2.0 board).

Things you need

Picture of Things Needed

The following items are pre-requisite to this project:

TMC2130 Stepper Driver: $13.99 per stepper from Filastruder (the official US Distributor)https://www.filastruder.com/products/silentstepsti…

In this project I’m replacing all 4 drivers but you could just replace X and Y as they do most of the work

Ramps 1.4 Board (or RAMPS 1.4 Compatible): (if you buy a kit will will get the A4988 drivers that you will be replacing but the price might still be right): $29.99 http://amzn.to/2FqmN51

Soldering Iron/Station: $39.70 http://amzn.to/2FYTgwU

Some fine solder: $9.98 http://amzn.to/2FgkwKe

Marlin Firmware: Free: http://marlinfw.org/ (I’m using version 1.1.8)

wire to connect SPI pins. I’m using old Stepper Wiring as it suits the problem (4 main pins on each driver): $10.59 for 10 http://amzn.to/2G067ii

Dupont wires Female to Female can be used for individual connections. $6.98 http://amzn.to/2FYRVpQ (all the wires you’ll ever need)

With all these wires you don’t have to do any crimping of your own (just some soldering).

heat shrink tubing for finishing the soldered wires: $7.99 http://amzn.to/2tlT4oN

Step 2: Assembling the Stepper Drivers

The TMC2130 drivers come un-assembled so first we need to prepare each stepper putting the all the pins in the right places.

Picture of Assembling the Stepper Drivers

Very important about steppers. Trinamic seems to be the only company to do it right. Adding the usual heatsinks on top of a chip is a bit of joke as heat travels below the chip through the board. These little boards are build such that the chip will be underneath the board when assembled and the heat sink can be applied on top of the board.

 

For this project I added the 4 PSI pins as well as the end stop pin (for end-stop-less homing).

I cut the strips of pins in the right size for assebly (row of 8 pointing down), 4 PSI up, 1 Diagnostic up, one down (En) and 2 down (Dir, Step)

Picture of Assembling the Stepper Drivers

First I will solder the top pins to the driver (I’m using a piece of double sided PCB board to place and rest the pins).

Picture of Assembling the Stepper Drivers

Picture of Assembling the Stepper Drivers

Picture of Assembling the Stepper Drivers

Next I place the bottom pins in place on the PCB board and lay the driver on top and solder the downward facing pins.

Picture of Assembling the Stepper Drivers

Once all pins are soldered simply rinse and repeat for the remaining chips.

Before putting the drivers in your RAMPS 1.4 please note that you can remove the three jumpers that used to set your stepping to 1/16th. It is now handled by the software. I removed mine but I’ve read you may leave them as they no longer are connected to anything (probably did something to the pins that are now pointing up).

Step 3: Wiring With AUX 3 Available

The common setup TMC2130 setup for marlin assumes that the both Aux 2 and Aux 3 on the RAMPS board are available (like the first image of this step). If your are using a LCD with SD Card adapter, Aux 3 is not available and wiring for that situation will be discussed in the next Step.

Picture of Wiring With AUX 3 Available

The wiring image shows how all wires go to the 2 Aux clusters. Also note that three of the 4 wires are all combined and end up on 1 pin on Aux 3

Picture of Wiring With AUX 3 Available

SDI for X/YZ/E0 all go to pin D51

SCK for X/YZ/E0 all go to pin D52

SDO for X/YZ/E0 all go to pin D50

CS for X goes to D53

CS for Y goes to D49

CS for Z goes to D40

CS for E0 goes to D42

For my project I created a wiring harness that consists of 4 repurposed Stepper wires.

I solder and combined all Black wires into one single black wire ending up with a female connector for a single pin

I solder and combined all Green wires into one single black wire ending up with a female connector for a single pin

I solder and combined all Blue wires into one single black wire ending up with a female connector for a single pin

Picture of Wiring With AUX 3 Available

The Red wires each end up with their own single female pin connector as they each have their own pins assigned on Aux.

Picture of Wiring With AUX 3 Available

 

Step 4: Wiring With LCD Installed (Aux 3 Not Available)

Picture of Wiring With AUX 3 Available

Okay, so browsing around the web I can’t find a real clean solution to this. It’s not that hard to reroute X CS and Y CS to other ports but the RAMPS 1.4 only seems to have one SCK and the two MISO pins which are used by the Card Reader on the LCD Unit.

The solution I’ve come up with for now is to extend the LCD connector with three pins on top. It’s not pretty but it seems pretty sturdy (if soldered well). If you screw it up a new adapter only costs a few dollars on Amazon.com (http://amzn.to/2oNVPdM).

Picture of Wiring With LCD Installed (Aux 3 Not Available)

In order to reroute the CS pins, you’ll need to update the pin_RAMPS.h file

Change the pins to

DEFINE X_CS_PIN 44
DEFINE Y_CS_PIN 64

// Steppers
//
#define X_STEP_PIN         54
#define X_DIR_PIN          55
#define X_ENABLE_PIN       38
#define X_CS_PIN           44
#define Y_STEP_PIN         60
#define Y_DIR_PIN          61
#define Y_ENABLE_PIN       56
#define Y_CS_PIN           64

Redirecting these pins works but I’m a bit concerned about some of the threads I’m reading on using the SD card in combination with the TMC2130 (now sharing the same pins as the SD Reader). I will have to runs some more testing once all installed.

The new schematic images will show the new wiring configurations. Just follow the lines.

Picture of Wiring With LCD Installed (Aux 3 Not Available)

Setting Up the Software

Once all the hardware is connected (in fairness, I did one Stepper at a time) you will need to make the software aware of the new Drivers. If you are rerouting some of the CS pins because you’re using an LCD (adapter) you’ve already made some changes to the pins_RAMPS.h file but for normal operation most changes occur in the Configuration_adv.h

If you have the latest (or a newer version) of Marlin (I’m using 1.1.8 as of this writing) you can open the configuration_adv.h and search for TMC2130. It will take you right to the TMC2130 section.

First thing you do is uncomment (remove // from in front of) #define HAVE_TMC2130

// @section TMC2130, TMC2208/**
 * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers.
 *
 * You'll also need the TMC2130Stepper Arduino library
 * (https://github.com/teemuatlut/TMC2130Stepper).
 *
 * To use TMC2130 stepper drivers in SPI mode connect your SPI2130 pins to
 * the hardware SPI interface on your board and define the required CS pins
 * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
 */
#define HAVE_TMC2130

Next you un-comment those lines that represent the Stepper motors you will be controlling with the new TMC2130 drivers.

In this case I uncomment all three Axis and the Extruder (E0)

#if ENABLED(HAVE_TMC2130) || ENABLED(HAVE_TMC2208)  // CHOOSE YOUR MOTORS HERE, THIS IS MANDATORY
  #define X_IS_TMC2130
  //#define X2_IS_TMC2130
  #define Y_IS_TMC2130
  //#define Y2_IS_TMC2130
  #define Z_IS_TMC2130
  //#define Z2_IS_TMC2130
  #define E0_IS_TMC2130
  //#define E1_IS_TMC2130
  //#define E2_IS_TMC2130
  //#define E3_IS_TMC2130
  //#define E4_IS_TMC2130

The next section when you scroll down is where you define the power setting of all and each of the divers. In may case I’m pretty much leaving these as is. The first setting R_SENSE I believe has to do with any resistance the motor meets and when to do something with it. Some speculation as I haven’t found much on it (let me know if you do)

The second setting HOLD_MULTIPLIER will lower the current by half (or what value you set it to) when the motors are idle. It reduces heat but in some cases also handle the high pitched whining of idle motors.

The third setting INTERPOLATE is what gives the magic to these new drivers so leave it set to true. I will take the 16 steps your RAMPS sends the driver and turns it into 256, giving is the silent and smooth motion.

/**
* Stepper driver settings
*/ 
#define R_SENSE           0.11  // R_sense resistor for SilentStepStick2130 
#define HOLD_MULTIPLIER    0.5  // Scales down the holding current from run current
#define INTERPOLATE       true  // Interpolate X/Y/Z_MICROSTEPS to 256

In the following section you can set the Current and Micro Steps per motor. This is a really nice feature as you no longer have open up your electronics and mess with the little pot-meter on each driver. You can set this value in the configuration here but there’s also a way to change it on the fly with g-code M906 (M906 X900 sets the current for X to 900mA). You can play around with these values to figure out what works best for you.

The _MICROSTEPS setting is a bit confusing but, if you had 3 jumpers underneath your old driver leave it at 16, The interpolation will still bring it to 256.

The TMC2130 can run in two modes: spreadCycle of StealthChop. It’s the StealChop that’s making your printing invisible (to the ears that is). So most of you will install it for that reason. With StealthChop you also get less power and thus you can’t print as fast as you might have once wanted (personally I think speed is overrated).

In SpreadCycle Mode the drivers can run your prints faster as it can create more torque. It also get noisier though. If you’re interested in the TMC2130 for it’s lack of noise you will want to enable the StealthChop mode by uncommenting the following:

/**   
* Use Trinamic's ultra quiet stepping mode.
* When disabled, Marlin will use spreadCycle stepping mode.
*/
#define STEALTHCHOP

The next setting of MONITOR_DRIVER_STATUS I’m unfamiliar with (as of yet) so I’m going to leave it commented.

Should you wish to have the best of both worlds: Quiet when possible and powerful when needed you can choose to enable the hybrid mode:

/**
   * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
   * This mode allows for faster movements at the expense of higher noise levels.
   * STEALTHCHOP needs to be enabled.
   * M913 X/Y/Z/E to live tune the setting
   */
  #define HYBRID_THRESHOLD  <br>
  #define X_HYBRID_THRESHOLD     98  // [mm/s]
  #define X2_HYBRID_THRESHOLD    100
  #define Y_HYBRID_THRESHOLD     98
  #define Y2_HYBRID_THRESHOLD    100

You can set the speed at which the printer should switch from one mode to the next. The long and peaceful quiet may be gone.

As of this writing I will not go into sensorless homing yet as I’m quite happy with the homing I have today.

Before uploading the software I would recommend enabling the TMC debuggging option by un-commenting TMC_DEBUG. With the m122 command you can get useful information (especially when first trying out the new steppers).

/** Enable M122 debugging command for TMC stepper drivers.
   * M122 S0/1 will enable continous reporting.
   */
  #define TMC_DEBUG 

 

Testing the New TMC2130 Drivers

Picture of Testing the New TMC2130 Drivers
Picture of Testing the New TMC2130 Drivers
Picture of Testing the New TMC2130 Drivers

If you’re lucky like me you have enough spare parts laying around to do some testing. In this case I’m using a spare RAMPS 1.4 kit, and 4 steppers I had laying around.

I’ve inserted all four stepper drivers and hooked up the motors.

In order for you to test with RAMPS 1.4 you need to AT LEAST connect a thermistor to the TEMP0 (without Marlin does not like to operate, unless major code changes).

If you want to test the extruder stepper you will also need to disable the PREVENT_COLD_EXTRUSION or change the EXTRUDE_MINTEMP to room temperature (something like 18 Celcius)

in configuration.h

// This option prevents extrusion if the temperature is below EXTRUDE_MINTEMP.<br>// It also enables the M302 command to set the minimum extrusion temperature
// or to allow moving the extruder regardless of the hotend temperature.
// *** IT IS HIGHLY RECOMMENDED TO LEAVE THIS OPTION ENABLED! ***
//#define PREVENT_COLD_EXTRUSION
//#define EXTRUDE_MINTEMP 170

Hook up your RAMPS to a 12 Volt source (powerful enough to run the steppers) and upload your Marlin to the test board.

You can now connect to the board via USB with a program like Pronterface and test some things.

First off run the M122 command which, if you enabled the TMC_DEBUG (in previous step) will provide a bunch of information on the stepper drivers.

The following is a dump of the information of my drivers.

>>> m122
SENDING:M122
		X	Y	Z	E0
Enabled		false	false	false	false
Set current	800	800	800	800
RMS current	795	795	795	795
MAX current	1121	1121	1121	1121
Run current	25/31	25/31	25/31	25/31
Hold current	12/31	12/31	12/31	12/31
CS actual		12/31	12/31	12/31	12/31
PWM scale	128	128	40	39
vsense		1=.18	1=.18	1=.18	1=.18
stealthChop	true	true	true	true
msteps		16	16	16	16
tstep		1048575	1048575	1048575	1048575
pwm
threshold		0	0	0	0
[mm/s]		-	-	-	-
OT prewarn	false	false	false	false
OT prewarn has
been triggered	false	false	false	false
off time		5	5	5	5
blank time	24	24	24	24
hysterisis
-end		2	2	2	2
-start		3	3	3	3
Stallguard thrs	0	0	0	0
DRVSTATUS	X	Y	Z	E0
stallguard
sg_result		0	0	0	0
fsactive
stst		X	X	X	X
olb		X	X
ola		X	X
s2gb
s2ga
otpw
ot
Driver registers:
	X = 0xE0:0C:00:00
	Y = 0xE0:0C:00:00
	Z = 0x80:0C:00:00
	E0 = 0x80:0C:00:00

I’m not going to bore you with too much details (Still have to figure out a bunch myself) but if in the Driver registers at the bottom you see 0xFF… it means something is not connector properly for that stepper driver.

You can now start sending commands to the motors and see if they are running properly. in the video below you hear the Case fan of my CoreXY Printer (next project). The motors themselves, I cannot hear.

Conclusion

Picture of Conclusion

The installation of the new TMC2130 seems more daunting than it is. Yes, you will need to do some soldering, there are more wires than ever before but I can’t wait to install these permanently into my CoreXY printer. Once I have I will post the before and after video (and most importantly the audio).

Let me know what I got wrong, I’m here to learn myself. If you’re eager to learn more about the sensorless homing, please support me on Patreon.com. I will need to purchase a new set of Drivers for that one.

Compact Cantilever 3D Printer build

My last 3D printer implementation, the Core3D has been mostly done and I love it. All it needs is an automatic nozzle cleaner and I consider it done (sure will find something else to add onto it).

It’s reliable, sturdy and unfortunately big and heavy. What it is not, is something I can pick up and take along to my Parks and Rec presentation later this fall.

For that I’m designing and implementing my 3rd 3D printer build, the Compact 3D. It will be lighter, simpler and I hope most importantly, something I can pick up, drop in the back seat and set up where ever there’s an outlet.

The Compact 3D will be a cantilever printer with little thrills. XYZ (X being cantileved, KFB2.0 controller board,  bowden extruder, adjustable z-enstop, non-heated bed with as little adjustment capabilities as possible.

Each of the axis are built using 3030 aluminum extrusion. each of which ends up being it’s own linear actuator (more on this later).

The entire printer was designed in Fusion 360, prior to implementation.

In this post I will walk you through the different materials used for this build. STL files and designs are available at GrabCad.com and Instructables.com

Generic Axis

Each axis of this printer will be made of aluminum extrusion and will have the t2 belt “wrapper” around the extrusion and linear rail mounted to it. At one end there will be a nema 17 motor, on the other end idlers to guide the belt around/through the extrusion.

The G2 belt will be held in place by the adapter attached to the linear rail’s slider. The ribs on belt will be held in place by the grooves insider the bracket. The belt will be wrapped around the clips.

 

At this point there is no adjustable tensioner, other than pulling it tight when attaching. Having run for a few weeks now, it seems to work great.

End Stops

Although I’m a big fan of auto leveling, the first implementation of the Compact 3D will have end stops on each of the 3 axis. I will be using the same end stops as used on the Core3D printer. purchased on Amazon.com for $9.99 (set of 5)

 

Both X and Y will have static cases that can be attached to the extrusion of each axis.

The end stop can be slid into place and tightened by a t-nut on the extrusion.

The Z-axis will be adjustable as the first layer of each print is determined by where the Z-axis ends. It is designed to slide in the groove of the extrusion and can be adjusted by a wheel.

I have uploaded the design for this end stop to GrabCad.com feel free to download.

Bowden Extruder

I’ve never worked with a bowden extruder before and have my doubts about it (play of filament inside bowden tube). However, since this printer will be a cantilever type, I want to limit the load that is put on the X-Axis. Direct extrusion would imply mounting the extrusion motor on the X-rail adding a lot of weight (and momentum) that might be work well for cantilever type printers.

For the bowden drive I’m using an MK8 extruder from ebay  that will be mounted to the Z-Axis.

 

The hot-end and nozzle are a e3d v6 knockoff from amazon.

 

The original thought was to go with the standard Ramps 1.4 kit but due to it’s stacked hight I ended up going with a cheap KFB2.0 controller board.

 

The main topics of this implementation will be the actual build, the installation of the electronics and lastly the configuration of the software.

Materials

I tried to keep the cost down to some extend but did not have to patience to go through China. Most parts were ordered off of Amazon and EBay. I am an affiliate so if you want to help me out, use the links provided.

The backbone of this printer is 3030 Aluminum extrusion. The design requires approximately 1200mm. To be safe (since you will need to cut this) I’d order more. Your best bet is to order this from Ebay.com.

80/20 3030 seriesEbay $17.10 (plus shipping)

Linear Rails 3 x 250 mm Ebay (I was able to get mine at 16.77 per)

Stepper Motors (1.7A) Amazon $51.99 (You can get away with lighter ones)

Idlers 2 5-packs (for the linear actuators) Amazon $8.99

Belt Pulleys (16 teeth) 5-pack Amazon $10.99 (you could also get the 20 teeth)

v6 Hotend (bowden) Amazon $15.98 (You can go for the real E3d but that would blow my budget)

KFB2.0 Controller board Amazon $19.95 (Substitute for RAMP 1.4 Kit, as it doesn’t fit)

DRV8825 Stepper Motor Driver (5 pack) Amazon $11.99

LCD 12864Amazon $14.99

Bed 200×200 (220×220 actual) non-heated: ebay $12.84 (you could go with heated bed but it would require additional power).

NetGear CaseeBay 10.99 + shipping (the design is based on dimension of NetGear FSV318, could be changed though)

MK8 ExtrudereBay $8.33

Cables for Stepper motors Amazon $9.99

Power Brick 12V 8A 96W Amazon $22.50 (comes with adapter that fits netgear power input

Filament (PLA) Amazon $23.00 I did end up using a little ABS for the Hotend bracket. Everything else is PLA.

GT2 Timing belt Amazon $8.99

USB ConnectorAmazon $6.79 (optional but makes for nicer finish)

Circuit BoardAmazon $6.99 (optoinal to add jsx connectors. Cables could go directly to KFB2.0 Board)

Square Nuts M3 Amazon $6.99 (only need 7)

Hex nuts M3 Amazon $7.05

T-nut 30 series (m6) 100 pack Amazon $13.99 (Again only need 3)

T-nut 30 series (m3) 50 pack AlieXpress $8.78 (you can get them from amazon in 10 packs for way more but faster)

Pan head screws M3 30mm Amazon $8.72 (only need 20)

Hex socket screws of various sizes Amazon $13.99

JST 2.54 connectors (2/3/4/5/6) Amazon $9.99 (the KFB2.0 is all JST connectors. You may have to crimp your wires accordingly.

Cable wire Wrap (4m) Amazon $6.18

3030 Corner Bracket (come in 10 pack) Amazon $10.99 (only need 2)

As you can see things start adding up (little over $400). One has to be realistic that all the little items matter and cost money. I’ve tried to represent as close as possible all the items needed for this build.

All of this was ordered through Amazon Prime. If you haven’t tried it, check out the free trial here:

If you have time and patience many of these items can be found on AliExpress.com for much much less. Delivery times can run up to several weeks, so again, patience is the name of that game.

Step 2: Linear Actuators

All three axis are based on the same design and are in fact standalone linear actuators that could be used for any purpose.

Components needed for each of the actuators:

Linear Rail (for this design 250mm but could be longer)

3030 Aluminum extrusion (375mm for Z-axis, 320mm for X-Axis and 320 for Y Axis). If you go with longer linear rail then go with more extrusion.

Stepper motor with belt pulley for each actuator. In this design I used 1.7A stepper but I think you can easily go with 1A steppers.

End-stop for each actuator. The end stops are Gowoops 5 PCS of Mechanical Endstop Switch with Cable. The cases in which they are attached are to be 3D printed.

GT2 timing belt

3 idlers to guide the GT2 belt

End casings for the actuator to be 3D printed

6 pan head 30mm m3 screw

Based on the Axis different linear guide slider Connectors/belt tensioners.

3D printer files for each of the axis are:

X-Axis:

  • IdlerCapFront (Mirror).stl,
  • IdlerCapBack (Mirror).stl
  • NemaCapFront (Mirror).stl
  • NemaCapBack (Mirror).stl
  • EndStopCaseX.stl
  • HotEndAdapter.stl
  • HotEndBracket.stl
  • LinearAdapterTensionClip.stl (2x)

Y-Axis:

  • IdlerCapFront.stl,
  • IdlerCapBack.stl
  • NemaCapFront (Mirror).stl
  • NemaCapBack (Mirror).stl
  • EndStopCaseY.stl
  • LinearAdapterY.stl
  • LinearAdapterTensionClip.stl (2x)

Z-Axis:

  • IdlerCapFront (Mirror).stl,
  • IdlerCapBack (Mirror).stl
  • NemaCapFront (Mirror).stl
  • NemaCapBack (Mirror).stl
  • LinearAdapterZ.stl
  • LinearAdapterTensionClip.stl (2x)
  • AdjustableEndStopCaseZ.stl
  • AdjustableEndStopWheel.stl
  • AdjustableEndStopWheelHouseBottom.stl
  • AdjustableEndStopWheelHouseTop.stl

The Nema Endcaps are connected via a 30mm pan head screw (with idler in between) and 4 pan head screw connecting the Nema Stepper motor. In the back caps there is space to place hex nuts.

Once you’ve connected all the idlers (two in the End caps and one in the Nema caps) and attached the Nema Stepper moter to the Nema caps, you can weave the GT2 belt through (and around the pulley) and pull both ends up to the Linear rail slider.

Keep several inches past the linear slider on each end as you will be wrapping them around the tension clips and inserting these into the adapter.

I have found it easiest to do this with a lot of slack, then connect the adapter to the slider with four hex Socket screws (6mm) and only tighten one side of the belt. With pliers you can now tighten the belt on the other side (until the belt is real tight) and screw the remaining screws.

The end-stop casings are a real close fit to the actual end stops. Make sure you connect the wiring prior to sliding he end stop in the case. The case can then be attached to the extrusion with a T-nut and 20mm hex socket screw

Step 3: The Case

I used a netgear fsv318 Router as the base for the printer. It can hold the electronics and comes equipped with an on/off button as well as a power connection.

In order to prepare the case, I opened the case and cut the circuit board next to the power adapter leaving the board with the on/off swich and power adapter.

I did some rewiring to get plus and minus wires that can originate from the power adapter and can be switches on/off with the existing switch. This does require the ability to use a volt meter and to solder to figure out where and how to connect the new wiring.

I created a controller board base that uses the existing screw holes in the Netgear case and allows for the addition of a circuit board that can connect all the wiring (via jst connetors).

The Y-axis is connected via two 3D printed brackets that can be screwed into the case (by means of hex socket screws and nuts) and in turn wraps around the extrusion, to be connected via 4 t-nuts and 15mm hox socket screws.

The 3D printed items for this step are:

  • bodyClamp.stl
  • bodyClamp_2.stl
  • MotherBoardBracket.stl

Step 4: Electronics

For this implementation I ended up using a KINGPRINT KFB2.0 Controller Board (for Reprap Mendel Prusa I3 Kossel 3D Printer). I had initially order the usual RAMPS 1.4 kit but figured out quickly enough that stacked up it would exceed the height of the Router case (intended to hold the electronics).

At the time of ordering the KFB2.0 there was no documentation, whatsoever, to be found on it but it seemed to be simply everything that was on a RAMPS 1.4 shield (and then some) and for less than $20 I felt it was worth a try.

Turns out I’m pretty pleased with it. It does exactly the same as a RAMPS 1.4 shield and it takes the same software. It is basically an Arduino Mega 2560 with all the connectors needed for stepper drivers and all other 3D printer related connections.

This board can actually take 24 Volt (as opposed to only 12V for the RAMPS 1.4).

The only difference is all the connections. These are all JST 2.54 connectors and thus I did end up crimping a lot of wires. The stepper motor wires I put in the material list already use JST 2.54 so that should make it is bit easier.

In the case of my implementation I decided to leave all connections outside of the box and prepared a circuit boars with JST connetors for X, Y, Z steppers and end stops, Extruder, hotend and thermistor. I left room for possibly a second extruder.

I had hope that wiring the way I did, I could easily open the case and get to the electronics. As you can see in the images, I can do that to some extend but opening and closing the case is a pretty tight fit.

In order to pass through the wires for the LCD, I had to saw open one of the side gaps. The LCD wiring fits nicely.

I also added a secondary connector for my power brick that I can reach when the case is half open. Optional but handy.

When adding the stepper drivers, don’t forget to insert the proper jumpers (all three for each driver) to get the most accurate steps for this configuration 1/16 steps.

Make sure the drivers have their potential-meter screw pointing towards the Main Board Chip (see images). Inserting them the wrong way I believe will fry components beyond repair.

The same goes for the End stop connections. The signal is towards the outside of the board.

Most connections are printed on the bottom of this particular controller board, so check it out first prior to screwing the board down.

I’ve included an STL for a case that can be used to house the LCD. I’ve left it open in the back as I haven’t figured out if I want to connect it somehow to the case or if I want to leave it loose (I pick it up when operating it).

LCD Case: LCDCase.stl

Step 5: Bed and Assembly

At this point all components to the printer are in place. All that is left to complete the build is assembly.

The printer bed is supported by a 3D printer frame on which an aluminum bed can be added (via screws and springs).

The MK8 Extruder can be attached to the Z-axis with the provider Extruder Bracket: ExtruderBracket.stl

The STL for the 3D printed bed is: BedFrame.stl

All that is left is to attach all three axis to each other and to the case subsequently.

The X-Axis is attached to to Z-Axis via the Linear adapter on the Z-Axis by means of three 6M t-nuts and 3 M6 Hex socket screws (10mm)

The Z-Axis is attached to the Y-Axis via a “bridge” using 3030 Extrusion and 2 corner brackets.

It may take some effort and a water level to make sure the connections make perfect 90 degree angles. Not putting in that effort may make for some wonky prints.

Step 6: Software Setup

The KingPrint KFB2.0 board runs marlin software which can be downloaded at:

https://github.com/MarlinFirmware/Marlin

Once loaded locally it will need some configuration to get it to work with this printer build.

Most changes will be made to the configuration.h file (attached)

changes:

Endstops require inverting

#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. 
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.

Steps based on 1/16 and 16 teeth and MK8 extruder

#define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 100, 92.6 }

Since the bed is only supported by the linear slider, there will be more vibrations. The Jerk needs to be pushed down (maybe even further than the numbers shown)

#define DEFAULT_XJERK                 10.0
#define DEFAULT_YJERK                 10.0
#define DEFAULT_ZJERK                  0.4
#define DEFAULT_EJERK                  5.0

based on current build (this may differ based on stepper wiring)

#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR false

based on the current build and it’s dimension I had to set the X Y and Z boundaries

// Travel limits after homing (units are in mm)
#define X_MIN_POS -17
#define Y_MIN_POS -37
#define Z_MIN_POS 0
#define X_MAX_POS 200
#define Y_MAX_POS 200
#define Z_MAX_POS 270

Since my end stop are outside the bounds of the bed I need to change the manual home settings

// Manually set the home position. Leave these undefined for automatic settings.
// For DELTA this is the top-center of the Cartesian print volume.
#define MANUAL_X_HOME_POS -17
#define MANUAL_Y_HOME_POS -37
#define MANUAL_Z_HOME_POS 0

Turn on Full graphics LCD and SD card support

//#define ULTRA_LCD   // Character based
#define DOGLCD      // Full graphics display
/**
 * SD CARD
 *
 * SD Card support is disabled by default. If your controller has an SD slot,
 * you must uncomment the following option or it won't work.
 *
 */
#define SDSUPPORT

Enable the proper LCD

//
// RepRapDiscount FULL GRAPHIC Smart Controller
//  http://reprap.org/wiki/RepRapDiscount_Full_Graphi...
//
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

Because the Z-axis is belt driven (whereas most are lead screw driven) I end up with an issue when a print is stopped. If I click STOP PRINT (or even if a print is done) the Z-Axis will loose power and drop like a rock. This can damage your print or in worse case shatter your bed. For this I made some changes to the more hidden code.

Whenever a SD_FINISHED_RELEASECOMMAND is issued power is dropped to all stepper which for this printer can be bad (dropping Z-axis). I expanded the code in Configuration_adv.h to add to more command in that event.

#define SD_FINISHED_STEPPERRELEASE true  //if sd support and the file is finished: disable steppers?
  //compact
  #define SD_FINISHED_XYHOMECOMMAND  "G28 X0 Y0"  
  #define SD_FINISHED_ZHOMECOMMAND  "G0 Z0"  
  #define SD_FINISHED_RELEASECOMMAND "M84 X Y E" // You might want to keep the z enabled so your bed stays in place.
  
  //#define SD_FINISHED_RELEASECOMMAND "M84 X Y Z E" // You might want to keep the z enabled so your bed stays in place.

I also changed the release command to NOT drop power on the Z-Axis stepper. Now when the stop command is executed, the printer will first home to X0Y0 (which should get out of the way of any print. Subsequently the printer homes to Z0 and then drops power to X and Y (not Z).

In the stepper.ccp file the code has been changed to execute these new commands.

#ifdef SD_FINISHED_RELEASECOMMAND
      if (!cleaning_buffer_counter && (SD_FINISHED_STEPPERRELEASE)) {
        enqueue_and_echo_commands_P(PSTR(SD_FINISHED_XYHOMECOMMAND));
        enqueue_and_echo_commands_P(PSTR(SD_FINISHED_ZHOMECOMMAND));
        enqueue_and_echo_commands_P(PSTR(SD_FINISHED_RELEASECOMMAND));
        
      }
    #endif
    _NEXT_ISR(200); // Run at max speed - 10 KHz
    _ENABLE_ISRs(); // re-enable ISRs
    return;
  }

These are all the changes that were made to make this printer run.

Step 7: Conclusion

So this was all it took to build the Cantilever printer I set out to build. The materials list I believe is complete but mostly sourced from Amazon. The build can be lot cheaper if you dig a little deeper into AliExpress.

The printer performs fine for the budget it was built on. Having the entire bed rest on a single linear slider is a bit of a stretch but seems to work.

Step 8: STL Files and Design

All 3D printed parts that have been referenced in this build can be found in the uploaded STL_Files.zip.

The entire design can be downloaded from GrabCad at https://grabcad.com/library/cantilever-3d-printer-1

All items where printed on another custom built printer of mine. That one is a bit more complicated than this build but maybe one day I’ll create an instructable for it as well