Last week I took delivery of a nice laser CNC engraver/cutter. This was a very cheap chinese machine, model number K40-III. When I got it, I knew the controller and the machine itself were very limited but there was an open hardware project call LaOS that I hoped would solve some of the issues. Couple that with a bit of my own customisation, hopefully I am going to end up with a fairly decent machine, for a lot less than a commercial model. I’m not the first to attempt this, as these machines are very common on eBay. I haven’t seen any success stories on my browsing so hopefully I will be the first.
I’m not going to put all the details on here, as I am updating the project wiki so its all in one place. This is going to be more of a log of what I do, so if you want the nitty gritty details, take a look at the wiki page for this machine.
So, on with the log. After making sure it was all in working order, the next job was to figure out what all the connections did, and what to do with them. Starting with a load of photos, I started to trawl the net. The controller board I knew was a chinese model, so punching the numbers off the silk screen into Google I managed to find a pdf with the technical details. One drawback, it was all in chinese! Thankfully Google translate came to the rescue and gave me enough details, coupled with details on the Laos wiki about other laser machines, to know what each of the connectors did. The other part that needed tracing was the power supply. Thankfully this turned out to be a simple case of checking continuity between the pins and the components on the control panel. After all this investigation, I knew how the stepper motors, the endstops, the control panel, and the power were connected.
The only difficult part was how to control the laser. This is a bit I struggled with as the documentation for the LaOS project is still being written, and there seemed to be multiple ways to control the laser. One of the power supply connectors allowed me to fire the laser, which was great for testing, but it didn’t honour the laser enable/disable button which I would rather leave in place and active. There was also another connector pin that was labelled as Laser, which in theory will control turning the laser on and off from the controller board. Experimentation will be needed I think.
With this knowledge in hand, I purchased a LaOS PCB, along with the PCB for the i2c LCD addon, and started putting the electronics together. Again, due to the project wiki being fairly new, and the team behind it being very small, it wasn’t quite as easy as other projects I’ve encountered such as RepRap. I’m fairly confident this will change over time, and I know I’ll be going through the wiki adding information once I’ve got it all working.
Once the electronics were constructed and ready, I unplugged the old controller, plugged in the new one, loaded up a test firmware and turned it on. I rather quickly encountered my first problem. A total school boy error of putting the wrong voltage capacitor on the board meant it blew up in my face… literally. Still, no harm was done to either the board or myself, apart from a bit of an adrenaline rush. I quickly swapped out the old capacitor with a newer one of the correct voltage and plugged it all in again. Nothing blew up this time, and I could confirm that all the voltages seemed correct. Next step was to try some of the motors and end stops. Moving the head back and forth showed that both home position endstops were working fine thankfully, and were inverted so that they turned off when homed. I guess its safer that way, and it told me I needed to set that up in the configuration.
Happy that things seemed fine, I put the real firmware onto the board and fired it all up. Success… kind of! The X axis homed nicely, but the Y axis sat and juddered in place. After a few posts on the forums, and a lot of messing with config files, and checking of connections, finally it homed to the correct position. With that seeming to work, I fired up the interface software called visicut, and tried to send a few test files to the machine. Well, things moved, but not exactly in the right way. Still, better than nothing and I was fairly certain that it was all down to settings in the config file. I was beginning to understand that the config file is the hardest part of setting it all up, but finally after a lot more tweaking of the file, I had both axis moving in the correct way and the correct amount.
Next came the laser. In some ways, I was dreading this. So far I’d been messing with things I knew about from building a couple of reprap machines, namely stepper motors and pololu stepper drivers. I was fairly confident if I blew either of these things, then I could fix or replace them. The laser was something totally new. However, from reading the documentation, and putting a multimeter onto the connection marked L on the PSU, I was fairly certain all I needed to do to active the laser was to pull the L pin down to ground. All this took was a single wire from L to one of the Laser On pins on the LaOS board, and the other Laser On pin I simply tied to a handy ground point (ie, the screw terminal on the board that came from the PSU ground).
With a little bit of trepidation, I powered up the printer and started visicut. I loaded a simple rectangle file to test with, and hit the execute button. A nice little rectangle was cut out of the test bit of card! Wow, that was easy! To say I was happy would be a little bit of an understatement. I quickly grabbed a bit of acrylic I’d got to test with and fired up inkscape to draw something. I only wanted something simple, so I decided to try and engrave my name into the acrylic, so a quick click on the text button, and I typed my name in. Up to the extensions menu, and select Lasercut Path and the image I created was loaded up in visicut. A click on engrave, and execute, and my name was being etched into the acrylic! It turned out rather nicely! 🙂
All in all, I’m very happy. I got a cheap machine off eBay with a lot of limitations and with the help of an Open Source hardware project, I’ve turned it into a networked laser CNC machine. It is still limited in the strength of the laser and the bed size, but I now feel confident enough that if I end up using it a lot, I can get a higher end cutter and convert that.
I’ve still got a way to go yet on this project. The CUPS driver isn’t working properly, so I’m relying on using visicut to do the actually printing work, but that isn’t too bad as it is a pretty easy to use program. I also need to put PWM onto the laser output so that the controller board can vary the laser cutting power itself. Lastly, there is the i2c LCD module to get working. For some reason if I plug the module in, the controller board won’t boot properly, but I haven’t done any investigation yet to find the reasons. Oh, and I think a few safety measures are needed such as a water flow sensor and lid sensor which deactivate the laser in the case of anything not working… better safe than sorry!