Archive for the 'Laser' Category

Coasty Source Files

A lot of people have asked about building their own Coasty Laser Cutter. It takes a lot of work to get the files ready for release. I will release the source files in stages as they are ready so people can get started. Watch this post for updates. Subscribing to this blog or following me on Twitter (@buildlog) is a good way to keep up.

When everything is ready, I’ll probably also post on Thingiverse.

3D Printed Parts

Here are the STL files for the 3D printed parts. The parts are generally pretty easy to print. They require no support and can be printed in low resolution. I print at 0.28mm layer height. You need to watch out for warping on the chassis and front door. If the chassis warps it will stress the PCB and could damage some parts. The door needs to be flat in order to close properly.

I printed my parts in generic PLA. They printed fine, but if you have some crappier PLA or if you don’t have a heated bed, you should probably print with a brim. I would suggest printing the chassis first. If you can print that, the other parts are easier. I have some PETG on order to test. That supposedly warps less that PLA.

The holes used for the 8mm rods are designed to be a press fit. If the rods are hard to install, try cleaning the holes up a little by hand with a 5/16 or 8mm drill. The drive shaft bearing is also a tight fit. Try using a vise or clamp to press it into the chassis.

Zip File containing the STL files.

Mechanical BOM


Part DescriptionQtySupplierSupplier P/N
3mm Smooth Pulley (16T equiv dia.) 6mm Wide1
Bearing 3mm x 10mm x 4mm2Generic623-2RS
BEARING 5mm 16mm 5mm1Generic625-2RS
Bearing Shaft 8mm2
Butoon Head Screw M3 x 302
Button Head Screw M3 x 121
Button Head Screw M5 x 201
Coasty Chassis13D Print
Coasty Controller Assy1Buildlog.netCoasty Controller
Coasty Drive Shaft13D Printed Part
Coasty Final Assembly1---
Coasty Laser Carriage13D Printed Part
Coasty Laser Carriage Assy1User Assembly
Coasty X Motor Cover13D Printed Part
Dual Fan Cover13D Printer Part
Flat Head Screw M3 x 64
GT2 Belt 6mm Wide cut to 385mm1GenericGT2 6mm
Hex Nut M33
Laser Module 3.5W 450nm1EleksmakerLA03-3500
Linear Shaft Bearing 8mm Dual2GenericLM8LUU
NEMA14 Stepper Motor2Generic
Nylock Locking Nut M22
Nylon Locking Nut M33
Pan Head Screw M2 x 122
Silicon Oring #9052McMaster Carr1283N428
Socket Head Screw M3 x 820
Socket Head Screw M3 x 162
Socket Head Screw M3 x 203
Timing Pulley GT2 18T 6mm Wide 5mm Bore1
Wiring Cover13D Printer Part
Coasty Window149mm x 76mmJ Tech PhotonicsRating: OD+4 @ 445nm


PCB Source Files

Coming Soon


Coming Soon

Build Instructions

Assembly Drawing

If you want to be notified of future blog posts, please subscribe.

Coasty Version 1.2

Here are some updates to Coasty – The Coaster Toaster,  the tiny laser cutter specifically designed to cut drink coasters.

New Traction Roller

I made the traction roller diameter a lot smaller and moved it behind the beam. A smaller roller has a lot of advantages. It allows the beam to be closer to the contact points of the rubber orings. This improves the usable work area, because you can get closer to the edge of the coaster. With a smaller diameter the coaster travels less per revolution. This increases the torque and resolution.

Smaller Chassis

The chassis is now about 16mm smaller in depth due to the smaller roller and new location. The depth of the machine is quite a bit smaller than the coaster.

Fan Guard and Carbon Filter

I added a fan cover on the back. This acts as a finger guard and also allows a few layers of carbon filter cloth to be used. Bulk carbon filter cloth for use in air purifiers can be purchased on Amazon very cheaply. It removes a good portion of the odor of the smoke.

Carbon Filter Cloth

Door Interlock Switch

