Evolution of a Blog

This blog has evolved as I have as a maker. It starts at the beginning of my journey where I began to re-tread my tires in the useful lore of micro electronics and the open-source software that can drive them. While building solutions around micro-electronics are still an occasional topic my more recent focus has been on the 3D Printing side of making.

Thursday, December 22, 2016

Too Much Filament?

When you have a man cave with two Ultimakers you can not have too much filament!  Well that may not be true based on the below list.  I have been doing printing for people through 3DHubs and donating half my proceeds to the MS Society.  The other half, however, have gone to my filament inventory.  Since I did a couple of big jobs recently there may have been a splurge!  All stored in two cabinets with dehumidifiers to keep it from absorbing moisture.  I am coming close to running out of space.

White PLA30%
Snow WhitePLA100%3DFilaprint1kg
Steel GreyPLA90%1kg
WoodSpecial100%PLA Coconut

Tuesday, December 6, 2016

Ship Update - PCB Design

I am just about ready to send away the PCB design to be FAB'ed in China but needed to do one more bench top validation.  The small breadboard was assembled following the PCB design and did uncover and issue with said design.  I knew there was a reason for doing it!

My ability to print my own PCBs for testing purposes is still in the future but I am hoping that I will be able to do a test or two using the below setup (though obviously not inside the ship)!  You can see a couple other areas that I am still working on.  I still do not have a form fitting battery.  I have a smaller servo but have not fitted it.  I am also working on the motor mount and the servo mount.

Some notes on the PCB.  The elements on the PCB, or attached to the PCB, that drive the ship are as follows:
  • Arduino Pro Mini micro controller,
  • Pololu DRV8833 Dual DC Motor Driver,
  • Pololu S7V7F5 5V Step-Up/Step-Down Voltage Regulator,
  • Micro Speed Reduction Gear DC Motor,
  • Sub Micro Servo (H-King 282AS),
  • Bluetooth Serial SPP Module (HC06), and
  • Port for Programming via ICSP.
There are also some features designed into the board that my current project does not need.  When I design one of these things I try to leave some latitude for possible additional or extended uses.  In this case there is the capability to use two motors though you do have to run a couple of jumper wires.  I have also exposed terminals for power and for three analog and three digital pins.  There is also a jumper that lets you choose between input power or 5V board power to drive your motors.

Sunday, December 4, 2016

Another Crazy Assed Project - A Ship

I get project ideas from a couple of the groups to which I belong on Facebook.   During my tanks phase it was from the Flames of War communities.  More lately I have been doing N-Scale bridges and the like so it has been a couple N-Scale groups.

A member of one of those groups suggested the idea of an N-Scale ship.  Since I have done a bridge and a scene with a bridge might need a ship and I like ships.  Part two of the suggestion was to have the ship be remote controllable.  Now that will obviously require electronics and I like electronics....so.....I decided to do it!

I don't have a full scale prototype as I found a model that I liked while I was searching for a prototype of a small freight steamer of about 100' long:

This is a model that is part of a layout called the "Wrightsville Port Waterfront Layout".  I figured that since my work is all non commercial, and that I am giving them full credit, and that I left a note on their blog, that they will not mind my stealing their idea!

Here is what my version of this ship is starting to look like.  This is a first assembly of a draft print so excuse some of the obvious issues (some of which are hard to see due to the colour of the plastic)!

As I mentioned above the model is of a ship with a length of around 100 feet.  This has resulted in a model that is about 200mm long and 40mm wide.  Into that hull needs to go a circuit board of electronics, a motor, a servo, a bluetooth card for communications, and a battery.  Here is what the prototype electronics are looking like.  The controller and its blue tooth card are on the left.

Finally, the circuit board that will go inside the ship is coming along as well.   I have a little more to talk about in regards to the circuit board but that can wait for the next post.

Saturday, December 3, 2016

Cura 2.3.1 Upgrade (and Simplify3D)

I am the happy owner of a new Ultimaker 3 that is now sitting beside my Ultimaker 2+.  I think that I may have been the first person in the UK to get a UM3 and because I was so early I needed to use Cura instead of Simplify 3D which I have been using for a couple of years.

I have been happy enough with Cura, and frustrated enough with a couple of S3D idiosyncrasies, that I have shelved S3D and been using Cura exclusively for the past month.   Here are some observations relative to that experience.

Two Things that I miss about Simplify3D

The first thing that I really miss is the ability to manually set where support is to be created.  This can be a truly useful feature.

