5 free printable stl files for original tabletop tealight holders

In this version, the tea light holder has a lower open spherical shape so that it can be used with a regular wax tea light.

Further down are the 4 versions of the straight flared tea light holder that are also well suited for use with a tea light.

Of course, an electric tea light is also very suitable for use with these designs.

[ NB: A design for a holder for an electric tea light with a higher inward-facing rim is in the other article. That version is not suitable for a tea light with a flame, because a flame can distort the higher, more inward edge.]

Print these STL files on a  suitable 3d-printer with heat-resistant,  fairly transparant filament for best effect!

Tea light chandelear convex and sphere Jantec.nl 2023 04 18 V9 STL DOWNLOAD



Cylinder  extra high

Tea light chandelear straight very high size Jantec.nl 2023 04 20 V2b STL DOWNLOAD



Tea light chandelear straight high size Jantec.nl 2023 04 20 V2b STL DOWNLOAD



Tea light chandelear straight medium size Jantec.nl 2023 04 20 V2b STL DOWNLOAD



Tea light chandelear straight low size Jantec.nl 2023 04 20 V2b STL DOWNLOAD 

printable stl file for battery-operated tea light holder

Tea light chandelear simple convex and less shaved top of thinned sphere Jantec.nl 2023 04 16 V8 STL DOWNLOAD



This holder for an electric tea light with a top higher inward edge is not suitable for a tea light with a flame because a flame can distort the higher, more inward edge and may cause a fire hazard.

STL designs better suited for original tea lights with a flame are in the article: 5 free printable STL files for a table lamp with tea light


Dual magnetic parking extruders I3 Bear Duet2wifi build and Config files

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

2.1 version Prusa i3 MK3/MK3S Bear Z Extended 459mm Black kit 2040  Extrusion Anodized After Cut Prusa i3 MK3 Bear Profile Frame|3D Printer  Parts & Accessories| - AliExpress

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

The page of the working printer is HERE

The build plans for the electronics and Duet2wifi wiring schemes are HERE

Please donate $1 to my paypal account if you use (parts of) my developed materials so I can continue to share nice stuff for you to download


Xmas star door/ window hanger Arduino nano and WS2812 LEDS with LDR

The latest arduino code WITH LDR is HERE:

The LDR is to be soldered between A0 and GND.

The data output is D5 and this must be connected to Data-in of the WS2812 (B) string.  5V and GND goes to the power source, which is also connected to the Arduino Nano.

The STL file for the star parts is HERE.  Print this x5 in semi-transparant white.

The small Xmas- star measures 50cm in diameter from left- tip to right-tip. I printed it with glow in the dark ABS, white.  It glows in very faint green, it is just enough to glow a little and keeps your eyes focused on the star when it is not lit.

If you make the star legs watertight with silicon sealant, the star can easily be attached to an outside wall, door or fence.

ou can use a long 3-wire cable between the Nano and the Xmas star to keep the electronics mounted inside the house and the star outside, or as I did: hang the star inside, in front of any window.  I have the star hanging in my front door window, which gives amazing effect due to the non-transparant glass.

The programming can be altered to make the light effects behaviour any way you like.  I usually have a non-stroboscopic fluent scene running.

You need to print 5 star points, feed the LEDs through them and then have the wires come out somewhere.  You can glue the points together with hotglue or transparent silicone sealant after assembly and testing.

If you don’t have the Arduino IDE yet, download the app from the Microsoft website (Arduino IDE) nor from the Arduino cummunity forum.

Make sure you download my Arduino code and open it with the Arduino IDE APP. Probably the APP will have to move the arduino INO file to a new directory but that should do the trick. If not, start the Arduino app, open my code in notepad and copy/paste it as fully new code into Arduino:  Replace the example code that automatically opens when you open the Arduino program/app with my code.  Save it and rum it to see wether you need to add any library.  For adding libraries, find general help in the Arduino forum.  In my code, you can find the names of the required libraries.


In the Arduino IDE select the right microprocessor (Arduino Nano).  Then select the correct processor version (large or small memory) and the old or new bootloader.  These choices depend on the type of Nano you bought or still had lying around.  Then you choose the right port (USB) for your Nano.

To test if you have connection between IDE and Nano , you can ask if the Arduino IDE can read your Nano.  Only then you can start loading the Nano with the complicated program.

The BIG 70cm width 5-pointed star with thin hollow legs to put the WS2812 LED string through. AND an integrated tube to put the wiring through


The Arduino programming file is HERE.

The latest arduino code WITH LDR is HERE:

The STL file for the big star is HERE.

Afterthougts: I also made circular designs, dual oval crossing designs and a lot of designs that I tied to existing shapes like a steel star, some Xmas animals and so on.  The light design I made varies per application,  A star typically requires a specific design due to its shape.  A cicular design needs more of a scattered design and a straight string or a balcony-wrapped design all require specific patterns of LED programs.