There is now a switch that cuts all power to the laser when the door is opened. You can still run the machine to test the motors, homing etc, the the beam cannot turn on with the door open.

IR Coaster Detector


I was not happy with the coaster homing switch used on the first version. While it never failed, it did not appear to be very robust and it caused some drag on the coaster. I changed to a IR LED and photo diode. When the light from the LED hits the photo diode, it conducts to the +5V. When the coaster blocks the light, it is pulled down to ground. I used a pot on the pull down because it did not know what he exact value would be. It turns out the value needs to be about 40k. The only catch was the microcontroller input pin pull up resistor on the Nano could not not used because it is less than the 40k.  This required a slight hack to Grbl because Grbl is all or nothing on the pull ups for the limit switches.

I was not sure if ambient light changes might be a problem, like bright sunlight. The photo diode looks down and that appears to be good enough to avoid overhead light. I also have a mounting screw there in case I need to add a little shade/cover.

IR LED / Photo Diode Circuit



I have been using Bluetooth on some other machines and really like it. Skipping USB cords and using a phone instead of a computer is great. I have found it to be very reliable. The real world bandwidth appears to be a little lower than 115200 USB. It has not been a problem, but I don’t do much gray scale engraving on this machine which needs higher bandwidth. Regardless, USB is still an option.

A standard HC-05 or HC-06 module plugs into a right angle connector.


Here is a video of this version.

If you want to be notified of future blog posts, please subscribe.

Why Are My Laser Cut Edges Not Straight?

People often ask me  why the edges of their laser cuts are not square.  The laser beam is being focused at an angle to a spot, so no cut can be perfectly square, but there are things that can make it worse.  Note: All of the images are exaggerated to show the affects.

You first need to understand how the lens works.  Laser cutters use a collimating lens.  This means it takes parallel rays from the beam and focuses them to a single spot.  For a couple of complicated physics reasons, it  can never do this perfectly, but it should do it close enough not to be a factor in this discussion.  Below is a picture of a collimating lens.  A typical beam width is usually about 5mm-8mm and a typical lens is about 20mm-25mm wide.

You can see that the beam forms an hour glass shape.  This can cause a little angle.  With a 6mm wide lens and a 50mm focal length, this angle is typically 3-4 degrees.


To get the least affect on your part, you might want to center the focus in the middle of your material.

If you are getting a bigger angle than a few degrees, it is more likely because the beam is not in the center of the lens.  The lens will still focus to that same point, but the hour glass is at quite an angle to your work piece.

This type of angle is offset in one direction, so you may see it more in certain directions of travel.  If the beam is moving from right to left in the above image, you might not notice the problem at all.

Does a longer focal length help?  It can, but due to the complicated physics issues I referred to earlier, a longer focal length creates a larger spot size, which reduces power density.  See this calculator.

Getting More Power and Cutting Accuracy Out of Your Home Built Laser System

I have developed an inexpensive control system (less than $70) that can be used to both get more cutting power out of a DC discharge laser and significantly improve cutting accuracy for home built laser systems.  The control system implements a control technique known as Pulse-Per-Inch (PPI) control.  PPI control involves pulsing the laser every time the head travels a certain distance.  PPI control allows a CNC laser to produce consistent cuts at the same power level setting over over a wide range of speeds.  In effect, pulsing the laser as a function of distance along a cut decouples the power input to cut from the speed that the head travels.  Therefore, the speed and acceleration of the CNC system have minimal bearing on the cut characteristics.  Furthermore, the unique transient rise response of a DC discharge laser allow PPI to deliver more power to a cut in comparison to the same laser system with just on/off control.

Background and Motivation

