How to add end stop switches to TwoTrees TTS-55 laser engraver

I got a great deal on a purchase of a used TwoTrees brand laser engraver, model TTS-55, which is a 5.5W diode. It’s a nice entry level laser CNC rig. It has a vertical screw for adjusting focal distance, and a horizontal screw for locking in the height, once set.

I bought it from their website, under their clearance page, which has some used items, which they certify as fully functional. Mine was like new, everything was included, and I cannot see any way in which it was not like buying a new unit, except I agreed in advance to not have access to after-sales support.

I also bought the extension kit for it, so its usable area is enlarged by a considerable amount, and I also bought their air assist kit, which is nice, with a knob for adjusting how much air it puts out. It claims to be capable of 30L/min. I don’t know that I have a way to test that, but at the full setting, the air flow at the laser “nozzle” is good and strong.

The laser rig comes stock with a nice metal “focal length assist column” and comes with a 3D-printed holder for it. However, the printed holder’s cup was too small to hold the column. So, I designed an improved version of the holder, available here:

Here’s a quick video I made about the new holder, which can also work for the same column on at least three different models of laser rigs from TwoTrees:

Mod’ing to add end stops for homing

One of the niceties that this entry level rig lacks is end stops for homing. There are at least a couple of nice videos about adding those, but they seem based on using a more “complex” end stop switch (a Makerbase design) that has circuitry on it, while the end stop switches I already had on hand are the more “simple” ones, like those we use on V1E LowRider v3, and such.

End Stop install & related details

I chose to use the common, “simple” end stop switches that don’t have such things as pull-up resisters or circuitry, and to use wiring for the “Normally Closed” circuit method instead of the “Normally Open” option. My understanding was that the GRBL based control board comes set to expect “Normally Open” switches by default, and I would need to edit the GRBL Settings parameter identified as the “$5” value to switch for “Normally Closed.” (I cannot remember right at this moment if it was already right or had to be changed.)

Wiring was done as shown in “A: Simple” scheme on this web page:

… Again, the wiring plan I used is the “A: Simple” option in this illustration:

On the motherboard / control board inside the laser, which (on my edition) is a “Makerbase MKS LTS v1.1” there are four pin-set ports in the upper right: one for a “probe,” and three for end stops: Z, Y, and X. The ports have three pins each, and the pins are labeled (from top to bottom) as 5V, G, and S, which stands for 5 volts, Ground, and Signal.

As shown above, the “COM” (or Common) tab on the end stop got soldered to a wire that connects to the “S” (signal) pin, while the “NC” (Normally Closed) tab on the end stop got soldered to a wire that connects to the “G” (or Ground) pin. This works for me.

Below are some pics of the main board, with the first end stop switch installed for “Y” — and some pics of the Y end stop itself, which is attached to a printed mount I got from a thingiverse listing here, followed by some pics of the X end stop, also attached to a printed mount from the same listing. Be aware that one of the two mounts in the listing was not correctly oriented for printing. I had to rotate the part in the slicer to lay it flat for printing.

The thingiverse listing for the mounts is related to this video about installing end stops:

I eventually found out that not only can the GRBL Settings be edited and written out to the control board using LaserGRBL software for Windows, but also by LightBurn, which is available for Mac or Windows.

In order to use the USB connection to the device, controlling it by my laptop, I had to install a port driver.

I installed the port driver for Windows that came with the device (on a memory card that came with provided software, drivers, test files, etc). An adapter was provided so the memory card can be used on computers.

I also later searched the web and discovered a port driver for Mac, and I downloaded and installed it too, so I can control the device with LightBurn on the Mac side as well as on the Windows side.

The port driver for Mac, mentioned above, was obtained from here:

…but is also apparently available from here too:

Other tweaks

In order to get this thing working like I wanted it to, I had not only tweaked the “Y homing direction invert” option inside the GRBL Settings, but I also tweaked some Device Settings inside LightBurn as well.

