Once upon a time...

Once upon a time...
Christmas 2016

Sunday, 25 March 2012

Calibration continued

Having completed the mechanical calibration yesterday, it's time to move onto extruder/print calibration.

SIDEBAR: I suddenly realised I hadn't revisited the max values on all my axes after calibration, so here goes.  The approach used was to home all axes and then to move each axis in turn using the various increments until I felt comfortable that the maximum had been reached.  The values noted are:

  • X-axis - 170
  • Y-axis - 170
  • Z-axis - 100
I then changed the values in the configuration.h and reloaded the firmware.


Back to Slic3r
Having been reading quite a bit, I quite like the Slic3r is Nicer approach documented by RichRap, so will be following this.  He doesn't actually document this as a calibration technique, but for print improvement.  Well, why not do it in one.  I will be trying to combine his methods with the standard calibration (i.e. the objects chosen to print while following his article will be based on the calibration objects where feasible).  So, here are the steps followed:

Getting Slic3r running
  1. Download the latest version from the website. (at the time of writing this is v0.7.1) 
  2. Unzip to a convenient location (no setup required)
  3. You can run the slic3r.exe directly from the folder, but I prefer creating a shortcut on my Quick Launch bar as follows:
    1. Rt-Click the slic3r.exe file and drag it onto the Quick Launch bar.  When you let go, choose Create shortcut here from the context menu.
  4. Try it out.  You should get something like this:
Extruder Calibration
Having already done a mechanical calibration on the extruder, I decided to still follow RichRap's advice method and use this as the time to double check the values. I followed these steps:

  • Switch on the extruder heater
  • Mark the filament (a piece of tape will do)
  • Zero your measuring tool (or take a starting reading)
  • Make sure the heater is up to temperature (if not, wait!!)
  • Extrude 30mm, 5mm at a time with small pauses.  This is to ensure you aren't extruding too quickly.
    • Note the reading: 31.83
    • Measure again: 31.51
    • And a 3rd time for good measure: 31.10
    • Average: 31.48
    • New Steps = 608.519*30/31.48 = 579.91
  • If the results mean you need to change your config, then upload these changes using Arduino.
    • You should repeat the test to make sure it is now correct.
  • Don't forget to remove the tape from the filament.
Slic3r Print Settings Tab
I won't repeat the contents of RichRap's article, but will focus on the changes I make to the default settings.  These are:
  • Transform
    • no changes
  • Accuracy
    • Layer height - changed to 0.3mm based on his recommendation for a 0.5mm nozzle.
  • Skirt
    • no changes
  • Print Settings
    • Fill density - changed to 25% as I'll be testing things out and based on RichRap's article, this is a good general purpose value.
    • This version of Slic3r now has a Generate support material setting.
      • This looks like a useful feature to experiment with, even if using the same extruder.  I'll have a go sometime, but for now I left it switched off.
  • Retraction
    • Speed - I changed this to 16mm/s as this is what RichRap used with Sprinter firmware.  I may need to revisit this in the future.