A while back, I was active on a forum in which we were discussing the time it takes to turn a laser on and off and how that relates to engraving control.  One of the forum members from Full Spectrum Engineering posted a high-speed intensity spectra for the cheap DC discharge lasers that we use for DIY laser cutters.  I was quite surprised by the spectra.  I expected to see a nice exponential rise to set power level, but what we saw was a rapid rise to a very high power level (nearly double the set value) followed by an exponential decay to a set value.  The Spectrum in question is shown below (credit for the spectrum rests with Full Spectrum Engineering).  The yellow square wave is a 5ms pulse sent to the laser power supply.  The green spectra is the intensity spectra of the laser.  For whatever reason, the magnitude of the spectra is upside down (I think the ground and signal leads were reversed), so on for the digital signal and higher intensity for the laser power spectra are down rather than up.  Anyhow, the spike in intensity is caused by the necessity voltage to start a plasma in a DC Laser.  The laser power supply generates a very high voltage to start the plasma which is stored in a capacitor.  When the signal comes to turn on the power, the power supply dumps this charge into the system and then supplies a nominal (still very high) voltage to sustain the plasma once it is on.

DC Discharge Pulse

Continue reading ‘Getting More Power and Cutting Accuracy Out of Your Home Built Laser System’

Mach3 Via VNC?

A guy I met at WorkShop 88 is putting together a Maker Faire like event through the local ASME group. It is called the “AMSE Open Source Microcontroller Workshop“. He wants to get a bunch of local open source people to show off their machines and electronics. If you are interested in a meet up, stop by. I can probably get a few free tickets.

I agreed to go, but I don’t like hauling my laser around because I might break something. I have a second laser build going to test the MakerSlide changes. This will be fully functional except for the tube and tube power supply. It will also be run via Mach3 rather than an expensive controller.

The only problem with Mach3 is that you need to haul around a complete computer, with keyboard mouse and monitor. I am already bringing my laptop, so I was trying to figure out a passable way of using that. I know there are options like SmoothStepper and PCMCIA (rarely works) parallel ports, but I did not want to spend any money just for this event.

I have a very small desktop computer with a parallel port. I decided to try putting a VNC server on that computer to see if the laptop could be the display, keyboard and mouse for Mach3. I have used several flavors of VNC, but have found UltraVNC to be my favorite. VNC stands for Virtual Network Computing, but a better description is remote control software.  You basically get to control the desktop of a remote computer.

I installed it as a service so that it would be available as soon as possible. I already had the computer setup to boot right into XP without a login. The server computer did not complain at all about not having a keyboard attached.  I gave that computer and my laptop different static address on the same subnet.  I connected the two computers with an Ethernet crossover cable.  Once the VNC server (the Mach3 computer) booted, I connected with the viewer software from the laptop.

It connected fine and I was able to start Mach3 and run the laser.  It worked quite well and the display update rate was acceptable, even on the DROs.  The only issue I found was arrow key control of the axes was rough.  It took me a little time too figure out the problem.   The axis would start up fine then start to stutter a bit.  I think it worked fine until the key went into auto repeat mode.  If you hit the tab key to bring up the pendant looking thing, you can use the mouse to move the axes quite well.


I also hook up my Shuttle Pro and that works so much better than arrow keys any way.

Running G-Code worked perfectly.  It is not a permanent solution, but it met my goal of not spending any money.  It could also work as a simple remote monitor on a running job.


Pololu Compatible Relay Driver

I just got my production boards for my Pololu compatible relay driver. This is a little plug in module that can be used to drive off board relays. It uses the signals that are normally used for step and direction to control two relays with the voltage that is normally used to power motors.

Pololu stepper drivers are great little items.  They are inexpensive and very easy to use.  You only need a step and direction signal to control them.  If you use them in sockets, as I show here, they are portable between projects and experiments.  If you accidentally smoke one, you only need to replace the single driver.

There are a lot of carrier boards for these.  There are Arduino shields and many other applications.  Often, it would be nice to be able to drive a larger external load like a spindle or blower.  You can then use the existing step and direction signals to drive the relays.  It uses the voltage normally used to drive the motors for the coil voltage.  The only wiring required is two wires to the relay.

I chose to put the relays off board because the real estate was pretty limited and I wanted to provide the voltage isolation for AC powered devices. I am also a big fan of DIN rail mounted relays. They are very reliable and inexpensive. They are easy to swap around and have some nice features. The relays shown have a LED indicator and also a manually test button that moves the contacts. The relays shown are about $10 each, including the DIN rail sockets.

