Nextion controller

Right then. Progress is being made. Been a bit busy on other stuff.

After tweaking around, and basically trying to work out what I would like it to do, I am starting to make headway.

Slightly redesigned the pages to allow for the icons I need (pretty easy to change them).

The lighting icon glows yellow when switched on, and the motor (spindle) and vacuum icons have animated spinning arrow on them when active.

This screen is 4.3" (about 100mmx60mm I would think), and plenty big enough.
However fitting it onto the larger 5" or 7" touchscreens would not be that difficult.

These 4.3" screens are about £35 and I happened to have one.
Probably going to use a Lipo and a small RF module and make this a fully wireless mini tablet.

Only needs a Pro Mini on board, so the whole handset should be something like 130mm x 80mm x 22mm. That might vary slightly.
Will design and 3d print a case later.

Managed to get Marlin Serial1 up and running reliably, so this tablet talk to the Rambo with Repetier and the LCD still connected and working alongside (never use the LCD anyway).

The RF module receiver could just connect to the Rambo. Not sure yet. Or I might add another Pro Mini at the receiving end, then I can use the outputs on that to control the spindle, vacuum, lights etc (rather than the Rambo outputs).

Page 1 shows RPM (using my optical sensor). And the X,Y,Z co-ords AS SET BY THIS HANDSET.
Shortcuts on the right are for:
G code shortcuts page (press a button and the complete command is sent for you)
Manual G code entry

The G Code shortcuts has all the usual ones you would need.

The manual G code page works by pressing the prefix button (left of the top text slot).
This cycles through the first letter (G,M,F etc).
Then simply enter your required code and press GO.

Settings has Piezo on/off, limit switch facilities, bed levelling etc. I will probably fill this out as I discover new features I would like.
Currently have voltages on this page.

I may add the facility to have a speed slider (Feedrate) or something. Who knows!

My biggest ‘to do’ (as mentioned in a different post), is to possibly try and find a way of ‘aligning’ the Repetier and my controllers co-ords.

Currently, my controller tracks its own position, as does the Rambo and Repetier.
Not so worried about Repetier, but it would be nice to retrieve the position from the Rambo and use that.

I have managed to obtain a whole pile of serial data upon each move from the Rambo. I have yet to determine (or even look at) the pile of bytes it spits out.


Just as a side note. I may add a Bluetooth receiver to the Rambo, so that at a later date, I can replicate the above controller as an App for my Galaxy tablet or my Samsung phone.

1 Like

Hello all.
Just realised I never updated this thread about my wireless tablet controller.

So, a little tweaking to go, but essentially there.

The receiver is mounted under the CNC with the relays. This talks to the Rambo controller on it’s own serial port, so you can still use Repetier on the USB socket and the LCD screen all at the same time.

Upon CNC boot (Rambo boot), it retrieves the current data and also will home X, Y and Z if you wish (a handy function I find).

The wireless handset is very light, and I might even shrink it down further.
Has a 4000mAh Lipo inside. Runs for most of the day without issue.
A tilt switch inside shuts the screen off after 2 minutes if it hasn’t moved. Comes on upon movement.

4x Buttons on the left control the LED bed lighting, tool power (both laser and router), extractor and I have put the facility for a later date lubrication pump.

Displays X, Y and Z - taken from the Rambo. It tracks it’s own position commands (if you send X+100, then it updates it’s own screen first). But every 60 seconds, it does a compare with the Rambo to ensure they both match.

RPM is not quite finished. I have made a digital to analogue converter and its all working, but I need to install the optical disc on the router to deduce the IR pulse.

There is a page for direct typed commands. You press the >_ button and it steps through F, G and M.
Then simply enter your bespoke command and press GO.

There is a G code preset page. This allows you to quickly jog the machine in multiples of 0.01, 0.1, 1, 10 and 100.
You can also home All, just X and Y, Just Z, raise Z for tool change and reset the X,Y and Z position (zero them).
Also lock/unlock the steppers.

The setup page has the same home functions and set zero.
Plus you can calibrate the bed, turn the piezo on/off (in the handset), turn the endstop microswitches on and off, request the status of the endstops and quiz the Marlin controller for data (Marlin Debug).

I also added a fast tap move function. This allows you to touch the screen (which has a scaled box the size of the bed) and it plots a cross where you touched.
Hit GO and it will zoom over there at high speed.

Voltages are also shown on the setup page. The adjustment pots are the fine tuning for how much the voltage has to drift, before it updates the handset (you don’t want it polling the handset constantly with updates on every 0.01v fluctuation).
I have it set at 0.5v.

Oh, and every page has an emergency stop button.

Can’t lie… it’s been a right pain to get working.
Will get a video done asap.


Holy crap! That is epic! Way above what I thought you were doing. It looks awesome.

I probably should mention that the entire thing has probably cost around £70 for both transmitter and receiver.

WHAAAAT! Next level setup. WOW