Slic3r Printer and Filament Tab
  • Printer
    • Print center - 85,85
  • Filament (for the temperatures I couldn't use RichRap's suggestions as he uses PLA)
    • Diameter - 2.85
    • Temperature - 230  (based on this article)
    • First layer temperature - 215 (based on the same article as above)
    • Bed Temperature - 110 (based on the setting in Pronterface)
    • First layer bed temperature - 140 (based on Nophead's settings)
  • Print Speed
    • Perimeters - 65 (based on RichRap's "Normal" printing setting)
    • Small perimeters - 55
    • Infill - 80
    • Solid infill - 70
    • Bridges - 50 (RichRap uses between 35 & 70, so  I'll start in the middle - sort of)
  • Other speed settings
    • Travel - 150 (RichRap reckons a Prusa could get up to 200, mine is a Sells with a heavier X-axis, so I'll start with 150)
    • Bottom layer speed ratio - 0.35 (as per RichRap's article)
Slic3r Start/End GCODE
I decided to copy RichRap's Start/End GCODE settings as they make sense to me (this is copied directly from his article).
Here is the Start Gcode I use - (Suitable for a Prusa with heated bed)

G28                 ; home all axes
G92 E0 ;reset extruder
G1 E3 F1200 ;Prime extruder 3mm
G1 E2 F1200 ;retract extruder 1mm
G92 E0 ;reset extruder

And my End Gcode - 

G1 X12.0 F4000       ; home (almost) x - stops extruder crashing into frame if at very top of Z height
G1 Y170 F4000        ; move the print to the front.
M104 S0                   ; make sure the extuder is turned off.
M140 S0                   ; make sure the bed is turned off.
M84                          ; shut down motors.

So, let's print!
I downloaded WickedAndy's polycup as per RichRap's article and sliced it.  The resulting code said it would take around an hour to print, so I thought I would start with something a bit smaller.  I simply setting Slic3r to scale the object to 50% and tried again.  Result! ETA 12 minutes.

So I thought I would switch on the heated bed and hot end to get them warmed up first, but noted that now my heated bed isn't heating!!!

So, 2 steps forward, 1 step back.

  • First thing, test the output voltage. Check!
  • Next, check the PCB wiring. Aah!
    • Seems one of the soldered joints gave in.  Wonder if my solder is up to the job?
    • Anyway, re-soldered and let's try again.
Reload the settings in Slic3r (as I was messing with them), then try again. The settings of importance that I tweaked from my standard settings above are:
  • Temperatures:
    • Hot End - 230,230
    • Bed - 65,65 (it was taking ages to heat up and I got tired of waiting)
  • Scale - 0.5
  • Perimeters - 2
  • Fill - concentric
Here are some pictures of my very first print.  The cup is about 40mm diameter at it's widest.  The quality isn't fantastic (especially at the bottom), but considering the following I am very happy:
  • It's my first print, with no tweaking of the settings;
  • I scaled the item down the speed it up.  I don't think this item is really suitable for scaling like this as it makes the wall extremely thin;
  • I didn't wait for the bed to heat up properly.
That's me done for the day, I'm off to watch the Malaysian F1. (Having said that, I might print the odd other item in the interim)

Saturday, 24 March 2012

Calibration Time

End Stops

As mentioned, I need to get on with calibration of the Mendel, first the first step being sorting out the end stops.
With the change to Sanguinolo from TechZone Gen3, my end stops have changed from Opto's to limit switches.  This means I don't have the correct mountings.  I had a look at the Prusa Mendel assembly guide provided by Gary Hodgson.  From this I could see where and how they mounted the limit switches.  As I didn't have these printed parts, I quickly cut and drilled these pieces of Dibond shown below.  Fitting these would allow the switches to move if bumped hard so one of the first things to print will be these endstop holders (possibly this one by triffid_hunter).

Calibration
Starting with the calibration page on the wiki, I changed the order of the steps a bit as I still don't have some glass to print on, and I want to first do the mechanical calibration )i.e. by measurement, then the "print" calibration.

All these steps should be executed with a finger on the power button in order to cut power if it looks like things are going wrong!

Also, I accept no responsibility if you follow my steps and something goes wrong.  This is what I did, it may work for you, but use your common sense PLEASE!!!
  1. Checking the motors (based on steps 5-15) listed on the "Prusa Mendel Assembly" wiki page (starting with "Get a piece of paper")
    1. Instead of paper, I used this blog article.  Wrote down "X,Y,Z,E".
    2. Fired up Pronterface
    3. Standing in front of the machine.
    4. X-axis
      1. Move forward 10mm.  Bah!! it moved left.  It's meant to move right, so note "REV"
    5. Y-axis
      1. Move forward 10mm. Yay!! it moved towards me.  Note "OK"
    6. Z-axis
      1. Move up 10 mm.  Yay!! it moved up.  Note "OK"
    7. E-axis
      1. Extrude 5 mm.  Yay!! it moved towards the nozzle.  Note "OK"
  2. Checking the endstops
    1. Fire up Pronterface and connect to the printer
    2. As before, standing in front of the machine.
    3. X-axis
      1. Ensure the axis is about in the middle of it's travel (for safety).
      2. Keep a finger on the limit switch and select x-home (press the switch after movement to get it to stop)
      3. Did the X-axis move towards the limit switch? 
        1. No!! - BUT, I was expected this as the axis is reversed (see above, and I haven't fixed this yet!)
      4. Did pressing the switch stop the movement? 
        1. Yes!!
    4. Y-axis
      1. Ensure the axis is about in the middle of it's travel (for safety).
      2. Keep a finger on the limit switch and select x-home (press the switch after movement to get it to stop)
      3. Did the X-axis move towards the limit switch? 
        1. Yes!!
      4. Did pressing the switch stop the movement? 
        1. Yes!!
    5. Z-axis
      1. Ensure the axis is about in the middle of it's travel (for safety).
      2. Keep a finger on the limit switch and select x-home (press the switch after movement to get it to stop)
      3. Did the X-axis move towards the limit switch? 
        1. Yes!!
      4. Did pressing the switch stop the movement? 
        1. Yes!!
  3. Ok, so I need to fix the X-Axis.  I'm not going to swap the wires, I'm going to change the firmware.  So off to load up the firmware and software on my PC.  (See separate blog article here). 
    1. As part of setting up the software I made the change to INVERT_X_DIR, so we can now repeat steps 1 & 2 above.
    2. All axes and end stops are now working correctly.
  4. Z-axis end stop position
    1. I read somewhere that for a 0.5mm nozzle the Z-axis home should be about 2 paper thicknesses from the bed.  I set it up like that with X & Y at 100mm.  I will refine this after the "levelling the bed" calibration.
  5. Stepper motor currents
    1. I didn't see anything about tweaking the currents on my stepper drivers, but remembered that during my trials and tribulations with the TechZone electronics & Scrapstrap I had to tweak the pots on the drivers to get the best out of the motors (I was using old scrap motors).  I found this forum post which made me realise I might not have to do anything if my steppers are behaving themselves.
    2. Anyway, I went to measure the voltages as suggested by Nophead, and found that mine are all 0.6V (or thereabouts).  As he suggests 0.4V to get 1A, this means mine are currently putting out around 1.5A (if I have my formula right), so I think I will tweak them down a bit.
    3. This becomes a hit and miss affair with making a small change, measuring, change again, measure again until you get there.  I started with one, figure I could work out approximately how many turns (or fractions of a turn) I had to make to get to the correct value.
    4. Starting values as follows:
      1. X-axis
        1. 0.600
      2. Y-axis
        1. 0.617
      3. Z-axis
        1. 0.650
      4. E-axis
        1. 0.620
    5. Results as follows:
      1. X-axis
        1. 0.403
      2. Y-axis
        1. 0.404
      3. Z-axis
        1. 0.409
      4. E-axis
        1. 0.402
    6. As I'd now messed with things I thought I would do a quick run through the axes to make sure all are still working.
      1. I noticed an issue with the Z-axis.  One of the threaded rods was misaligned.  I rectified this by adjusting the brackets.
  6. Levelling the bed
    1. I homed the machine (making sure Z was high).  I then tweaked Z at the home position by adjusting the bed screw until it passed my Go-NoGo test using 2 and 3 sheets of paper respectively.  The was then repeated for the other 3 corners as below:
      1. Next up, I raised the Z-axis and moved X across the bed, taking note how far I could move for max X (170mm - uncalibrated).
        1. Now tweak the Z-axis home at this position by adjusting the bed screw until it passes the Go-NoGo test. (No adjustment needed).
      2. Next up, raise Z and move to max Y (170mm - uncalibrated)
        1. Now tweak the Z-axis home at this position by adjusting the bed screw until it passes the Go-NoGo test. 
      3. Last corner, raise Z and home X
        1. Now tweak the Z-axis home at this position by adjusting the bed screw until it passes the Go-NoGo test.
    2. Now, as changing one corner might affect another, re-test all the corners. (If any are wrong, adjust as per step one and keep looping till you're done)
      1. I got pretty darn close, but started to get bored as the corners do all impact each other.  So I left at that for now.
  7. Calibrating distance.   I have a digital vernier so I used this and the following steps (all of these with Z high up):
    1. X-axis
      1. Home the X-axis.
      2. Measure between to known points, one on the frame, one on the X-carriage (I zero'd my vernier, but you can make a note and then subtract this value later).
      3. Tell the software to move the X-axis 100mm.
      4. Measure the distance again.  99.82mm (not too bad - which it should be for a standard Mendel X-axis, but as printed gears and hardware can vary I feel it's best to tweak this)
        1. I decided to measure this a few times to be sure it's as accurate as I can get it.
          1. 99.82
          2. 99.88
          3. 99.81
          4. Average: 99.8367
      5. Calculate new Steps/mm figure for configuration.h file as follows:
        1. NewSteps = OldSteps*100/measured value
        2. NewSteps = 80*100/99.8367 = 80.131
    2. Y-axis (pretty much same as for X)
      1. Home the Y-axis. (My vernier is only 150mm, so I found starting at around 12mm, un-calibrated, I could find a good measuring point.
      2. Measure between to known points, one on the frame, one on the bede (I zero'd my vernier, but you can make a note and then subtract this value later).
      3. Tell the software to move the Y-axis 100mm.
      4. Measure the distance again. (multiple times and average)
        1. 99.20
        2. 99.20
        3. 99.62
        4. Average: 99.34
      5. Calculate new Steps/mm figure for configuration.h file as follows:
        1. NewSteps = OldSteps*100/measured value
        2. NewSteps = 80*100/99.34 = 80.531 (I kept the decimals on the average on my calculator)
    3. Z-axis
      1. I raised the Z-axis about halfway and then found a measuring point.
      2. Tell the software to move the Z-axis down 10mm.
      3. Measure the distance again. (multiple times and average)
        1. 3.81
        2. 3.71
        3. 3.74
        4. 3.76
        5. 3.78
        6. Average: 3.76
      4. Calculate new Steps/mm figure for configuration.h file as follows:
        1. NewSteps = OldSteps*10/measured value
        2. NewSteps = 3200/1.25*10/3.76 = 6808.511 (I kept the decimals on the average on my calculator)
      5. At first I was worried about the discrepancy, then I realised that the Prusa Mendel Z-axis is driven directly, whereas the Sells Mendel (which I have) has pulleys in the mix as well.
    4. E-axis
      1. As I have my hot end fitted, and don't want to kill it, I decided to test with the hot end running.
      2. Mark the filament so you can measure it.
      3. Tell the software to Extrude 30 mm, and then measure again.
      4. Measure the distance again. (multiple times and average)
        1. 34.82
        2. 34.25
        3. 34.46
        4. Average: 34.51
      5. Calculate new Steps/mm figure for configuration.h file as follows:
        1. NewSteps = OldSteps*30/measured value
        2. NewSteps = 700*30/34.51= 608.519 (I kept the decimals on the average on my calculator)
      6. We got some interesting shapes, see pictures below.
    5. I updated the configuration.h file with these values and re-flashed the firmware.
      1. Open sketchbook in Arduino (having made sure to shutdown Pronterface first)
      2. Ctrl-R to Verify/Compile
      3. Ctrl-U to Upload to I/O Board
      4. Shutdown Arduino and continue.
    6. After the new configuration was loaded I did some quick tests to see whether the calibration had helped.  (My 10 year came in to help which was great as he could control the software while I took the measurements.)
      1. We had to tweak them a number of times, but got them to within the measuring tolerance of the tools being used.
      2. NEW! I thought I would record the final values here (for my own purposes if no-one elses)
        1. X-axis = 80.262
        2. Y-axis = 80.445
        3. Z-axis = 6723.349
        4. E-axis = 608.519
OK, let's call it a night there.  The hardware is calibrated.  

Next step is preparing the bed.  Seems like ABS Juice - Acetone & ABS mixed is the way to go, although I do also have quite a bit of Kapton tape, just in case!!

I will be using RichRap's Slic3r is Nicer article as my printing calibration.  See you soon.


    Sanguinololu Sprinter Firmware

    These are the steps I followed to be able to load the Sprinter firmware onto my hardware.

    Sanguino for windows (link)
    1. Install Arduino software (I got version 1.0)  (But this doesn't work for Sprinter yet (see below), so I also got 0023)
      1. Which means download it and unzip to a suitable folder.  Then we skip to Sanguino steps
    2. Download latest Sanguino version from Google code. (I got version 0023r3)
    3. Copy /sanguino into arduino-xxxx/hardware
      1. So I ended up with arduino-1.0/hardware/Sanguino
    4. Start Arduino
      1. I put a shortcut on my Quick Launch bar
    5. Choose Sanguino from the Tools -> Board menu.
    6. Choose Com x from Tools -> Serial Port menu (where x is your printer com port.  Mine is 6)
    The above should now put me back to where I was when installing firmware on the TechZone Gen 3 stuff back in 2010.

    The one thing I know I have to setup is the Thermistors.  It's great to see that a number of the thermistors have now been loaded into the firmware config by default so you simply need select the correct one. (Thanks again to Think3dPrint3d)

    //// Thermistor settings:
    // 1 is 100k thermistor
    // 2 is 200k thermistor
    // 3 is mendel-parts thermistor
    // 4 is 10k thermistor
    // 5 is ParCan supplied 104GT-2 100K
    // 6 is EPCOS 100k
    // 7 is 100k Honeywell thermistor 135-104LAG-J01

    My heated bed uses the EPCOS 100k (#6) and I have a ParCan HotEnd so I presume #5 (he didn't say).

    I'll tweak these settings so long and use this as a test as I know I will need to make changes for the motors (having started this sidebar due to discovering my X-axis isn't performing as expected.

    Basic Configuration Steps
    1. Open Arduino software
    2. Load sprinter.pde sketchbook (BTW: On saving, Arduino now changes the extension from .pde to .ino)
    3. Open configuration.h and read through, tweaking settings as you go.  These are the ones I changed.
      1. MOTHERBOARD = 62
      2. THERMISTORHEATER = 5
      3. THERMISTORBED = 6
      4. I have a Metric Sells Mendel (not Prusa) with Wade extruder, so leaving the defaults in for Calibration until I get around to actual calibration.
      5. INVERT_X_DIR= true
      6. *_MAX_LENGTH I need to figure these out during calibration.  Leaving as default at the moment.
    4. Save changes
    5. Choose Sketch -> Verify/Compile. Any Errors?
      1. Yes!! Sprinter.cpp:63:21: error: Arduino.h: No such file or directory
      2. So off to figure this one out.
        1. I found someone listing the same error in a comment  on Dust's Reprap Blog.  The answer is apparently to use Arduino 0022 as the firmware won't currently compile on v1.0.
        2. So, off to get 0022 (I saw 0023, so thought I would try that - sucker for punishment).
        3. Copy the Sanguino folder (which includes the edited values above) into the hardware folder.
          1. I actually moved the folder as I didn't want to confuse myself later with which was the correct one.
          2. I also deleted my Arduino 1.0 shortcut and replaced it with the new one.
        4. Select the appropriate board and com port as mentioned above.  It remembered the settings, so probably stored as part of the sketchbook.
        5. Now repeat Steps 1,2,4 & 5 above till we have a success.
      3. Yay!! Done compiling!!!
    6. Switch on and connect to the printer (USB)
    7. Select File -> Upload to I/O Board.
      1. Yay!! Done uploading!!!
      2. So Arduino 0023 compiles and uploads Sprinter.
    That's all for the firmware loading post.  I will now be able continue with the calibration.



    Friday, 23 March 2012

    Some shopping, some bodge reversing

    I took the day off work today as I needed to attend a private appointment this morning, so I figured I would use the rest of the day to progress with the Mendel.

    Shopping
    I stopped by the shops and managed to accumulate a number of goodies:

    • Sandbar resistors to reverse the bodge on the power supply.
    • Some connecting posts to make the power supply more universal
    • I picked up a new multimeter which includes a temperature sensor.  (I figured this might be handy and they were on special).
    • For the print bed I managed to locate a heat resistant glass cutting board which is 189mm x 288mm.  As the bed is only really constrained in the one direction I figured this was perfect, so I bought a spare.  The to side has a texture, but the bottom is smooth, so I'll simply use it upside down (See pictures).
    • The Veho USB microscope I ordered also arrived. (I'll play with that later).
    Reversing the bodge
    I spent most of the afternoon turning the old PC power supply I am using into a universal 12V power supply.  This involved fitting a switch salvaged off an old plan printer, some connecting pins, and a sandbar resistor to act as a latching load.  The article I based this on mentioned cable tying the resistor to the case as a heat sink, but as I have a number of old CPU heatsinks and fans lying around I fitted that instead.  Probably overkill, but better safe than sorry.  The only mistake I made is that the fan is noisy and I didn't test it before soldering it in.  Doh!!

    Tuesday, 20 March 2012

    Bodge Alert, but it melts plastic!!!

    I ended the last post saying that I needed to try out the heating.  Of course this wasn't going to be something I leave for very long.

    I am using an old lab power supply that I was given by someone on FreeCycle a while back.  I didn't expect it to make the grade as the ammeter only goes to 4 amps.  I did try it however, but no such luck.  I then went to dig out the various old PC power supplies I had stashed away in the garage and found this handy article on the web.

    My power supplies are all AT, not ATX, but I grabbed the one with the highest power rating and decided to try it out.  Reading the article I realised that I needed a decent load resistor which I couldn't find on any of the scrap electronics boards (mostly out of old printers or PCs) I have (I'm not very good at electronics so didn't know what I could use instead.).

    I decided to try the supply without a load resistor, but that didn't work, so I then opted for the other trick mentioned in the article which talks about using an automotive bulb.  I happened to have an old 2CV headlight lying around looking for a job, so roped it in.  As you will see from the pictures, this really is a bodge.  Don't do as I do! (i.e. Kids, don't try this at home).

    I will tidy this all up later, but I couldn't wait to see if it worked.  What I can tell is this.  My LEDs on the heated bed PCB don't work, but the bed does heat up.  Also, the extruder works.  My first bit of melted plastic is pictured below.  Now I really am motivated to sort this out.  I have Friday afternoon off, so hope to be printing by the end of the weekend!!!

    Sunday, 18 March 2012

    Extruder Mounting

    The first think I noted was that the design of the extruder means that I have should have fitted it to the carriage before final assembly.  I also think I need to figure out the hot end wiring at the same time, else I'll be tearing it down again.

    PCB Heated Bed Mk2
    I started with the bed.  I had bought a load of DiBond FR as it is meant to be fire resistant, so should handle the heat better.  While reading up on how to fit the PCB heated bed, it also became apparent that the purging notch is no longer needed for the bed.  Great, that means my DiBond can be used without cutting, although it does make it larger than the PCB/heated area.

    I also noted some people commenting about using some insualtion under the PCB.  Prusa himself refers to air being a better insulator than wood in his post on mounting the PCB.  I happened to have some heat resistant fibreglass matting from a plan printer that I dismantled (I had kept all the nichrome as well as this was before the days of PCB & resistor based heaters).  So my final solution is going to be the following sandwich:

    • DiBond FR base
    • Fibreglass matting (8mm)
    • PCB (resistor side down to get concave warping)
    • Heat resistant glass (bulldog clipped to the rest)
    To make up for the 8mm height loss  fibreglass matting, I am going to trim down the printed springs I have (well actually, I'm slipping them over the side of the DiBond, see the pictures).  I've read they break anyway and people have moved on to using real springs. Heck, come to think of it, if I mount the PCB on floating bolts then the fibreglass matting will provide some spring anyway (but I'm not taking that risk right now).

    In order to use the centre hole for the thermistor, I drilled a corresponding hole in the bed plate and cut a hole in the fibreglass matting.

    The PCB board and thermistor is now wired up and the bed mounted as per the pictures below.
    ParCan Hot End

    Next up, mounting the ParCan MK2 Hot End.  As I mentioned above, I had to strip down the extruder to mount it to the X-carriage, but that went quickly as I knew what I was doing.  I cut a small notch to clear one of the long bolts, that being easier than cutting the bolt.  I then reassembled the whole lot and started on wiring the hot end.  It went really easily thanks to ParCan supplying some bootlace ferrules with his kit, so that the wires are simply crimped.  I then insulated them with some Kapton tape.

    I did however note that this hot end is very close to the x-carriage.  Looking at the later Prusa Mendel carriages with the LM8UU bearings, they are MUCH slimmer which would result in the hot end being further from the plastic.  I expect to get some heat damage on the carriage, so this might have to be the first area to change.  Pictures below!!

    The next job will be to locate a suitable piece of glass for the bed.  I know a lot of people are using normal glass, but I prefer going with the safer option (as many others are) of using heat resistant glass.  Glass place mats or pot stands should work, so I'll be keeping an eye out for something suitable.  If anyone out there knows where I can get a 20cm x 20cm glass pot stand, please let me know.

    However, in the interim, I am sure I'll be trying out the heating and starting to calibrate the machine.

    Sanguinololu Setup

    According to the supplier "Think3DPrint3D", my electronics was already flashed with Sprinter by Kliment and they user Kliment's Printrun/Pronterface to control it all, so after connecting it should just run.  Great!!!

    I went ahead and installed the pre-compiled version of Pronterface.  When that didn't work I moved on to the latest version from GitHub (linked above).  I wasn't really thinking straight, as the fact that Pronterface was only showing Com 1 should have immediately pointed me at the problem.

    What he hadn't accounted for (not his fault) is that I had already messed up my PC while trying to get the Tech Zone stuff working.  The device wasn't being recognised by my PC.  After some googling, forum reading, etc, I figured out I needed to remove and upgrade the FTDI drivers (I'm running XP, so it's a pain, but this doc on the FTDI website helps).

    So, now, I have the latest Pronterface, so let's see if this all works?

    Brilliant, it connected, so on the testing of the motors.  These are all working brilliantly, however I noted that I have wired the limit switches incorrectly, not finding clear instructions elsewhere I followed a random article which appears to have gotten it wrong.  I need to go and do some reading, but I think I read somewhere that this can be swapped in the firmware, it's either that or redo the wiring.

    I'll need to think about this and decide on the best approach.  They are currently wired to normally open, whereas I guess normally closed would make more sense as the accidental disconnection of the limit switch would cause the machine to stop, thinking it is home (which appears the safer option).

    I will need to sort out alternate wiring for the extruder motor as the wires are too short.  I am thinking of following nophead's DB9 connector idea.

    Next step on the electronics front will be to calibrate the system.  Before that however I'm going to focus on some remaining hardware work.  Namely mounting the bed and the extruder.