Thursday, 29 December 2011

Second attempt at the PCB

This one came out much better.

I moved two connectors so that they lined up better, then made the signal lines slightly thinner.  This time the board auto-routed without me needing to manually route any lines. I then moved some of the tracks to be horizontal/vertical instead of diagonal, and I moved some of the marginal lines further apart.

When I plotted it only one pad was too close to another, but the SO08 pads still, as expected, merged and will need manual rework with a knife.

Here is the original.

And here is the annotated version.

1. Same as before these two pads should be separate.

2. These two should not be so close.

So the next step is to do that and then etch the board.

Wednesday, 28 December 2011

First PCB Plot.

So today I tried my first plot of a PCB.

Pretty pleased with it. There are some problems, but nothing too show stopping that a rework of the board layout won't cure, except one, and that can be solved by manually retouching the board before etching.

Here is the board as printed.
And here it is with marked with some of the problems.

  1. Tracks touching each other.  Most of these can be solved by making sure the tracks are not so close on the board.
  2. I reran the print to deposit a second layer of ink, but the pen went dry, so scraped the first layer off.  I will try to retouch these with the new pen I need to go and buy.
  3. The diagonal tracks seem the be drawn too thick. It needs further investigation
  4. The pads for the SO08 chips were drawn so that they touched, either I need a finer pen, or I need to retouch these manually.
So overall I am please with the way the first board came out.

Looking at the board as it printed I think I might be able to make the track widths slightly smaller, this would reduce the possibility of two tracks merging.

Tuesday, 27 December 2011

My Prusa experiences

Five years, or so, ago I was trawling the web and found the RepRap site. I was intrigued, the Darwin caught my imagination. However, work, travel and a lack of time meant that it was impractical for me to build one. Every so often I would dip into the site to rekindle my enthusiasm. February 2011 I dipped in again and discovered the Prusa. Mmmm, building one was now an achievable possibility. I visited eBay. Nophead was selling a set of printed Prusa (V1) parts with a Wade extruder at an affordable price, I was hooked.

The printed parts came from Nophead, the basic vitamins came from and the electronics, steppers, opto-endstops etc. came from

The assembly was fairly straightforward, I have been building electronic and mechanical devices for years, so no real problems that a little thought, plus some dismantling and rebuilding could not solve.

My big problem was getting host software to communicate with the machine. I use a MacBook and either the software did not work well with a Mac, or it did not work well with the Gen6 electronics.

Eventually I found Pronterface, and it works very well and is constantly being updated.

The other problem I had was getting the machine calibrated. Originally, I started with Skeinforge 41, I got it calibrated fairly well, but was not happy with the consistency of the prints.

When in doubt pay attention to the details!

My original setup used PLA bushings and whilst watching closely I noticed that sometimes the Y axis would wobble up and down as it moved, I also noticed that the extruder nozzle would oscillate from side to side as the carriage moved up and down. Between them it meant that the layers would be uneven and inconsistent.

Once you have a machine that prints something reasonably well you are laughing! Time to use the machine to print modifications for itself.

Stage 1 was to print a new set of Y-Carriage LM8UU bearing holders.

Fitting these sorted the Y-axis wobble.

The next problem was caused by the Z axis drive shaft couplers. When I built the machine I did not understand the reason why the Z drive stepper motors were only taped into position, so I bolted them down. A mistake. A couple of months later one of the Z axis drive couplings snapped. The very helpful and generous nophead sent me a new one.

The reason that the stepper motors should not be bolted down is because the drive coupling does not hold the stepper motor shaft and the Z-drive shaft in perfect alignment, this means that as the motor turns the shaft wobbles. If you bolt the motor down this places the couplings under stress, hence they broke.

On my machine when I removed the bolts and taped the motors down this misalignment was transferred to the lower end of the z-drive shaft which traced out an elliptical orbit as the Z-axis moved up and down, hence the wobble.

I solved this by printing and fitting a Prusa Z Rod Constraint to the bottom end of each Z-axis drive shaft.

Now the machine was starting to print well and consistently.

During this process I designed and printed a mount and fan holder for my Gen6 electronics, the original mount consisted of some cardboard and duct tape.

Along the way Alessandro Ranellucci released Slic3r to the world. Once I started using it I was hooked. It is much easier to setup and use than either Skeinforge or SFact and the prints are just as good, if not better, without a lot of tweaking.

