Eryone Thinker SE Upgrade Modifications

Encouraged by Gary ‘Thinker’ Hall from CaveWorkz I joined the Eryone family just before Christmas. Initially I had been looked at a Prusa i3 printer retailing over £500 but a Black Friday deal with suggestions of possible upgrades made the Thinker SE2 just far too tempting as a cheaper entry level option.

One of the things I was keen to print from the start was the more exotic PLAs like Wood and Marble. I’m already turning and machining things from wood and in a busy market I thought mixing in some 3D printed decorations might be a good way to stand out.

GH pointed me in the direction of a number of upgrades and modifications that would make the Eryone Thinker SE even more suitable.

E3D V6 HotEnd Mod.

First of we come to Madizmo’s Thinker S Dual Blower Hotend for E3D V6 modification with the addition of a Nozzle X upgrade. It requires a bit of printing before hand so make sure you are ready before dismantling the printed. Although PLA/PLA+ can be used PETA is far better due to its higher temperature characteristics.

What the company says about the V6

Our flagship jack-of-all trades all-metal HotEnd. V6 is suitable for practically any printer, and has the widest array of upgrade options. For everyday printing or exotic circumstances, V6 will deliver the reliability and performance that are E3D’s specialities

Author: Gabe S. (and 3 other contributors)

Assembling the V6 is straight forward and takes a few minutes. The key points for me were getting the threads and subsequent tightness right, applying the appropriate amount of thermal paste (I applied too much and some of my early filament was actually the paste working its way out the system) and getting the cable routing right. You won’t need the fan housing and fan as this is upgraded/swapped for printed ones by Madizmo.

I’m not using the default nozzle but have upgraded to the Genuine E3D Nozzle X for V6 HotEnd Kit 3D Printer (1.75mm, 0.4mm) see also https://e3d-online.com/collections/nozzles/products/v6-nozzles.

The documentation for the V6 Hot End can be found at https://e3d-online.dozuki.com/c/V6 but in addition you will need:

BMG Extruder Upgrade

At the same time I swapped to the DotBit Dual Drive Extruder which has two driven cogs either side of the filament rather than a single drive cog and bogie guide pulley. There is some debate as to which way up the drive cog should be attached to the stepper motor. My advice is offer them up in both orientations and see what looks best to you. Full Disclosure – mine is as per the set up video below. There is some useful tips in the file below about tightness.

SKR1.4 Motherboard Upgrade

In order to make all the new mechanics work the OEM Motherboard (good as it was) needed to be exchanged something else. GH pointed me in the direction of the BIGTREETECH SKR V1.4 & SKR V1.4 TURBO board thats been well received by the 3D Printing community.

The following video guides give useful information on the board and how to set it up.

These are the jumper positions for your TMC2209.

Using the TMC2209s and cutting the DIAG Pin

The image above shows the jumper positions for your TMC2209. If you are using the TMC2209s and are not using the Stall Guard Function you need to cut off the DIAG pin on the driver as shown below. Now, I wasn’t thinking and did this for all six drivers provided. In reality, if using a BLTouch you only need to do this for two (2) of them – the X and Y.

Fitting the Board

You will want to fit your board under or to the side of your printer. Madizmo has a Eryone Thinker S case for SKRv1.3 and PI3 together if you are someone who likes using Octaprint etc. I wanted my Pi separate with a screen as I had plans for a second printer and some cameras so made my own remix of the Madizmo box (link to follow). Both require extra 24v fans.

The following image shows how one solution for connecting the board. The BLTouch will work using the provided ports providing the Firmware configuration is correct. The Part fan must be connected to Fan0 as its the only one which is PWM controlled. Fans 1, 2, 3 are all permanent On and should be used for the motherboard (steppers and general cooling) and for the Hot End. Further information on Fan Control is available via SKR 1.4 – Fan Control. The NeoPixel RGB port is marked in blue – for this you will want the DC Bridge (see below).

Bracing

One criticism of delta printers is the stability in their yoke especially with upgraded and heavier extruder and hot end mechanisms. GH recommended the RVOLT – Rear Frame Brace – Eryone Thinker modification.

Having completed it the jury is out. It prints ok – I needed to resize all the holes to take M3 bolts. It feels like it should do the job but there is still some flex (whether the type that would impact on a print – who knows) and this might be down to the shear impossibility of getting all the mount bolts and their t-nuts in place and fixed.

If you do decided to go down this route you will need to get some additional M5 bolts in 35-45mm length such as these from GWR Fasteners and some T-Nuts (I rather like these Spring ones from Makers Mate).

One excellent little upgrade suggested by GH was these bearing screw holders. Although installing them alongside the additional bracing they have made everything feel a little tighter.

Word Of Warning

