Success, of a sort

The recent modifications to my printer have made a huge difference.  Not only is it printing much more accurately, but I can print item after item without recalibrating.  There are further improvements to be made (aren’t there always?), but I’m now at a point where I can be reasonably confident of being able to print the parts I need to make modifications.  Here’s an example:


These two clamps are created so that I can mount a scavenged motor securely for my next project.  I modelled these in OpenSCAD, sliced them in Slic3er and printed them using Repetier-Host control software.  Everything just worked.  I haven’t mentioned Repetier-Host before, because I’ve only just become aware of it.  It’s a very nice front end for the printer, and manages Slic3r.  You can load and view a .STL file, slice it and print it from the same interface.  It’s slicker than Pronterface, which I had been using.  It’s definitely my software of choice now.  It makes it really easy to adjust the printing speed during printing – meaning that you can slow down the head for fiddly areas, and speed it right up for less important bits.

Flushed with success printing useful things, I thought it was time to try some frivolity.  Here’s a “Skull with pointed teeth”, from a model I found on thingiverse:


It’s about 5cm tall.  It would look better printed in white plastic, but I’ve only got blue.  I’m really pleased with this print.  Next time, I’ll make it hollow and mount a couple of red LEDs in the eye sockets…

Finally, I decided to try something more complex.  Printing objects with overhangs is not simple for this style of printer, because there is no surface deposit material on.  So I have not tried it before.  Slic3r has a setting you can use which will help to print overhangs by printing columns of expendable support material underneath.  These can then be cut away when the print is complete.  The example I tried is a minion from thingiverse (if you don’t know what a minion is, you should watch the film Despicable Me at once).  Here’s a picture of it mid-print:


It’s hard to see the shape, because of all the support material (the vertical columns at the front), but you can see the honeycomb-shaped fill of the main part.  When the print is finished, the poor minion looks like this:


Ten minutes with a scalpel, cutting away the scaffolding, and he looks like this:


He’s a long way from perfect, but given the size (about 6cm tall), it’s not too bad.  His arms are only about 3mm thick, and they could not have been printed as part of the main figure without support.   Again, it doesn’t help that he is translucent blue rather than yellow.  Perhaps a paint job will improve him.  A light sanding certainly would.

You will be upgraded!

You will become like us.  Yes, I like Doctor Who (as if that was unlikely).  This isn’t about Cybermen, though, it’s about a significant upgrade to my 3D printer.  As initially designed and constructed, many of the pivots in the printer are simply screws passing through holes in the PLA printed parts.  Over usage, these holes have become enlarged, so that the screws are loose.  This means that apart from the danger of them falling out, there is unwanted movement in the printing mechanism.  This leads to inaccuracy in printing.  So, as part of my plan to gradually improve the accuracy of the printer one step at a time, the next step is to replace the pivots with proper bearings.  Naturally, my initial designs, printed by Rob, do not allow for the insertion of bearings.  That would be far too easy.  No, the pivots are part of the carriages which move up and down the columns, and are each printed in one piece.  I have to design new parts which will fit on to the old carriages.  Why can’t I just print new carriages?  Because the printer’s not accurate enough yet.

I discover that I can now print small items (and in particular, things which are not very tall) with quite good results.  This means that I can finally use the printer to print some parts for itself to upgrade it:


Those are bearing mounts.  I’ve sourced a load of tiny ball bearing races off eBay (7mm od, 2mm id) for the ridiculous price of 20p each, and I’m going to replace each of the pivot screws on my carriages with them.  They are really tiny.  Really, really tiny.  I’ve already lost one.


The bearings will be located in the parts in the first picture, which in turn are mounted on the carriages using the original pivot holes.  I’m also replacing the pivot bars with newly printed ones.  If all goes well, my prints will be better.  It all fits together like this:


I’ll have to go through the whole calibration routine again once I’ve fitted the new parts (which is a bit annoying, as it’s actually working quite well at the moment), but I’m confident it will be worth the effort.

Engage reheat!

Yesterday, I wrote about the bad consequences of letting printed PLA get too warm – in summary, it softens and bends.  In the case of my 3D printer, it resulted in the print head getting out of alignment.  Thinking it over, it occurred to me that I might be able to fix the problem by reheating the plastic a bit and straightening it out.  To my surprise, it worked.  I boiled some water, put it in a bowl and immersed the distorted component.  After a few seconds I pulled it out and flattened the distorted area.  Easy.  It worked for both of the components I blogged about yesterday.

A little more experimenting shows that the water temperature can be a lot less than boiling (cool enough to dip hands in, which is convenient) and still soften PLA quite effectively, giving it a few seconds of pliability before it cools to stiffness again.  Even more interesting is the shape memory effect that I really wasn’t expecting.  Before I played with the critical parts, I took a simple printed bar of PLA, and dunked it in hot water.  While it was flexible, I bent it into a circle, and let it cool.  Then I dropped it back in the hot water.  It uncurled itself and resumed its original shape.  I’ve since done this with more complex parts, even screwing one into a ball.  I’ve put a video of this on YouTube.

It’s an entertaining but probably completely useless phenomenon.

Who ate too much Pi?