I got the boards from Gold Phoenix in 2 sheets of 50. They were not cut out, only V scored. Fortunately I have access to a depanelizer at work and was able to easily separate them. I probably could have snapped them apart too. The depanelizer looks similar to this one. Two slowly spinning sharp disks chop them apart.

The boards have all the components required to drive the relay including a supression diode. I am using a pretty hefty transistor here, but you could substitute a smaller one.

Schematic (PDF)

Gerber Files

DIY Solder Stencil on a DIY Laser

We use a lot of solder stencils where I work (during the day).  We usually buy stainless steel framed stencils for about $300 each.  For prototyping we usually hand paste each pad.  We have an semi-automated dispenser, but it is still tedious work.  I see several places like Pololu selling low cost mylar solder stencils.  I wondered if my 2.x home made laser cutter could do it.

I researched a few blogs and pulled some information from Pololu.  Pololu sells 3mil and 4mil mylar stencils and recommended 3mil for fine pitch work.  I decided to buy the 3 mil mylar.  I picked it up on my way home from McMaster Carr.  It was a life time supply for about $15.

I found a bunch of old small SMT PCBs that I could play with.  I got the top side paste mask  gerber file for it.  I imported the file into a Gerber tool called ViewMate from Pentalogix.  This is a great program that I have be using for years.  A partially disabled version is free.  I have found that it has plenty of useful features.


Most PCB layout software has layers for the solder stencil.  There are industry standards (IPC) for the size of these pads, but they are generally a little smaller than the pad.  Often large pads, like thermal pads under big power ICs are divided into smaller windows or dots.  This prevents excess solder from causing problems.   With this in mind you probably need to shrink the pads even further to deal with the kerf of the laser.

ViewMate has a nice feature that allows you to shrink the apertures.   Apertures are a somewhat archaic term from when artworks were done optically on film.  They basically mean the shapes.  To use this feature select the Setup…D Codes menus.


Select all the shapes in the list and select the Operations…Swell menus.

Enter a negative value to shrink the shapes.

I then printed 1:1 to a PDF.

ViewMate has a lot of export options, but most of them are not available in the free version.  PDF is fine for what I needed to do.  I then imported the PDF into Corel.  I cleaned up a few extra lines and text in Corel and moved it over near the origin.

If you were always going to make your own stencils,  you could probably skip a few of these steps by defining your stencils layers with the right values.  Pololu actually shrinks it differently in X than Y for even better performance.  Many CAD programs could print straight to PDF or other formats then.

Corel is a front end for my DSP laser software, so I was ready to try making the stencil.  The PDF has vector information so you could cut it or engrave it.  Everyone seems to recommend engraving, so I gave that a try.

I was not sure what to put the mylar on.   I decided to hang it in the air.  I taped inside a wooden frame.  I tried different power levels and speeds and looked for my best result.  I onlt tried about 3 settings combinations before I ran out room.  I looked closely and they all looked pretty good.  I think I got the best at 200mm/s and about 60% power.  The power was not too much of an issue.  It seemed better to cut it with more power than it need.  It tended not to heat the surrounding area.  The step over was 0.15mm.  That probably could have been smaller for more accuracy.   There was a slight smoky haze after cutting that I rinsed off with water.

It matched up perfectly with the PCB.





Open Source 4 Axis Stepper Driver

This is a new 4 axis stepper driver board for use in laser cutter/engravers and general CNC.  Below are the basic features

  • Socket mounted stepper drivers
  • Integral cooling fan with power connection.
  • On board 5V Power supply.
  • Rotary switch selectable microstep resolution (Full,2x,4x,8x,16x).
  • Control connection via terminal blocks or 25 pin ‘D’ connector.
  • Filtering on all step and direction signals.
  • Motor disable/enable feature through ‘D’ connector or external switch connected to terminal block.