WORD OF WARNING: Because of my bracing, bearing holders and extruder upgrades the max printing height has reduced by 100mm to 300mm.

Marlin Firmware

So there are a few ways you can get firmware for the printer:

  • Ask GH nicely for his Bin file – this is definitely the easiest so I didn’t do this.
  • Download the BigTreeTech firmware from GITHUB – BIGTREETECH-SKR-V1.3/BTT SKR V1.4/ – this is moderately challenging – so I didn’t do this either.
  • Download vanilla firmware from Marlin via Github, configuring and building your own firmware from scratch – this is the hardest approach so its what I did.

Without doubt the way to edit and build Marlin for the SKR1.4 is in Visual Code and there are two videos provided by Teaching Tech that help set up a Marlin Development Environment in Visual Code and get the basic configuration done (see below).

The TL;DR; set up

  • Install Visual Code
  • From inside Visual Studio Code install the PlatformIO IDE and Marlin AutoBuild Plugins.
  • Open your Marlin-2.0.x Firmware folder
  • Copy across the configuration.h and configuration_a**.h files from the config.zip/example printer folder.

The following is incomplete and not exhaustive. There may be more to be done. Once I have a working configuration I will upload it here.

Configuration Files

There are a number of essential changes that need to be made, numerous optional changes and then just differences between the main Marlin default and Eryone, BigTreeTech branches. Using the Marlin default as a base, I have tried to list all those I am aware of and that I believe affect how the machine behaves. Good suggestion from GH is to use an online diffchecker to compare differences between files. Some of the values are taken from 3dwork.io/complete-guide-skr-v1-4-and-tmc2209.