The second thing is the ability to create a "factory" that remembers the models and print settings that went into doing a particular job.   Ironically one of the things that I hate about Simplify3D is the lack of a refresh or reload function for the models that comprise a factory (or models that are on the build platform regardless of being in or out of a factory)!   It would be nice if Cura remembered everything about a job, from what files, to what settings, but I would be happy if it just remembered the list of files.  I do a lot of iterating when doing a design and since I design kits of multiple parts Cura can be cumbersome.   More on the multiple parts issue below.

Things that I Really Like about Cura 2.3.1

I have not used Cura for a couple of years so the changes from what I remember to now are enormous and I am not at all sure what features are new versus been around for a while.  One of the things that I like has been alluded to above already and that is the update model facility.  The other, and bigger, feature is the quality of the profiles that come with Cura now.  For the range of nozzle sizes and material types these profiles can not be beaten for getting a leg up on quality.  Finally, I like the cost of Cura!

Things that I would Change about Cura 2.3.1

As I mentioned above, I would like to see a "factory" like concept added.  Initially this could just be to remember the models loaded but remembering the rest of the settings for a job would be great, as would the ability to manually control support placement.  As the latter is probably a lot more of a challenge I would recommend that the first be attacked soon!

My other major gripe about Cura relates to the USB driver.  Why does it do a destructive poll of printers when it starts???  I have deleted the USB driver from the Cura directory structure to prevent this behavior but I do not think that I should have to do so!

The last thing that would make my life easier is to have a little bit larger of a bounding box around the models that are on the build platform.  This might be peculiar to the way that I work but it can be hard to grab small parts to move them around!

Possible Bugs in Cura 2.3.1

There seems to be a circumstance where the slicer looses the ability to reset model positions on the build platform.  I have not been able to isolate when this happens but when it does the only solution is to quit and restart.  There are some other things about using profiles that I think may be issues but I have not been able to isolate an issue to be able to describe said issue!


I really like the new Cura!  I have not printed anything using S3D on either of my two printers since I took delivery of the UM3.

Wednesday, November 23, 2016

Test Prints from Ultimaker 3 (and versus Ultimaker 2+)

As time allows I am doing some test prints on my new Ultimaker 3 with various materials.  I am also going to try and do the same print on my Ultimaker 2+.  I did not buy the new printer expecting any great improvement on the old ones but I do want to see the quality and if necessary do some tuning (in any case on either printer if some is needed).  In all cases I am using Cura and the profiles provided there-in at a resolution of 100 microns.  

Ultimaker PLA on the Ultimaker 3

This is as nearly a perfect print as I think is possible using a 400 micron nozzle on an FDM printer (at 100 micron resolution).  I could do better with a 250 micron nozzle but this is pretty good.  Note that I had accidentally printed with a brim which explains the layer of filament up the little river.

Ultimaker PLA on the Ultimaker 2+

Almost as good as the UM3 print but for the print layers being very slightly more visible and a little deformation of the sides of the bridging.  I think that I need to do some belt tightening and make sure everything is tight on the UM2+

"Upgraded" PLA on the Ultimaker 3

When I first started printing I happily purchased my filament from eBay based on price.  When I got my Ultimakers I started to notice the difference between suppliers and decided to standardise on a slightly better material than eBay cheapest.  The filament used here was 20GBP for a kilogram.  More than eBay but less than Ultimaker (35.99GBP for 750g)!  This is another nearly perfect print in my humble opinion.  

Ultimaker CPE on the Ultimaker 3

Nearly as good as the PLA prints but not quite as sharp.  These were done at the profiled temperatures and I wonder if a couple degrees lower might help.  

Ultimaker CPE on the Ultimaker 2+

'Def some issues compared to the Ultimaker 3 print.  This print was done with an older nozzle and it might bear a repeat with a newer nozzle and the same temperature decrease mentioned above.  I think these are issues that can be largely tuned out.

Colorfabb NGEN on the Ultimaker 3

I really like the NGEN portfolio of filaments from Colorfabb.  They print a lot like PLA but are more temperature resistant and have a nice look about them.   The temperature range recommendation is 220 to 240 and this was printed at 230.  I think that I would lower the temperature by 5 degrees for another attempt but this is still pretty good.

"Upgraded" PLA on a freshly tuned Ultimaker 2+

 It is clear from looking at the above prints done by my Ultimaker 2+ that some tuning is needed.  The print below on the right is after said tuning.  The one on the right is from the Ultimaker 3.  They are both pretty close to perfect.  As I stated above, I could improve the quality by using a 250 micron nozzle, and I could also slow the print down, but these are pretty good prints using the stock profile from Cura for PLA.  The tuning that I did consisted of making sure the short belts were tight, lubricating all the axis, and replacing the teflon coupler.  The coupler did not look degraded but I have to think that was the source of most of the improvement.