Got my redesigned adjustable vacuum duct fitted, and the RPM sensor in place.
I have a better disc arrangement for the RPM sensor, but it’s still at work (I have a spare collet with a welded disc attached).


That vacuum duct looks great!

I was thinking about designing something like this too. I think the existing ducts are a little hard to work with. How does yours work exactly? Where does the hose connect? At the top outside of the part shown on the pictures?

I designed my own dust shoe that is attached to the Z axis just below the router, with a pipe going up next to the router. Another vertical pipe mounted to the center assembly slips over it. When the Z axis moves, the two pipes just slide. (I wanted to put a kind of seal of printed flexible filament inside, but I don’t think it was necessary). My main aim was to have as little torque on the Z axis from the vacuum as possible. It worked quite well.

However, if you cut flat sheets of thick material, the dust shoe gets in the way. Then I printed a dust shoe designed by someone else that is fixed to the gantry only. But I found it a but cumbersome to work with and does not suck as well because there is a larger gap between the router and the dust shoe.

Very unique! I can not wait to see what you think of it in use. Vac shoes are pretty hard to get right.

Glad you have a metal RPM disk, plastic ones always fail eventually and make serious shrapnel!

I just designed them in Tinkercad. Took a basic ‘foot’ design off of Thingyverse and butchered it.
I wanted the actual duct to mimic the diameter of the router and stay quite tight to the assembly.
A round vacuum pipe going up the side of the router would foul the frame when it homes.
It simply clamps to the router at the bottom, and the top is held with a strip of velcro.
At a later point, I will make a proper clip for the top of the assembly, so that I don’t need the velcro strap.
At the top of the curved duct section, it converts to my 40mm vacuum pipe which is supported from the workshop ceiling. I is a very lightweight pipe and doesn’t seem to affect the rig at all.
The curved duct piece slide inside each other nicely, and you set the height with a small screw.
But, I have allowed a mounting position for a small stepper motor, and at a later date, I may play around with having it track the height of the work (maybe ultrasonic range module or something).
I can add a brush strip to the base of the vacuum shoe if needed.


Just in case anyone is interested… made it in a hurry, so it ain’t great


This is a great video. Great project. I think you’ve done a good job of coming up with sane features, and a bunch of them. I think the best is the touch to move map. That is something that can’t be done with buttons.

1 Like

Thanks Jeff.
It’s one of those items I expect I will ‘tinker’ with as I go. It’s pretty easy to add/remove icons and functions.
The ‘Tap to move’ function is pretty sweet! I originally planned to have a swipe pad function. You dragged your finger across the pad to move in that direction, but these Nextion touchscreens are not that sensitive, so that method doesn’t work so well.
I plan to add the X,Y co-ordinates on that page, so you can see exactly the stopping point, before you hit ‘GO’.
I doesn’t show it in the video, but you can keep touching the screen until you get the spot you want.
It is also constrained within the dimensions of my bed, so there is no fear of a high speed impact at the limits of the machine.
When you go to the tap position page, it checks first to see if you have ever homed the X and Y.
If you have not, then it automatically homes first to ensure bottom left of the machine is 0,0.

1 Like

It is already useful and awesome. But it sparked an idea. If you had the gcode file, or at least its dimensions that you were going to carve, you could have a display of the outline in that view, and could check the min and max box against the design. To check for clamp clearances and to maybe choose a spot to do the z probe.

Yes, that is entirely possible.
You can overlay images on the touchscreen. You can set up a blank image that is transparent on the touchpad, and then send the image as a transparent backed file to overlay.
Would need some kind of file conversion, and also would need to ensure the dimensions are accurate.

I used my finger to set the target in the video, but you can use a pen or pointer for higher accuracy.

You can also get the touchscreen to search for certain illuminated points on the screen.
In theory, you could overlay the image, and then have it find the furthest bottom left point of the image and set that as the start position.

I added the X and Y values to the tap controller this afternoon - they display after you have selected a target, but before you press ‘GO’.

I might change the display page to show a grid to help with alignments etc.

To be honest, you could make this ‘Tap position controller’ as a single function controller, bit like a joystick.

I may change the slider on/off switch on the side to a 3 position switch. Up will function as it does now with all pages available, and switch down goes directly to the ‘Tap position’ page quickly.

So many possibilities, so little time.


This looks awesome! I can’t wait for the bill of materials and code etc. and build one for mine. Very next level stuff here.

Had 30 minutes free today, so I have changed the ‘Tap position’ controller page to have a grid, so you have a better idea of where you are sending the rig.

Also, changed the power slide switch to a centre off style one. Down works as it always did, with all the functions, but slide it up and it fires into the ‘Tap Position’ page immediately and works as that alone.




Heck, I would take just the Tap Position screen. Having a 4x4 bed it takes forever to get anywhere with the max 10mm movement on the LCD. And this would be nicer than having my computer down there.

I love the tap position controller. It is very handy.
But, I am also just putting together a joystick to accomplish the same thing. See which one I like better.