VARIABLEVALUENOTES
CONFIGURATION_H
CONFIGURATION_H_VERSION20007This seems to be the latest version for Marlin 2.0.7.
STRING_CONFIG_H_AUTHOR“Your Text In Quotes”I found this handy to use as I could index changes to the firmware.
SHOW_CUSTOM_BOOTSCREENENABLEDI had a bit of fun making sure this worked as it was erroring to begin and then when I removed it I had a horrid screen during bootup. You basically need to create a _Bootscreen.h file that has an image represented in unsigned chars. The following site can be used to convert images – https://marlinfw.org/tools/u8glib/converter.html
SERIAL_PORT-1The serial port values are swapped from the default Marlin and Eryone Branches.
SERIAL_PORT_20
BAUDRATE115000I have seen this set to 250000 but this is what BTT recommend.
MOTHERBOARDBOARD_BTT_SKR_V1_4_TURBO
CUSTOM_MACHINE_NAME“Your Text In Quotes”I found this handy to use as I could index changes to the firmware.
TEMP_SENSOR_05I got this from the old E3D wiki although its also on their E3D Dozuki.
TEMP_SENSOR_BED13Taken from the Eryone Branch of Marlin.
HEATER_0_MAXTEMP285E3D indicate this should be increased from 275 to 285
PID SECTIONSee below for calculating the PID values and entering them into the Firmware
EXTRUDE_MAXLENGTH600Taken from the Eryone Branch of Marlin.
X_MIN_ENDSTOP_INVERTINGTRUETaken from the Eryone Branch of Marlin and confirmed with testing.
Y_MIN_ENDSTOP_INVERTINGTRUE“”
Z_MIN_ENDSTOP_INVERTINGTRUE“”
Z_MIN_PROBE_ENDSTOP_INVERTINGTRUE“”
X_DRIVER_TYPETMC2209Taken from Teaching Tech SKR1.4 You Tube Video
Y_DRIVER_TYPETMC2209“”
Z_DRIVER_TYPETMC2209“”
Z2_DRIVER_TYPETMC2209“”
E0_DRIVER_TYPETMC2209“”
ENDSTOP_NOISE_THRESHOLD2I had issues with X not always returning to home. Enabling this solved the problem.
DEFAULT_AXIS_STEPS_PER_UNIT80,80,400,411415 is given in the Bondtech-Creality-CR-10-Installation-Guide-V1.0 and via GH although it might not be correct and requires calibration. 411 was calculated using E-Stop tests.
DEFAULT_MAX_FEEDRATE300, 300, 35, 60Defaults: Marlin=300, 300, 5, 25; Eryone=300, 300, 35, 25; GH=300,300,5,60
DEFAULT_MAX_ACCELERATION1500, 1500, 1500, 1500Defaults: Marlin=3000,3000,100,1000; Eryone=1500,1500,150,1500
DEFAULT_ACCELERATION1250Defaults: Marlin=3000;
DEFAULT_RETRACT_ACCELERATION1250“”
DEFAULT_TRAVEL_ACCELERATION1250“”
CLASSIC_JERKENABLED“”
DEFAULT_XJERK8Marlin and Eryone Defaults: 10
DEFAULT_YJERK8“”
Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PINDISABLEDThis needs to be disabled as we are using the dedicated BLTouch Pins and not the old Z Stop Pins.
USE_PROBE_FOR_Z_HOMINGENABLED
Z_MIN_PROBE_PINP0_10
BLTOUCHENABLEDThere are other values in this section to be configured.
NOZZLE_TO_PROBE_OFFSET-34, -28, ZX & Y are taken from the design for the HotEnd. Z is by calculation. Mine is -1.220/5
MULTIPLE_PROBINGENABLED
POWER_LOSS_RECOVER_SUPER_CAP??This is missing from Marlin Default but has values in Eryone.
Z_PROBE_LOW_POINT-3Marlin Default is -2.
WAIT_FOR_BED_HEATERENABLED
PROBING_FANS_OFFENABLED
DELAY_BEFORE_PROBING200
INVERT_X_DIRFALSE
INVERT_Y_DIRTRUE
INVERT_Z_DIRTRUE
INVERT_E0_DIRTRUE
X_BED_SIZE300
Y_BED_SIZE300
Z_MAX_POS300The standard value here for the Thinker SE would be 400. Due to bracing and Dual Drive Extruder this has been reduced by 100mm
SOFT_ENDSTOPS_MENU_ITEMENABLEDEnabling this allows you to turn it off in order to calculate the Z Offset when it occurs below zero.
BED LEVELLINGVarious.including GRID_MAX_POINTS_X. I set this to 5 giving 25 points. Anything else is very slow.
LCD_BED_LEVELING??
Z_SAFE_HOMINGENABLED
EEPROM_SETTINGSENABLED
EEPROM_BOOT_SILENTENABLED
EEPROM_AUTO_INITDISABLEDShould it be enabled?
PREHEATSVarious.
NOZZLE_PARK_FEATUREENABLED
PRINTCOUNTERENABLED
SDSUPPORTENABLED
REVERSE_ENCODER_DIRECTIONDISABLEDDisabling this means that turning the knob clockwise increases values.
INDIVIDUAL_AXIS_HOMING_MENUENABLED
REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLERENABLED
CONFIGURATION_ADV.H
PROBE_OFFSET_WIZARDDISABLEDThis is an option you might want to enable if you have troubles calculating your Z Offset.
STATUS_MESSAGE_SCROLLINGENABLED
LCD_SHOW_E_TOTALENABLED
SHOW_REMAINING_TIMEENABLEDThere are other differences in this section.
ADVANCED_PAUSE_FEATUREENABLEDThis needs to be enabled if you want the Filament Change, Load and Unload Menu.
FILAMENT_CHANGE_UNLOAD_FEEDRATE30Defaults: Marlin=10; Eryone=30;
FILAMENT_CHANGE_UNLOAD_ACCEL25Defaults: Marlin=25; Eryone=16;
FILAMENT_CHANGE_UNLOAD_LENGTH450Defaults: Marlin=100; Eryone=450/26;
FILAMENT_CHANGE_FAST_LOAD_FEEDRATE10Defaults: Marlin=6; Eryone=10;
FILAMENT_CHANGE_FAST_LOAD_ACCEL25Defaults: Marlin=10; Eryone=30;
FILAMENT_CHANGE_FAST_LOAD_LENGTH100Defaults: Marlin=0; Eryone=100;
ADVANCED_PAUSE_PURGE_FEEDRATE5Defaults: Marlin=3; Eryone=5;
ADVANCED_PAUSE_PURGE_LENGTH100Defaults: Marlin=50; Eryone=100;
FILAMENT_UNLOAD_PURGE_RETRACT0Defaults: Marlin=13; Eryone=0;
FILAMENT_UNLOAD_PURGE_FEEDRATE25Defaults: Marlin=25; Eryone=Missing;
PARK_HEAD_ON_PAUSEEnabledDefaults: Marlin=Disabled; Eryone=Enabled;
FILAMENT_LOAD_UNLOAD_GCODESDisabledDefaults: Marlin=Disabled; Eryone=Enabled;
FILAMENT_UNLOAD_ALL_EXTRUDERSDisabledDefaults: Marlin=Disabled; Eryone=Enabled;
X_CURRENTSee BelowSee Below
Y_CURRENT“”“”
Z_CURRENT“”“”
E0_CURRENT“”“”
X_SLAVE_ADDRESS0
Y_SLAVE_ADDRESS1
Z_SLAVE_ADDRESS2
E0_SLAVE_ADDRESS3
CHOPPER_TIMINGCHOPPER_DEFAULT_24VIts is either CHOPPER_DEFAULT_12V or CHOPPER_DEFAULT_24V. The Eryone TMC config and 3DWork say 24v.
MONITOR_DRIVER_STATUSEnabledTeaching Tech says this is optional.
TMC_DEBUGEnabled“”
HYBRID_THRESHOLDDisabled“”
SQUARE_WAVE_STEPPINGDisabled“”