One of the helpful Device Settings was to enable the “new” $J jogging option, which causes any jogging (that occurs after homing) to respect the boundaries of the work origin, by simply stopping the laser head if you try to move out of the bounds of your set usable area.

Another couple of settings I adjusted were to set the “user origin” as the center of the actual work area, and to tell the LightBurn app that I want to use “user origin” for jobs, and (in Device Settings) that, after a laser job completes, I wanted the device moved to those same “centered” coordinates , instead of back to the homed universal 0,0 that was found during homing.

If you are trying this modification, please let me know if you have any problems or questions.

Makerbase MKS LTS v1.1 board with Y end stop wire connected 01

Makerbase MKS LTS v1.1 board with Y end stop wire connected 02

Makerbase MKS LTS v1.1 board with Y end stop wire connected 03

TwoTrees TTS-55 (5.5w) Laser Engraver w Y end stop added on 3D-printed mount 01

TwoTrees TTS-55 (5.5w) Laser Engraver w Y end stop added on 3D-printed mount 02

TwoTrees TTS-55 (5.5w) Laser Engraver w Y end stop added on 3D-printed mount 03

TwoTrees TTS-55 (5.5w) Laser Engraver w X end stop added on 3D-printed mount 01

TwoTrees TTS-55 (5.5w) Laser Engraver w X end stop added on 3D-printed mount 02

TwoTrees TTS-55 (5.5w) Laser Engraver w X end stop added on 3D-printed mount 03

TwoTrees TTS-55 (5.5w) Laser Engraver w both X and Y end stops added on 3D-printed mounts 01


Diagram “B” in this is wrong. The pullup resistor must go from +5V to the signal side of the switch. As is, it just provides a constant power drain to ground without actually pulling up the voltage to logic high on the signal side.

I believe that diagram “C” is also wrong. I have several of those LED board 3 wire switches and they behave opposite logic to the simple NC switches, so you treat them in firmware like they are NO switches. In the normal state, logic is high at the signal pin, and goes low when the signal is triggered. The LED connects from signal to ground, only connected to +5V when the logic level is high (switch is untriggered.) through a current limiting resistor. So my switches light up when connected, and the LED goes out when the switch is triggered. They are the standard MakerBase switches, so far as I can tell. I have several batches of these and they all behave the same.

Firmware wise, the main difference from the simple, normally closed switch they just read as triggered on logic LOW. you can emulate this by using the switches in Normally Open configuration with a pullup resistor bringing the signal to logic high when the switches are not triggered. If that is the firmware that they come with, and you don’t want to re-flash the board, I’d just wire them normally open and call it a day. This does mean that if they come unplugged they will fail to trigger, but it requires no change in firmware. If you are changing the firmware anyway, then of course I would set it to trigger on logic high and use the simple NC switch design.

Being that the “A: Simple” drawing is the only one you did not say was wrong, it’s a good thing that’s the one I was doing! :smiley:

1 Like

I posted a make for you over on printables.

I have some end stops coming in tomorrow and I’m going to put those in too.

My wife will primarily be using the laser, so I have a few more prints and designs to hopefully make it easier for her to get setup between projects

1 Like

Cool. Thanks! I just “followed” your Printables account.

I noticed you switched the print orientation. This one can go either way, but the best strength in this case would like shown in my file. If you’re worried about the screw holes, they print just fine without supports in the orientation I showed. But either way, your print looks great, and it’s not like it has to hold up a ton of weight! :slight_smile:

That was mostly just out of habit.

I don’t really take any time to consider print strength for stuff like this.

I just upgraded my Ender 3 Pro with a SKR E3 and TFT and dual Z and some other things, so it was my first test print with my new higher speeds after calibration.

1 Like

Cool. What’s the print volume of an Ender 3 Pro?

I’m currently printing the mounts that the other guy designed. The whole print was set for 100mm/s.

This is new territory for me. I’ve just been letting it go at 40mm/s for the last few years and not worrying about speed, but I have some new projects where it really matters

1 Like


1 Like