Colorfabb NGEN on the freshly tuned Ultimaker 2+

The tuned Ultimaker 2+ did a nice job on this print.  On par if not a little better than the Ultimaker 3 print though I would give credit to the temperature reduction.  Mechanically the printers seem pretty much the same when it comes to a single material print so the results are not a surprise nor does Ultimaker advertise an improvement for a single material print.  I am just impressed at how well my well used two year old upgraded printers do compared to a brand new Ultimaker 3!

Monday, November 21, 2016

Final Configuration for UM2 Laser Cutting Upgrade

I have been distracted by some other tasks but I have finally finished the configuration of my laser upgrade for my Ultimaker 2+ 3D Printer.  I don't really have a compelling requirement for a laser cutter though I am going to try do some of my own PCB's to save time over the shipment of tests from China.  I am also, as always, looking forward to playing with the laser!

My "user" requirements for installing the upgrade were two fold:  1st, the kit has to go onto my printer and come off of it quickly and easily as the primary use of the Ultimaker 2 is still as a printer! 2nd, I wanted to be able to use as much of the print area of the Ultimaker 2 as possible for laser cutting.  The rest of this post shows the final result.  There is detail that I am not covering here in previous posts on this topic.

This is the completed upgrade.  The laser that I am using is from J Tech Photonics purchased from RoboSavvy.  The specific laser that I bought was the, you guessed it, most powerful one available, the 3.8w Laser with the 2.5amp driver.  It is important to recognise that a 3.8w diode laser is not going to be competing with more powerful dedicated laser cutters!  But still, way powerful enough for what I need (err, want).  The door is also from J Tech Photonics with some printed hardware that I added.  Looking closely you may question why I mounted it the way that I did.  Measure twice and cut once was not how I did the door.

Here is the laser mounted on the extruder assembly of my printer using the mount that I designed and that is available on Thingiverse.  It slips underneath three of the bolts that tie the extruder together and is both sturdy and easy to get on and off.  At the top of the picture you can see the connections for the fan and for the laser.

The driver for the laser is to the rear of this picture.  It is connected to the following (all but one to the rear):
  1. Power supply
  2. Laser
  3. Laser Cooling Fan
  4. Printer Fan Power (via a voltage divider)
  5. Remote reset button
  6. End-stop Switch on Door for Safety Interlock
I have my printers standing on legs that I designed that provide some room under the printer for a tray and also give a little vibration protection as they are cushioned with a flexifill shock absorber.  In the foreground is the remote reset button for the driver as well as a switch that controls how the fan is connection.  Forward means the fan will work normally and backward means the fan power is being redirected to the driver as input to its PWM sensing logic.

The presence of the safety glass door is detected by an end stop switch that prevents the laser from operating when it is open.  Triggering this end stop with the laser running means that the driver needs to be reset...which is why the reset button is conveniently located where it is now.

I am leaving the glass on the build platform with sheets of MDF on top of the glass.  The little black prints keep the wood platform in place.

Finally, I wanted a way to be able to activate the laser without having the door installed.  I went with this approach as I really did not want a switch that could be forgotten.  I see this as being a little bit easier to remember.

Other Articles in Series

Monday, October 31, 2016

Laser Cutting Learnings re Fan and LED PWM

Here are a couple of of learnings / questions. My first configuration was to use the fan PWM to drive the laser via the M106 command.

From a hardware perspective you need to do two things, first you need to get the 24V fan power down to close to the 5V PWM input. Jay, at JTechPhotonics, said the following: "For the voltage on the fans, yes it would be better if they were put down to 5V (or even 12V). The input is isolated, so it should work fine, but it was designed with 5V in mind. I think the high end of the design is rated at 24volts. If you have a way to get it to 5V then I would recommend it, but you probably are fine at 24V. " I did a voltage divider and took it down to close to 5V. Second, I installed a switch so that I could toggle between the fans working or the laser working.

There is a slight issue on the firmware side though. At least with my printer there is a spike of voltage when the fan circuit activates. I am assuming this is to help the blades of a fan spin up but have not dug into the code to see. You can see the spike using a meter or just by watching, with glasses of course, the laser turn on. Not at all optimal to have a litle black spot everywhere the laser activates! Is this on all machines?  It turns out that this is a fan spin up feature and it can be disabled in the configuration.h file (courtesy of gr5 on the Ultimaker forum).