Stepper Motor Currents

This section caused me some head scratching as values given in different places varied. Note: RMS Current = Peak Current x 0.707 or Peak Current = RMS Current x 1.414.

There are two motors listed by Eryone:

  • 42HS1411-20B15 @ 1.68 Amps with 50g/cm3 (40mm Long)
  • 42HS1411-20B19 @ 1.5 Amps with 45g/cm3 (34mm Long)

However, three different ones are used on the machine itself:

  • X: 42HS1411-17D – 40mm Long
  • Y: 42HS3417-16D – 40mm Long
  • Z: Unknown.
  • EO: 42HS3417-16HB – 34mm Long.

I found this helpful analysis on Reddit:

Well, here’s my take on it. Those stepper motors are rated such that for two coils held stationary, each at the rated current (2A), and operating up to the maximum rated ambient temperature (50C), the internal temperature rise over ambient will not exceed 80C and thus not exceed the rated temperature for the specified insulation class (Class B, 130C).

If the steppers were used in an application where they were in continuous motion, such that the current waveform (modulo inductance effects) was a sine wave then it would be reasonable to limit the current such that the RMS value of the current waveform was 2A. In that case the peak current would be 2.8A.

However, in a 3D printer application the steppers may be energized but stationary for an indefinite amount of time and the “two coils operating at” limit should apply. So, the peak current limit should be set to 2A or, equivalently, the RMS limit would be set to 1.4A.

As a general rule of thumb, operate the steppers at 50% to 80% of the stated limit. Be nice to your motors, I guess. So shoot for a peak of 1A to 1.6A or an RMS of 0.7A to 1.1A.

Zombie Grot via https://www.reddit.com/r/3Dprinting/comments/hap9t0/tmc2209_stepper_vref/

The following table shows the values I have found, calculated and ended up using as a starting point. You can verify UART coms with M122 provided MONITOR_DRIVER_STATUS and TMC_DEBUG are enabled.

MARLIN DEFAULTERYONE3DWorkRATED RMS CURRENT(A)50% RMS (mA)PEAK CURRENTOPTED VALUES
X_CURRENT80010008501.50 (1500 mA)7501060.50MARLIN DEFAULT
Y_CURRENT80010008501.507501060.50MARLIN DEFAULT
Z_CURRENT80011008501.68 (1680 mA)8401187.76MARLIN DEFAULT
E0_CURRENT8009006001.507501060.50MARLIN DEFAULT

RGB Lights

Work in Progress / To be Done.

  • Plug in 5v, Sig, GND (top to Bottom)
  • Change configuration.h – Uncomment and set NEOPIXEL_PIN to P1_24
  • Teaching Tech LEDs
  • Add Neopixel Library
  • Move DC-DC Jumper inline with DC Mode Module (If Used)

General Tuning

  1. Motion: Check Directions, Check Stops, Check Home.
  2. PID: See Below and based on 3DAddict.
  3. Set Z Offset using Config>Advanced>Probe Offsets>WIzard and 0.2mm spacer. Ensure Probe and Bed set to base temperature e.g 150 for nozzle and 60 for bed. e.g. -1.35
  4. Check E-Steps

PID Tuning

  • Using Pronterface (or similar) and switch on
  • M503 – will give current PID values e.g M301 P27.76 I2.69 D71.53
  • M303 S215 C10 – Auto tune and 215deg and repeat 10 times. PID does not have to be repeated many times unless the average working filament temperature changes significantly.
    • 205: P31.78 I3.12 D81.00;
    • 215: P32.56 I3.24 D81.69;
    • 225: P34.05 I3.37 D85.89;
  • Let test complete – it will take a few minutes and appear to finish more than once!
  • Copy down the KP, KI and KD Numbers that appear like the following DEFAULT_Kp XX.xx DEFAULT_Ki XX.xx and DEFAULT_Kd XX.xx
  • M301 P31.78 I3.12 D81.00 to upload them to the machine
  • M500 to save them
  • M503 to confirm they are set
  • Or alternatively update firmware configuration.

Notes about Retraction

Filament must be within acceptable diameter tolerance. For 1.75mm this means 1.70mm – 1.80mm and for 3.00mm/2.85mm the filament must be between 2.80mm and 3.05mm

Excessively long retractions will cause issues by dragging soft filament into cold areas. E3D-v6 hotends need less retraction than most hotends. For direct extrusion systems you should use anywhere from 0.5mm-1.0mm, for bowden systems you might want to go up to 2mm. Retraction beyond 2mm is likely to cause issues.

https://wiki.e3d-online.com/E3D-v6_Assembly

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.