Calibration, that’s what you need.  If you want to be the best, if you want to beat the rest, oh-ho-ho, calibration’s what you need.  I apologise to anyone too young to remember the TV programme Record Breakers but i couldn’t resist.  Calibration of my printer proceeds apace.  Today I’ve been checking the vertical movement of each carriage independently, and guess what?  If I command them all to move 100mm, they all move slightly different distances.  I think this is down to variations in printed pulley size, but this time I can compensate in the firmware.  So I measured the distance each carriage moved, and calculated the effective pulley diameter which would cause this movement.  That value replaces the nominal one in the firmware, and all is well.

Or it would be, except that I noticed that the value of pi I was using in the firmware was 3.1515926 which as everyone knows, is wrong (it should be 3.1415926).  Yes, if you are picky it should be 3.1415927, but frankly an error in the second decimal place is somewhat more important.  It’s not a huge error (around 0.3%), but it just shows that when you check everything, you should check EVERYTHING.  I wonder how many more little errors are lurking in the system?

Having changed possibly the most fundamental part of the calibration definitions, I now need to go back over the whole printer calibration routine, because the chances are that some of the other tweaks have actually been trying to mask these errors.  What fun.

What’s it for?

When I tell people I’m making a 3D printer, their first question is usually “what’s a 3D printer?”. Once I have explained that, the next question seems to be either “why?” or “what will you use it for?”. Well, today I saw the perfect answer to both questions: this link

When good cameras go bad

“Fuzzy” is a word that should only ever be applied to felt.  Ignoring the colour, can you spot the difference between the two images below?  They are scaled down, but if you click on them you should get a larger version of each.


Obviously, the one on the left is out of focus.  Both photos were taken of the same target, at the same distance.  The sharp one one is taken with my wife’s Canon Ixus 105, and the fuzzy one with my Panasonic Lumix TZ7.  For some reason, my camera has decided to stop taking clear photos and has taken it upon itself to do everything in soft focus.  It’s impossible to see this in the (relatively low resolution) viewfinder, but it’s obvious when you look a the full size image.  I’ve tried every setting on the camera, and every factory reset possible.  The lens is clean, and nothing seems to be jammed or problematic.  The thing simply won’t take sharp pictures.  Just to add insult to injury, here’s the same picture taken with my phone camera (using the phone’s built in ‘flash’, which causes the horrible reflection):


The upshot is that I am no longer able to take pictures with my camera which are good enough to post here.  This is irritating, because I’ve got progress on the printer which is just dying to be documented.  I guess I’ll just have to buy a new camera.

Breaking out of bondage

Let my inputs go!

The Gadgeteer system is great; there are loads of modules that you can easily use to do a range of interesting things. There’s a ‘but’ coming here, of course, and it is this: there’s no obvious way of connecting things which are not already Gadgeteer modules. For example, suppose you want to put a switch on your fridge door, so that you can trigger a Gadgeteer camera to take a picture of the person who is surreptitiously drinking all your milk. Or maybe you want to connect multiple switches, perhaps to determine the ammunition remaining in your USB missile launcher. The Gadgeteer buttons are not really suited to the task. Even if you can physically fit them where you want them, and you’ve got long enough cables, each module only has one switch on it. There’s a solution to this, and that’s what this post will start to cover – adding your own devices to the Gadgeteer system.

Continue reading “Breaking out of bondage”

Nuclear armageddon

Or possibly sponge-tipped minor annoyance

In this post, I’m going to show you a little bit of interfacing the Gadgeteer system with the real world.  I’m going to do this by hacking an old USB-controlled rocket launcher which I picked up (from Marks and Spencer of all places) some years ago.

Continue reading “Nuclear armageddon”

Buttons and bows

Or lights, at least

In this post, I’m going to do a walkthrough of creating a very simple Gadgeteer prototype. It will not do a great deal, other than make some lights change when a button is pressed, but it will serve as an introduction to illustrate the Gadgeteer development process.

First, get a telegraph pole…

When I was a kid, I had a book called something like ‘Four thousand projects for inquisitive young minds’. Amongst the ideas for healthy, practical things to amuse children who should know better was a project called ‘Make your own totem pole’ (if you don’t know what a totem pole is, wikipedia will help). Anyway, the instructions began with something like ‘First, get an old telegraph pole…’, at which point the project became rather more difficult than a ten year old child could manage. And that’s before the talk of axes and chainsaws. The point of this rambling is that before you can start playing with the Gadgeteer hardware, there is some software you need to download and install. Rest assured that it’s easier to acquire and set up than a telegraph pole.

Continue reading “Buttons and bows”

Getting going with Gadgeteer

Being by way of an introduction.

For many years, I’ve amused myself by building electronic devices. By far the most entertaining for me have been those which interact with the real world. I like stuff which moves things, senses things and generally behaves as if it had some magic in it. Since the advent of cheap microcontrollers, most of these projects have involved more programming and less electronics. I’ve had a lot of fun with PIC processors, which are dirt cheap. I particularly love the PICAXE, which is a pre-programmed PIC for which you can write code in a language similar to BASIC rather than diving into assembler. My other favourite is the Propeller. It’s an amazing chip with 8 cores, programmable in a higher-level language called SPIN. I’ve also dabbled with various embedded processors from Texas Instruments (if you like gadgets, check out the eZ430 chronos) and STMicroelectronics (try the unbelievably cheap STM8S-Discovery kit). There is also Arduino , of course (I’m glossing over that, because I’ve never actually used one).

All of these are capable devices in their own niches, and if you program them down to assembly language level, you can get quite a lot of performance out of them. I don’t want to program in assembler very much. It’s painful. Fortunately, there are other options.

Continue reading “Getting going with Gadgeteer”