With the above being the case I decided to go the LED PWM route. This is not as clean due to the normal state of the LED being on but I decided to try it anyway. I chose not to use a voltage driver as the supply for the LEDs is under 12V. Same comment about it needing to be switched but this time there are no spikes! There was another problem though.  An LED PWM command, i.e. M42 S200, seems to get processed as soon as the firmware reads it without waiting for previous commands to be completed! You need to put an M400, wait for everything to be done, command just ahead of it (found that above in the comments on this thread).  Note that you do not need a pin number with the M42 as it will default to the LED ... but if you do use a pin number it is 8 for the UM2 and 15 for the UM.

Here is an update from GR5 on the Ultimaker User Forum in regards to the Fan PWM and the burst we see on starting the fan.   I have not done this yet but only because I dread messing with the motherboard again!
As long as you never set the fan to below 30%, getting rid of this feature won't hurt.  Plus it doesn't work very well anyway.  If I don't set the fan to 100% until 5mm and is printing .1mm layers that is 50 layers so fan is 2%, then 4% then 6%, etc.  When it hits 2% it powers 100% for 200ms then to 2% and fan stops.  When it goes to 4% it is already on and it doesn't do the special "power on" code.  So the code is kind of useless.  It should do full power everytime power is increased - not every time fan is turned on.
In Configuration_adv.h just set the time to 0 or minpwm to 255:
// When first starting the main fan, run it at full speed for the
// given number of milliseconds.  This gets the fan spinning reliably
// before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu) 
Update of mid-November:  I could not get the LED PWM to work as well as the fan PWM was working so I have gone back to the fan after implementing the above change.

Friday, October 28, 2016

Yet More Laser Tuning

I am pretty confident that I am chasing a level of precision in cutting that might be well beyond what my new laser is capable of doing yet I continue to mess with it anyway!   I have gotten pretty good at finding a focal point anyway.

First step is to do the eyeball (behind safety glasses!) calibration with the laser running at 1% of power as adjusted on the front panel of my printer.  To aid this first focus I have found that using the camera on my smart phone helps as it has a macro focus that beats that of my eyes.

Once that is done I print the calibration lines seen below.  Low power so that the paper is only just scored.  The first test is done with 2mm build platform movements, then 1mm, then .5mm, and finally .25mm.  Can do another one at .1mm but not shown here.  Obviously the trick is to bracket each level from the previous test.

Having done the above, however, I am still not sure that I am getting the depth that I should be or not but more troubling is that I get two completely different depths of cut on the x-axis versus the y-axis!  As you can see in the below photos the cut that I get on the x-axis, side to side, is dramatically better than the one on the y-axis, front to back?  I am not seeing this when I print though I am going to further test this later today.  I have done the things on the printer that I would do if I thought that I had an issue but will recheck those adjustments as well (tension on the small belts, equalizing tension on the long belts, ensuring all set screws on the pulleys are tight, lubricating the axis rods).

Wednesday, October 26, 2016

Tuning a Laser

There are some distinct similarities between tuning a laser and tuning a 3D Printer.  I have been trying to get an optimal cut from the laser with three parameters to work with:
  1. Focus.  This is all important as the point where the laser beam is focused coming out of the lens is where precise cutting happens.  There are two ways to do this with both covered on the JTechPhotonics website.  The first is to adjust it under low power and the second is to cut some test lines.  I have been doing both as I have also been experimenting with different heights but I think the test lines approach delivers the best results.
  2. Temperature.  Obviously!  Different temperatures for different materials and for different tasks (cutting versus embossing)
  3. Speed.  The longer the laser dwells the more it will cut.   Also the more it will scar the surrounding material though.
It is all a balance!  Just like with 3D Printing where temperature and speed play such a key role.

Here is an example of some test cuts at different heights.  I am using some paper at very low power settings then final tuning on wood.

Here is an example of the level of detail that I would ideally like to be able to cut.  The squares on the cutting matt are 10mm!   I am not even sure this is possible with the larger size of my 3.8w laser.

Saturday, October 22, 2016

Laser Focusing and First Cut

Super high attention to focus is a mandatory requirement for a laser cutter.  It says so on the JTechPhotonics website and they do not lie!  The documentation for the laser suggests a low power method of focusing.   Namely using an onboard potentiometer to lower the output of the laser so you can adjust the focus by hand.  I think you need to do this to get a rough focus but I would not worry about the detail much and jump to focusing by BURNING (which they also document here).