It is very much a work in progress, there are constant updated to it. It is a lot less forgiving with badly created STL files, but Alessandro is constantly improving that, and so far I have not had to drop back to using SF.

Recently Josef Prusa released V2 of his design. Whilst the machine was working well there were a few things that I wanted to change. Occasionally I had problems with my X-carriage tilting. Again I had the original designs PLA bearing, so now I printed the new Frost/Prusa V2 X-carriage that used L8MUU bearings.

When I fitted my original hotend I had to make a plate and fit it in place, not easy to change, and I wanted to be able to take it off to mount my Pen Holder etc. So I printed the new modified Wade extruder too.

I have missed out the testing and trials of various firmware and driver software, but now I have standardised on this tool chain:

OpenSCAD, or Alibre Express, for the design stage.
Slic3r for the slicing.
Pronterface to control the machine.
Marlin Beta for the firmware.

It works well and I am very happy with it.

My next modification will be to add an adjustable Z-axis opto holder. I find that trying to manually move the opto up and down by 0.1mm, or less, is pretty hard, so I have a design created that will allow adjustment using a screw, now to print it and try it out.

Monday, 26 December 2011

Pen Holder for Prusa Version 2

The original Pen holder I printed only had the STL files available on Thingiverse, so I used those as a base for reworking the design in OpenSCAD. Along the way I made a few changes to make using the pen holder easier.

a) Redesigned the top bracket so that there are channels to guide the rubber bands and a loop to hold them captive. Now if there is a balance problem, or when you take the pen out the bracket does not try to orbit the room.

b) Made the holes for the elastic band capture bolts on the top further away from the body, this made it easier to install the elastic bands.

c) Made the bottom tube longer, this should solve my problem of the pen tip being too close to the X-carriage.

d) Turned the top plate to bottom plate mounting holes through 90 degrees and sliced the sides off the circle, this allows me to mount it on my Greg Frost X-Carriage.

The next thing is to actually try to print my redesigned board with it.

The OpenSCAD and STL files are available here Thingiverse Files

Monday, 19 December 2011

Pen Holder for Prusa

Having got the software to work the next job was to print a Pen Holder, I chose the Mendel Pen Holder on

I needed to modify it a bit. I have a Greg Frost LM8UU based X-Carriage and the holder as printed did not fit through the mounting hole. So I turned it 90 degrees, drilled new mounting holes in the top and trimmed the sides. It fitted.

Then having taken off my extruder and fitted it to the carriage I ran into some problems.

The distance from the pen tip to the X-Carriage support bars is very small. When the pen is at X0 it:

1) Ran into my Z-Axis stabilisers.
2) Stretched the wires for the Z-Endstop.
3) When printing the pen is so close to the board that it is very difficult to see what is going on.

So I took off my stabilisers, and move the electronics so the wires were not so taut.

Then I did a test print of an expansion board I am working on for my Gen6 electronics.

The test print worked, i.e. Ink was put on the board in the correct places, but the board was a disaster, but not because of the pen holder. :(

When I drew the board I used the standard Eagle router and DRC files. With the pen I had that meant the wires were too close and overlapped.

New tasks:

a) Redesign the board to use thicker wires that do not pass between the pins.
b) Redesign the pen holder to move the tip of the pen down more.

More post on this subject to follow :)

Sunday, 18 December 2011

hpgl2gcode - Gcode converter for PCBs

For a while I have wanted to print / mill pcbs on my Prusa. Not being sure if my machine, or my Dremel look-a-like would be up to to actually milling boards I decided to try the drawing options first.

This introduced a problem of it's own: the standard Reprap Host software does not seem to work with the Marlin firmware in my machine, and that has the conversion software for converting from Eagle's gerber format to something that can be used on the Reprap.

Looking at the available output formats in Eagle I found the HPGL driver, this is a language for driving XY plotters, and they are a bit like a Reprap :)

So I set about writing a quick utility that translates the HPGL output from the Eagle Cam Job into Gcode that can be understood by my Prusa.

Enter hpgl2gcode.

The source and instructions can be found here

You create your layout in Eagle, then use the cam job suppiled in the source to output your top and bottom files, this gives you a and a file. You run these through hpgl2gcode and this creates your and files. Use something like Pronterface to send these to your Reprap fitted with a pen holder and a suitable pen and it draws your board.

So far it is fairly experimental and as I have not printed a Pen Holder yet, I have not actually drawn a board, although I have sent the gcodes to the machine and it seems to be doing what I expect. Board printing will follow fairly soon!