CNC is only limited by our imagination.


Rounded Rectangle: CNC Home.
Rounded Rectangle: Construction 1.
Rounded Rectangle: Construction 2.
Rounded Rectangle: Construction 3.
Rounded Rectangle: Construction 4.
Rounded Rectangle: Construction 5.
Rounded Rectangle: Routing & Cutting.
Rounded Rectangle: Vinyl Cutting.
Rounded Rectangle: Lithophanes.
Rounded Rectangle: Engraving.
Rounded Rectangle: Making a Vinyl Cutter.
Rounded Rectangle: Soft & Hard Issues.
Rounded Rectangle: Micro Stepping.
Rounded Rectangle: Bob the Mill.
Rounded Rectangle: Making Printed Circuits.
Rounded Rectangle: Making a 4th Axis.
Rounded Rectangle: Tool Position Setting.
Rounded Rectangle: Low Power Lasers.
Rounded Rectangle: Gallery.
Rounded Rectangle: Related Links.
Rounded Rectangle: Site Map.
Rounded Rectangle: Sam.
Rounded Rectangle: Optic.
Rounded Rectangle: The X Files.
Rounded Rectangle: Bertie.
Rounded Rectangle: The Rover Jet Engine.
Rounded Rectangle: The RF Laser.
Rounded Rectangle: Various Projects.
Rounded Rectangle: Rounded Rectangle: Rounded Rectangle:



copyright (c)2016, all rights reserved.



There are dangers associated with this project of which you should be aware.


1) The laser beam will burn and could cause serious personal injury, especially to eyes.

2) Many materials when heated or burned produce fumes, vapours or particles which are extremely toxic.

3) Combustible materials may catch fire when being cut with a laser.



Do not attempt this project unless you fully understand the risks involved and are satisfied that you can implement all necessary safety precautions to prevent injury to yourself and others.

Always treat mains and high voltage electricity with the greatest respect.

You may not be able to ‘see it’, or ‘hear it’, or ‘smell it’ so don't go letting yourself ‘feel it’.

Rounded Rectangle: The New Laser Project.

To be continued……...

I now have a small, 25 Watt, RF excited, CO2 Laser. This unit is air cooled, operates from a regulated 30 Volt, 14 Amp PSU and It is triggered by a TTL level PWM signal which, to adjust the output power, can range from 0% to 95% mark space ratio for 0% to 100% power (almost but not quite a linear relationship here).


After considering the cost of the UC2000 it makes economic sense to construct my own controller which will perform all of the basic functions required for an interface between the J48 and Mach3. Nothing too complex or high-tec, just the very basics will do.


So as a design criteria the controller has to be capable of outputting an active Hi, 5 Volt, Pulse Width Modulation (PWM) signal from 0% (OFF) to 95% duty cycle and in the standby condition, automatically output a 1uS x 5kHz Tickle Pulse and be triggered using Mach - now to test out the theory.




1) This is the prototype board I have made so I can initially try some different microprocessors and different circuit configurations.


2) A typical output, direct from the PIC’s HPWM channel, showing a 10% duty cycle at a PRF of 5kHz. Pretty perfect considering there is no buffering.


3) And this is the same output increased to a 90% duty cycle.

4) The top trace here shows a 50% duty cycle and the lower trace shows a typical tickle pulse.

When operating at 5kHz the 95% pulse width is 190uS and the narrowest pulse width I have managed to squeeze out of the PIC is 1% or 2uS. This is double what is required for the tickle pulse and has to be reduced. Fortunately there is an easy way to achieve this as I have already found with my earlier, stand alone, tickle pulse generator.

As I mentioned earlier, using a PIC at the heart of this interface also makes life extremely easy to incorporate an LCD to display the output signal parameters and also accept a rotary encoder as an input for adjusting the settings. This is definitely the way to go.


5) This is the next step in the process - the first complete model.

A simple PCB that incorporates the tickle pulse and switching circuits covered previously. This unit is intended to be powered directly from the laser’s aux. supply socket and is capable of providing the 0% to 95% PWM at a frequency of 5kHz whilst automatically inserting the 1uS tickle pulse, as necessary and pretty much meets all the initial design criteria.

At a later stage, I will probably add the provision to change the Pulse Repetition Frequency (PRF) to allow for operation at frequencies of 5kHz, 10kHz and 20kHz.

I am hopeful that I have got everything right here and that this can become the final unit - only more testing will tell. It all looks good, so far, and I am thinking about the enclosure construction already.


6) For anyone who has not used one of these before, this encoder is of a type commonly used for volume selection in vehicle audio systems, it outputs a 2bit Gray Code which is easily decoded by the PIC and as such makes an ideal input source. The model I am using here has 20 indented steps per revolution and also incorporates a push to make switch operated by the shaft. Rotational direction is established by reading the changing bit pattern and for clockwise rotation the low order bit of the previous value always equals the high order bit of the next value - for anticlockwise rotation, it never does.