So here are the results of my focusing efforts and my first cut of something other than paper...in this case 1mm MDF board.   You can see the pages that I used to focus the laser starting with movements of 1mm, then 0.5mm, and finally 0.25mm.

Once I had it narrowed in on paper I put a sheet of 1mm MDF under the laser and did another calibration test to confirm the focus...and then I did that first successful cut.   Note the words "first successful cut"...as there were a number of FAILS prior to me getting serious about getting the focus correct.

Next step is to understand how many passes are needed to cut various depths of various materials.  I am hoping there is something to this effect on the web to help but if need be I will do my own.

Laser Mounted, Connected, and Ready to Fire

Since I am mounting the laser on my 3D Printer the first thing that I would need is a mount.  I had already envisioned what I wanted from a mount so had it designed before I even got the laser (it was very helpful that JTechPhotonics had a model of the laser available for download).  So here is what I did available on Thingiverse.

My goal with this design was to have the laser be easily attached and detached from the printer, while being secure and stable, and allowing for a maximum of the build platform to be available. The mount slides under three of the four screws on the top of the extruder assembly for ease of attaching and detaching. I added connectors a foot or so above the mount so that the main part of the cabling for the laser and fan can stay attached to the printer between uses. I can change between printer and laser cutter in about a minute.

Here is the laser and fan mounted on the mount that I described above.  This version is printed in PLA.

Here is another copy of the mount printed using ColorFabb NGEN which has a higher melting point than does PLA.  Have it ready in case the PLA distorts.

This is a shot of the wiring for the laser.  I have connectors for the laser and fan so that I can remove the assembly easily.  The run back to the laser driver stays in place.

Here is the JTechPhonics High Power Laser Driver.  It is a nice piece of kit though my installation is not doing it any favors as I still have some wiring cleanup to do.

I am using the PWM controlled fan from my Ultimaker to drive the laser.  This posed a little bit of a challenge because there are two fans driven in parallel and if one is out of the circuit then you have no fans.  The driver effectively takes a fan out of the circuit so I needed to put a DPDT switch in place to swap between printer and laser.    The over challenge was that the Ultimaker 2 drives fans at 24V and the driver wants 5v.  A little voltage divider and that problem was solved and the voltage the driver sees is now about 6v maximum.

One last problem that will likely cause me to move to the LED PWM...when the fan is activated there is a spike of voltage!  Not sure why but it is enough to be noticeable when the laser fires and in the start of the burn.

In the next post I am going to talk about calibration and my first cut.

Friday, October 14, 2016

3D Printer to Laser Cutter

For no particularly good reason I have decided that I need a laser cutter.  I already have the basics that are needed in that I have a 3D Printer for the mechanicals so what I really need to add is the laser and some additional logic.

The laser kit that I have purchased is the JTechPhotonics - 2.8W Laser engraving & cutting Kit.  This comes with both a laser and the power supply with some control electronics.

My goal in driving this laser is to be able to use as much of my current workflow as possible (e.g. Sketchup and Simplify3D), without making any firmware changes on the printer, and with a minimum of hardware intrusion.

The first thing that this means is that I need a way of telling when the laser should be firing and then I need to be able to fire it from GCode.   Telling when the laser should be on and off is relatively easy assuming that I write a preprocessor that can scan and regurgitate GCode.

Driving the laser from GCode is a little harder.  This is where the power supply and control electronics come in from JTechPhotonics.  It can take as input either the LCD or the FAN PWM signal from the printer,  both of which are controllable via GCode, and use that signal for turning the laser on and off.

Sunday, October 9, 2016

Raspberry Pi Zero PoV Wireless Camera

This is one more project in the long list of projects that may not actually meet a need but was fun to build.
The "requirement" that this solution meets is to provide a wireless Point of View camera that can be used to photograph dioramas, model railroad layouts, or for Line of Sight previews when playing a tabletop game such as Flames of War.
The solution is a 3D Printed case that encloses a Raspberry Pi Zero that is attached to a Pi Camera. The Pi Camera is in a mount that can slide up and down a track to match a PoV elevation. The Pi supports a wireless dongle that can either attach to a network or provide one of its own (Adhoc or Otherwise). Power is supplied by a portable mini charger.
There are examples of each possible usage above. The first photo is showing a PoV looking down an N-Scale Drawbridge, the second two are showing a picture being taken of a small diorama, and the third is a representation of what a Flames of War usage might entail.