I will also try to implement an auto-scanner in the setup part of the code to identify the number of LEDS that is used, since this is required to get good petterns to the string used.  (set NUMPIXELS automatically)

E3D toolchanger 4xHemera direct drive first 4-color PLA benchy & 3D-world

The bow of the benchy , the white right part at the bottom sags a bit.

The solution was to set the bed temperature at 10 degrees lower.

So;  I now start with 60 degrees and after the first layer the bed temp goes to 50 degrees.

In addition, I flipped the benchy 180 degrees so that the cool air on the left side cools the bow better.  Now it turned out absolutely beautiful!

Printed with 0.2 mm layer height and 120 mm/s!

Not perfect yet but we’ll get there!

E3D toolchanger: Tuning the tool pickups with reprap global variables and macros assistance

E3D toolchanger upgrade: X-and Y- axis homing switches installing and configuring

Building E3D coreXY 4-toolchanger 3d printer

Toolhead stepper fault and solution

Custom E3D toolchanger Dock adapter plate

Calibrating E3D coreXY 4-toolchanger 3d printer

E3D toolchanger: Tuning the tool pickups with reprap global variables and macro’s assistance

After I installed the homing switches for X and Y on the E3D toolchanger, I finally had a decent starting point to get the tools pickup and parking tuned.

Originally, I used sensorless homing but this caused changing offset values of the X- and Y positions of the machine. So the tools could not be picked up or brought home consistently after a reset.

Now, everything works fine and the X-Y values don’t change anymore after a reset.

What I dis was to first make some macros for a one-off setting of the X and Y postion of the 4 Tools for the toolhead’s positioning.  If you don’t do this, you have to change all X values manually in 8 macro’s every time you want to change the value of X.

This was done with a number of global variables.  After defining these in a macro, they need to be called before using them.  In Config.g, I made a reference to run  the macro of the globals.g macro so it runs every time you boot the Duet.

In config.g, after the Tool definitions I added the M98 code to start the global definition of the used variables:

M98 P”0:/sys/globals.g” ; Make global variables in this globals.g macro

This macro file looks like this in my case and please be aware that the actual variables will differ per machine, but this may give you a starting point:

global T0_X_dock=-12.3 ; X-Parking position of Tool 0
global T0_Y_dock=225.2 ; Y-Parking position of Tool 0
global T1_X_dock=80 ; X-Parking position of Tool 1
global T1_Y_dock=225.9 ; Y-Parking position of Tool 1
global T2_X_dock=212 ; X-Parking position of Tool 2
global T2_Y_dock=226 ; Y-Parking position of Tool 2
global T3_X_dock=304.7 ; X-Parking position of Tool 3
global T3_Y_dock=225.4 ; Y-Parking position of Tool 3

The tfree 1-3and the tpre 1-3 files will then be like this for T0, and you can make the others by just fulling in T1 , T2 or T3 where it now states T0:

; tfree0.g
; called when tool 0 is freed
G1 Z4 F1000
;Purge nozzle
;M98 P”purge.g”
;Move In
G53 G1 X{global.T0_X_dock} Y150 F50000
G53 G1 X{global.T0_X_dock} Y200 F50000
G53 G1 X{global.T0_X_dock} Y220 F50000
;G53 G1 X{global.T0_X_dock} Y{global.T0_Y_dock} F1000
G53 G1 Y{global.T0_Y_dock} F1000
;Open Coupler
M98 P”Coupler – Unlock.g”
;fan off
M106 S0
;Move Out
G53 G1 {global.T0_X_dock} Y175 F50000

; tpre0.g
; called before tool 0 is selected
;Unlock Coupler
M98 P”Coupler – Unlock.g”
;Move to location
G1 X{global.T0_X_dock} Y200 F50000 ; was X-10.5
;Move in
G1 X{global.T0_X_dock} Y220 F50000
;G1 X{global.T0_X_dock} Y229.2 F1000 ;was f2500
G1 Y{global.T0_Y_dock} F1000
;Close Coupler
M98 P”Coupler – Lock.g”
;if you are using non-standard length hotends ensure the bed is lowered enough BEFORE undocking the tool!
G1 Z10 F1000
;Move Out
G1 X{global.T0_X_dock} Y150 F10000; was 4000

And I made some macros for checking where the toolhead is positioned, right in front of the tools T0-T3:

; fit_T0.g
; called to fit the Tool just in front of the dock
G1 Z4 F1000
G1 Y-10 F2000
G53 G1 X150 Y100 F20000
;Move In
G53 G1 X{global.T0_X_dock} Y150 F10000
G53 G1 X{global.T0_X_dock} Y200 F10000
G53 G1 X{global.T0_X_dock} Y220 F10000