I really like the ‘Isolation Routing’ method for producing simple circuit boards. It is quick, clean and extremely easy to do but it can have it’s disadvantages.


Here I have used a common ground return, mainly to simplify the design and reduce the number of traces, but if the routed path is too wide some of the common ground areas can in themselves become isolated. Something for me to remember when designing the next layout.


If you have not yet tried isolation routing then now is your chance.

The overall size of this PCB is 86.36mm wide x 93.98mm high - speeds and feeds in the GCode file should be adjusted to suit your own machine - all units are metric.


Full details for constructing this controller - schematic, component layout, board layout, routing GCode, firmware hex code etc. can be downloaded from here

7) This is an updated schematic but, as you can see it is pretty basic stuff, however, it does the job and that is all that is important. I have finally chosen the 16F627 microcontroller and at 4MHz it operates beautifully, providing the necessary sharp and accurate pulses. The output from the controller can be set either to active high (as shown in the earlier scope pictures) or active low if required. The LCD is a 2 line x 16 character, based on the 44780 chip, again easily driven by the PIC and a commonly available component. There is a larger image of this schematic in the download file (Anyone constructing this controller can, if they wish, simplify the circuit somewhat - If the PIC is configured for internal oscillator and weak pull-up’s on all the inputs then the 10k resistors, xtal and 2 x 22pf capacitors could be omitted).


8) Component layout (larger image in the download file). Just one important point, the PIC must be mounted in a socket so that it can be removed for programming (there are bound to be a number of revisions in the firmware - there must be a law relating to this somewhere because as soon as I am happy with the way something works I immediately think of a better way which means that nothing is ever finished and always remains work in progress).


9) It is still early days yet and the firmware is far from being finalised but the current version of the Hex is also in the download file.





The initial testing has led to a few deviations (in the light of experience) from my original ideas and I have now ruled out PWM control of the laser power from the Mach spindle control. Whilst it would be OK for vector work, It starts to become complicated when using the Mach Impact / Laser plugin (which is raster driven) and some uncontrollable variations creep in - manual power adjustment has proved to be extremely reliable and will allow ‘on the fly’ adjustment to be made whilst using the plugin. This concept may be revisited at some later date but for the moment I cannot foresee needing to adjust the laser power level by using GCode from within a program.


Because I keep getting asked about Mach3 PWM Laser Power Control for vector work I have reconsidered the subject and a method which I consider to be the simplest solution is described here

This block diagram is pretty much my first thoughts on what will be required and this comprises of 3 distinct building blocks.


1) A tickle pulse generator to create and maintain the stream of 1uS pulses.

2) A variable PWM generator to control the laser output power.

3) A selector switch which automatically switches between either of the above signals dependant on the laser trigger input from Mach.


In addition a switch for internal / external PWM input would allow the PWM spindle speed control built into Mach to be setup and used to control the laser output power rather than using a potentiometer or other form of manual control.

This, rather simple little circuit, is my first thoughts for the tickle pulse generator. It relies on the hysteresis inherent in the Schmitt Trigger circuit.

The first inverter forms a 5kHz square wave oscillator and by controlling the charge / discharge of a small capacitor the pulse width can be limited to 1uS which is then shaped by the second inverter. The third inverter does just that and gets the pulse in the right orientation. The variable resistors provide approx. 10% variation in frequency and pulse width.

And these are my thoughts on an automatic PWM / Tickle pulse switch.


Either the waveform present on Sig 1 or the waveform present on Sig 2 will be presented to the Output depending on the high / low condition of the trigger signal.


Simple TTL stuff really and I like simple.

Creating the PWM signal could be a little more complicated so I have decided to investigate the ‘Hardware PWM output’ which can be produced by the PIC microcontrollers. If it is suitable then using a PIC will have the advantage of enabling a small LCD display to be used to show the PWM % setting and also with an inbuilt ‘analogue to digital converter’ make it easy to use a potentiometer for providing the adjustment.

After comparing the cost of good quality multiturn potentiometers it is quite possible that a cheap rotary encoder (rather than a potentiometer) would make a more suitable input device - this also simplifies the choice of PIC (no A to D required) and this is what I have now decided to use.

Some of the isolation routed circuit boards that have been made for the project so far.


10) A little sub panel, made to mount a couple of push button switches.

11) The components have been mounted on the copper side so the reverse is smooth as double sided sticky tape (plus the 4 thru connections) will be used to fix the board’s position over the top of the three existing IC’s.

12) And this is the little fella fitted in place. The function of the additional switches will be software programmed for menu selection, last setting storage and recovery, PRF selection etc. The exact requirements here will no doubt be discovered as I proceed.




13) The enclosure for the controller has at last been completed. Now to get on with the rest of this project.