Socket Mounted Stepper Drivers
The board uses low cost socket mounted stepper drivers.  These can be Pololu A4983/A4988 drivers or open source Step Stick drivers.  These are easily replaced if ever damaged without any rework to the PCB.  A compatible relay driver is planned that also fits this socket.  This will allow up to (2) relays to be controlled per board.  These are controlled via the set and direction pins associated with that axis and uses the existing terminal blocks for that axis.  This is perfect for a spindle on a CNC router or assist air on a laser cutter.
Cooling Fan
There is an integral cooling fan for the stepper drivers.  It mounts directly to the board and has a dedicated power connection.  It is mounted high enough to allow heatsinks to be mounted to the drivers.  This will allow the drivers to run at their full potential of 2 amps per coil.
5V Power Supply
There is a 1 amp 5V switching power supply on board.  This will not get hot like a linear regulator due to the voltage drop from the motor supply.  This can optionally be 3.3V if your controller requires that.  All other items on the board are 5V – 3.3V compatible.
Rotary Switch Resolution Selection.
The resolution of the drivers can be independently set via rotary switches.  The resolution is selectable between full step, 2x, 4x, 8x and 16x microstepping.  These and the control connector are flush mounted to one side for easy bulkhead mounting.
Control Connector.
The board has a dual pattern for the control connector.  There is a pattern for standard 5mm pitch terminal blocks and a pattern for a ‘D’ 25 pin male connector.  The ‘D’ connector has a standard pinout for direct PC connection for Mach3 or EMC.  The terminal block is perfect for direct connection to laser controllers like the Thunderlaser DSP controller or an Arduino microcontroller.
All step and direction signals are filtered with a RC filter and a schmitt trigger.  This is ideal for a noisy environment like a laser cutter or CNC machine.  The RC filter frequency is high enough to allow 1uS pulse control of the drivers.
Motor Enable/Disable
You can enable or disable the motors via the ‘D’ connector or via an external switch connected to a terminal block.  This can allow hot motors to cool off or allow you to manually rotate them.
Interface Drawing (coming soon)
3D Model (coming soon)
User Guide
There are a limited quantity available for immediate purchase
$40 assembled and tested with fan and mating connectors.
$90 with (4) drivers and heatsinks.

If you would like to comment, please use the forum topic for this post.

Using a ShuttlePro as a Laser Pendant

I have been using a ShuttlePro as a pendant for years on my router.  A pendant is basically a hand held remote control for your CNC.  It allows you to control a set of functions right at the machine.  I typically use it to zero the machine on the part, tweak the feedrate, start/pause/restart the job and do an e-stop.

The router’s pendant is starting to die.  It has been through hell.  I have dropped it about 10 times on the concrete floor.  It has also seen a lot of oil and fine dust.  A couple buttons are getting intermittent.  I have the functions to working buttons, but I was getting worried it would stop working completely.  I could not live without it, so wanted to get a replacement on order.  I found a good deal on eBay ($54) and since they had several, I decided to get one for the laser as well.

The ShuttlePro was designed for video editing.  One thing you do a lot in video editing is jogging the video forward and backward.  Typically you want to race forward until you get close then slow down and even go frame by frame until you get to the desired spot.  Sounds like CNC doesn’t it?  It has three dedicated functions for this.  Full speed forward and back via buttons, variable speed via a spring loaded jog dial and a frame by frame little detented rotator wheel.  It also has a lot of redefinable buttons.  These buttons have clear snap on caps, so you can add labels to them.  I have a Corel and PDF template at the end of the post.  Someone at the Mach3 forum dicovered this product and within days there was a plugin for it.

Setting it up is easy.

Download the ShuttlePro plugin from the Mach3 downloads page.  Place the ShuttlePro.m3p file you download in a convenient place like your desktop.  Double click on it.  That will launch a program that registers it with Mach3.  Plug in the ShuttlePro into your computer.  It uses the built in Human Interface Driverss (HID) so you do not need to install a driver.  It comes with some software to test it, but you must uninstall it before using Mach3.  Start Mach3.

Use the config Plugins menu pick to open the

Make sure the plugin is enabled with a green check.  Now click on the word config to the right of the plugin name.