If you want to check if you made the correct changes to globals.g, be aware that the new values in the globals.g variables macro will only be read when you reboot.  [If you want to redefine the values in any other way without rebooting, you will need another type of call function.]

E3D toolchanger upgrade: X-and Y- axis homing switches installing and configuring

My E3D toolchanger appeared to have some small inconsistencies in homing X and Y.

This became apparant after I tried to tune the exact positions of the tools pickup, after having homed.

Every time it was tuned, it worked well and the next day it was just a bit off. Then I retuned it again, and after a day it was off again.  Not a lot, but just 0.1 mm or a bit more.  But it did cause problems with the toolchanges.

So- after reading a bit I found that others had this problem as well and produced a solution: Just put in a couple of good X- and Y homing switches!

I even found the to be printed 3d-parts for mounting these switches. Thanx for this, folks!

The switches are the same type as for the Z-switch.

X-axis end switch

Y-axis end switch

I printed the mounts in PETG carbon on my Prusa mini and mounted  both switches on the E3D toolchanger.

After this, I amended config. g and the homing files, please see the rest of my post for this:


; Endstops
M574 X1 S1 P”xstop” ; X min active high endstop switch
M574 Y1 S1 P”ystop” ; Y min active high endstop switch
M574 C0 ; no C endstop
M574 Z0 P”nil” ; no Z endstop switch, free up Z endstop input as Z endstop switch. (I changed  this part for correct working with RRF3.3+)


; homex.g
; called to home the x axis

M98 P”homey.g” ; Home Y always before homing X

G91 ; use relative positioning

G1 H2 Z3 F5000 ; lift Z 3mm
G1 H1 X-400 F15000 ; move left 400mm, stopping at the endstop
G1 X5 F15000 ; move away from end
G1 H1 X-400 F2000 ; move left 400mm, stopping at the endstop
G1 X2 F2000 ; move away from end
G1 H2 Z-3 F1200 ; lower Z

G90 ; back to absolute positioning

; homeall.g
; called to home all axes;

M98 P”homec.g” ; Home C (ToolHead)

M98 P”homex.g” ; Home X

M98 P”homez.g” ; Home Z

G1 X150 Y-49 Z20 F15000 ; Park

; homey.g
; called to home the Y axis

G91 ; use relative positioning

G1 H2 Z3 F5000 ; lift Z 3mm BED DOWN
G1 H1 Y-400 F15000 ; move to the front 400mm, stopping at the endstop
G1 Y5 F15000 ; move away from end
G1 H1 Y-400 F2000 ; move to the front 400mm, stopping at the endstop
G1 Y2 F2000 ; move away from end
G1 H2 Z-3 F1200 ; move Z BED UP

G90 ; back to absolute positioning

Z homing did not change and remains as is:

; homez.g
; called to home the Z axis
M98 P”Coupler – Unlock.g” ; Open Coupler
G91 ; Relative mode
G1 H2 Z5 F5000 ; Lower the bed
G90 ; back to absolute positioning
G1 X150 Y100 F50000 ; Position the endstop above the bed centre
M558 F1000 ; speed to 1000
G30 ; probe x 1
M558 F300 ; speed to 300
G30 ; probe x 1

Toolhead stepper fault and solution

The toolhead stepper of my E3D toolchanger system suddenly broke down.

The cause was a failed tool pickup move,  due to which the rotating axle of the toolhead pickup system got blocked.

After exchanging the stepper I changed the Duet’s settings so the C-drive will not be able to generate too much torque.

This will prevent the last teethed wheel to break whenever the driven pickup axle gets blocked under extreme circumstances.

After opening the case of the failed reduction box, I discovered 1 broken tooth of the final gear.

I ordered me a new one, and mounted this.  And I changed the C-drive’s settings to make use of the stall mechanism.  It took some tweaking to get this to work properly.  After all, picking up a tool must still work as this is the base intention.

All is OK again!

E3D toolchanger Hymera fans 2, 4, 6 and 8 intermittent problem solved

In the end, the solution to my intermittent on/off problem with my toolfans on the Hymera direct drives was extremely simple.

The picture shows the solution, as the Hymera stepper driver obviously interferes with the 40mm fans.  The problem was that these fans 2,4,6 and 8 not always started spinning.

I tried to exchange the fans which did not help, tested the Voltage, current , settings and so on.  Everything appeared to be OK.

Strangely enough, when testing the fan off the Hymera tool, even including the duct attached, everything woked fine.  Just did not work when mounted on the Hymera.

Finally, Just trying some things, I pushed a thin steel plate (NOT RVS) in between the fan and the stepper motor, and now it always works, even at 5% PWM!   Problem solved!

After testing at all tools, I made 4 better fitting thin plates and mounted these at the 4 tools and no problem exists anymore, ever since!

error: Content is protected !!