That will bring up the screen above.  Each button can be associated with any of many functions.  My config is shown above.  You probably want some keys across the top to select the current axis.  I like to have the two buttons to the outside of the central wheels be rapid movement buttons.  It is also handy to be able to lock the pendant so accidental button pushes do not screw up a run.   I used the second button from the lower right.  The rest are up to you and how you use your laser.

Below is a video demonstration on my laser.

Open Source Rotational Engraving Adapter (Part 1)

This is the new open source rotational adapter for laser engraving.  This allows you to engrave on a round surface.  This design uses a friction drive method to rotate the workpiece.  This has the advantage of keeping a consistent surface resolution regardless of diameter.  This was designed to be 1000 steps/inch resolution.  The length was sized to fit the 2.x laser, but you could easily scale it up to much longer or shorter.  One design goal was absolute minimum height.  This allows Z challenged engravers to be able to do some rotational engraving

The main feature of the design is the the two drive wheels.  These serve several functions.  They hold the rubber o-rings used to provide traction on the work piece.  They have built in MXL drive pulleys and they have a spacer to ride directly on the bearings.  These were 3D printed at Ponoko.  With 3D printing, complexity is free.   This encourages you to make the part do as many jobs as possible.  I was initially concerned about the strength of these, but they turned out to be quite strong.  I can probably reduce the material to take some cost out.  I used the basic, cheapest, white flexible material.  I was impressed with the detail level the material was able to hold.  The belt fit perfectly.

I started the design using convensional design techniques and off the shelf parts because I was concerned about the 3D printed part cost.  I soon realized that it was going to take 3-4 separate parts to do the job of one 3D printed part.  The cost was quickly getting close to even.  The convensional parts were also starting to look a little mismatched.  While I am a form follows function, type of designer, I am a big fan of a clean design.
Once I started playing with the 3D printed part approach, I quickly decided that was the route to take.  It was fun knowing that increaing the details on the part has no affect on the cost and in some cases actually reduces the cost.  The spokes and radiuses retain the strength, reduce the material and I think add a retro mechanical design asthetic.  Dealing with a single supplier, with a fast turn around and no minimum order, was very nice.
I have done 3D printing from other vendors, but decided to give Ponoko a try on this part.  Since this is an open source project, their online tools would allow others to easily order parts.

At the other end of the assembly are the idler wheels.  These also are Ponoko 3D printed items.  They have bearings that press on each side.  This allows them to roll freely with virtually no wobble.  One idler has a flange on it.  This acts as an end stop to the workpiece.  It prevents it from “walking” while it is spinning.  The stepper motor pulley serves the same function on the other end.  This end is highly adjustable.  There are three positions the wheels can be placed in.  The plate can slide on the extrusions and you can flip it over.  While all the adjustments are manual, they only take a few seconds to do.

Below is a video of some testing I did.  I was trying to test a variety of shapes to see how they performed.  In actual use the speed is very slow, because the the laser is primarily rastering along the length of the workpiece and this adapter just advances it a faction of millimeter at a time.

They all performed quite well.  The only item that did not test well was a roll of duct tape (not shown).  It was not very round so it wobbled a bit.  It also has a sticky edge so it did not ride against the stops real well.  The screwdriver at the end is an interesting example.  While it did spin smoothly, it shows that if the image is not going to be at the same diameter as the drive area, some image scaling will be required before engraving.  The bit is only 1/8″ diameter!

The design will be open source.  There are a few tweaks to make before I release the drawings and 3D files.  I may sell a complete kit for this.  I estimate it will cost less than $100 with motor and extrusions included.  I have not tested it in my laser yet.  I don’t have the time right now, so I am going to have another 2.x laser owner do that for me….stay tuned for part 2.

Items Shown in video

  • Drumstick
  • Beer Bottle
  • Odd Shaped Oil Can (remove oil before lasering)
  • Wine Glass
  • Tiny Screwdriver

View Assembly Drawing
 View Plastic Parts
 Bill Of Materials
 Assembly Instructions