Friday 30 August 2013

Cheap and cheerful home-made swivel knife

I have recently taken up leatherwork and am enjoying it a lot: it's something I can do away from the computer :)

I made a swivel knife. It's a specialist leatherworking tool, able to make controlled curves for patterns.
A quick how-to follows - more a list of what I did,  rather than the best way to do it.

Parts needed:
  • Scrap wood - preferably tight-grained hardwood (mine is from an old chopping board)
  • Craft knife from the pound shop. Plastic or aluminium should both work
  • Ball-bearing. I have several from an old 3d printer (624?) Internal diameter is 4mm, outside 12.9mm? They are the ones commonly used for RC cars.
  • M4 25mm machine screw
Remove the blade and put it somewhere safe
Mark out a small block (50mm). My scrap was 20mm x 34mm. Cut off.
Mark centre and find a screwdriver. Select a drill just larger than the screwdriver tip. Note the drill can be smaller than the screw/bolt head.
Drill right through the block (onto scrap wood!) and check the screwdriver fits.
Drill about 10mm in with a large drill - 12mm if possible. I only had 10mm.
I didn't have a large enough drill, but I found a countersink bit which was about 12.5mm - perfect. I wanted a *slightly* smaller hole than the bearing.
I now have a stepped hole - about 5mm down at 12.5mm, another few mm at 10mm, and the rest at 5mm
I then drew on a rough finger guard shape, and cut out with junior hacksaw and chisels.
*improvised lathe* I mounted it on a masonry drill to smooth off the rough edges. Handily, the shank of the masonry drill was the same as the hole size, but the thread was slightly larger. This allowed me to securely screw the block onto the drill thread. *wear eye protection and mount drill in vice*. I could then use a chisel and sandpaper to smooth the block. This would be easier on a lathe, or could be skipped entirely with enough time and hand sanding.
Smoothed block. Continue sanding and tidying. I used sandpaper wrapped around a chisel handle to smooth the finger guard.
Finished sanding/got bored. Could also add surface finish/dye/varnish at this point.
Hold the knife and block, and estimate how much height you need. Mark the knife handle and cut off with hacksaw.
Drill a 3mm diameter 20mm deep hole in the end of the handle. Mounting the work in the chuck and the drill in the vice will help centre the hole and keep it true down the centre - the rotation of the work (like it does in a lathe) will push the drill to centre rather than trying to aim the drill straight. Mark the centre and start the drill slowly, and allow it to find the centre.
Sand the end, and *ever so slightly* countersink or ream the entrance to the hole - just barely. this will help you tap the hole to M4 thread. Note, if you don't have a tap handy, you can use a bolt or machine screw - just wind in carefully and it will cut it's own thread. one turn in, half turn back, repeat. This works easily in plastic but will probably work in aluminium too.
**Place the bolt into the bearing BEFORE inserting bearing into hole** Gently 'encourage' the bearing into the hole - it should fit tightly, but use care not to split your nice block. You can sand the inside of the hole to widen a little, and you can soak the wood in water to soften the edges. I got a nice tight fit on the first try, but if you have problems you can tap it in with a hammer, or use some glue if too loose.
Now you can use the screwdriver through your hole to screw the machine screw into your tapped hole.
Reassemble the blade. I have some flatter scalpel blades that I modified to fit: a strip of duck tape helped match the original 'craft' blade width. Untitled
Test cuts - seems to work OK :). Needs a bit of sharpening and polishing but does the job!

Tuesday 12 February 2013

Hello World!

I bought a cheap display and some arduino nano pro clones from It's very nice, and looks great -good contrast and 128x64 pixels (for £8.48!), and the nanos were £5 each (I bought 3!).

Using some google-fu, I tracked down the library and connections that made it work:
the u8GLIB library
a very handy post
and the datasheet
I ended up with the following wiring:
E = ESCLK = SCK = PB5 = D13
R/W = RW = MOSI = PB3 = D11
RST = PB0 = D8
RS = a0 = d1 = Data/Register select = D9

(in the picture I also linked PSB to GND (to select serial input). Don't know if this is required.

and wiring
BLA = A = 1.2k resistor to 5v
VCC = Vcc = 5v

I then uploaded the 'Hello World' example from the u8glib, and uncommented and changed the header line from the defaults:

U8GLIB_ST7920_128X64 u8g(13, 11, 9, U8G_PIN_NONE);                
         // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17

I also had not used the external serial driver before. The 'pro does not have a USB in : it needs a separate USB-Serial/TTL interface.
I found the MAC driver from the manufacturers site (CP2102), and a very handy tip on this blog - the 'RST' pin on the end is to reset the *CP2102* chip and therefore does nothing if you connect it to the arduino reset line. It won't upload anything, as it needs to be reset to upload. (pressing reset manually just after pressing the 'upload' button works.
Instead, you need to connect an extra pin to the 'DTR' line and take that to the arduino reset:

It then works great! ( select the SLAB serial port, and the 'arduino pro mini (5v, 16Mhz)w ATmega328 ).

Lastly, I also grabbed some great one-wire temperature sensors (data sheet). The arduino library is Dallas Temperature control library (and you also need to install the oneWire lib), but you just connect the DS18B20 to +5v, and GND, and then the middle wire to a data line, and put a biggish resistor between data and 5v (I had some 4k7 ohms lying about so used them).  It gives you a clear digital readout (in degrees C) - no conversion, calibration, thermistor curves or anything!  it seems to react quickly and should be great.

I've got this vague plan about building a temperature controller for some sous vide cooking (water bath)... at least I have the bits now!

Thursday 7 February 2013

Normal service will be resumed as soon as possible

Finally realised I haven't posted for over a year. OK, so it's no use waiting until things are 'finished' - because, like most projects, I never quite 'finish' things and end up abandoning them.

I am going to try and post some of my half-complete projects and ideas so that if anyone else wants to, they can re-use stuff.

Coming soon... (hopefully)

Sunday 20 November 2011

Hand-drill geared extruder

I managed to break my original BfB extruder :-(. The acrylic had flexed too many times, and the top retaining bracket broke in half. The screw thread now carefully unscrews itself rather than driving the filament down :-(

So, time to update to a modern wade-style or similar extruder, using a hobbled bolt. Of course, I could have bought the gear drives from the many RepRap shops or ebay, but that's too easy :-).
Instead, I found an old cheap hand drill, with similar sized gearing. It turned out to be on an 8mm shaft.
I added a 5mm to 8mm sleeve to a stepper motor (made from a sex bolt)  and drilled and tapped a 4mm hole for a grub screw - I could then attach the smaller gear to the stepper shaft. The larger gear I cut a small square indent to match a carriage bolt, and cut some teeth into the threads using a dremmel cutting disc. A plastic cutting board and an Ikea bracket made a mount, and three skate bearings (8mm 908) made up a channel for the filament.

It's not pretty, and it's heavier than ABS gearing, but it grips the filament like anything - I can't stop it using my full strength grip, and really forces the filament through. 

I'm currently building a heater block and nozzle to add on the bottom. Hopefully this 'RepStrapStruder' will last long enough for me to print a proper wade's extruder. 

Thursday 10 November 2011

New Megas

My new Mega boards arrived - all good.
Simple tests worked fine, but after uploading the RepRap host software at 115200 Baud, had problems connecting and even uploading new sketches. I had to press reset and upload almost straightaway, otherwise the upload failed.

A bit of research suggested an updated Atmega 8u2 firmware (the usb chip). (also the new boards appear as /dev/ttyASM0 instead of /dev/ttyUSB0 - update to the latest RXTX libraries.

Borrowed from a forum post by stimmer on this thread

I saw that a new Uno firmware had been uploaded to the Arduino repository. I've been trying it out, it seems pretty good so far, tools menu and serial monitor are much more reliable and it only failed to program once. (Although the Duemilanove was never perfect either)

I got the firmware from here: on the right firmware, then click raw, then save it)

Reflashing the firmware on the 8u2 is a little tricky. Don't try this unless you are prepared to risk bricking your board completely!

You need the dfu-programmer utility:
sudo apt-get install dfu-programmer

Then follow the instructions here to get the Uno into DFU mode:

Then to flash the firmware, do this:
sudo dfu-programmer at90usb82 erase
sudo dfu-programmer at90usb82 flash --debug 1 Arduino-usbserial-uno.hex
sudo dfu-programmer at90usb82 reset

Finally unplug the USB plug, wait a few seconds, plug back in.

Also, a good page on the arduino site

Note, that to put reset the Mega 8u2 chip, the reset pins are a bit different: I found instructions for resetting the mega chip.

My mega's accepted the sketches without problem, and both replicatorG and RepRap host connect well at 115200 baud.

Might help if you're getting unreliable high-speed connections to the arduino and you've got a recent board (/dev/ttyACM0)

Tuesday 1 November 2011

Arduino Mega board is toast!

I have managed to blow my Arduino mega board.
It stopped uploading, and there was a 'hot' smell - never a good sign. Unplugging everything, the arduino chip was very hot indeed.

After waiting for it to cool, I found that plugging it into the USB socket - nothing else - started to make the mega chip warm up, and it got too hot to touch. :-(
Another circuit board is sacrificed to the gods of knowledge and experience.

Tracing things back, I wondered how it happened. My setup hadn't changed, I'd just been running heater and extruder tests - the steppers weren't plugged in, so it was unlikely to be them.

Looking at the my heater board again, I realised that the output pin of the arduino was connected straight to ground through the MOSFET gate - no current limiting resistor. A bit of digging uncovered a possible problem - the design I'd used as a base (RepRap Gen 2/3) had the same circuit, but used current limiting Mosfets. I'd upgraded mine to larger ones, but checking the data sheet, the Mosfet gate acts a bit like a capacitor. Charging the gate could be done slow(with a resistor) or fast. A current of 2A was given as an example to charge the gate in 14nS.

Oh. The arduino pins can only handle 100mA or so. Still, it only does that when it's switched on or off, so long as I wasn't switching it on and off thousands of times a second - like using PWM.... Damn.

Looking back, it's surprising that it coped as well as it did - it should have gone up in smoke straightaway! I'm impressed it worked at all  - it coped for several hours of testing. Each time it switched, the arduino pin was directly connected to ground - drawing a big current for a few mS, then when it switched off, the mosfet gate would discharge itself straight through the arduinio pin to ground.

I have now redesigned my heater / Mosfet board to incorporate a 560ohm current limiting resistor (between the arduino pin and the mosfet gate), and also a pull-down 100k resistor between the Mosfet gate and ground. It should limit the current to 90mA, and make sure the gates switch off if the board isn't connected.

I've also ordered a couple of new Ardunios - hopefully I'll be more careful with these...

Sunday 30 October 2011


I've been using the laser toner method for a while to make my PCBs. It seems to work well for me, I print out the PCBs using a  Samsung ML2010 laser printer, tape them to a cleaned copper board, then run them through a laminator twice. The heat fuses the toner to the board, and as long as your paper isn't too sticky, you can peel it straight off and etch.
Sticker backing PCB
I've been using this successfully, even for larger boards like my Arduino mega shield. The key variable seems to be the paper. I have the best results by cutting a square of sticker backing paper, using the stickers to stick it to the centre of a normal sheet of paper, then printing the PCB from Eagle. This works well, but I do need a sheet of stickers (like the A4 laser printing stickers) every time.

Other people have reported success with tracing paper, or magazine paper. I grabbed some tracing paper (two types, Goldline 63gsm and Goldline 112gsm) paper and gave it a try. It printed well, but didn't stick too well - you need to soak the paper to remove it, and most of my toner came off with the paper. Maybe my laminator wasn't hot enough :-(.

So, I'd run out of labels, my tracing paper experiments weren't working well - and then my eye fell on a discarded Farnell packing bill on my table. The Farnell packing receipts are printed on some sort of fan-fold sticker paper so that the address labels can be removed and stuck to the box. The whole bill is basically one big sticker! I cut a square, stuck it to a sheet of paper using the sticker I'd just removed, and ran it through the printer.
Farnell label

Perfect result, first time!  The toner transferred very well to the board:
Farnell stickers work well

Etched farnell board - success

The finished board (a SMT version of the tiny thermistor circuit) looks great and from the detail (on the lettering) this would work with much finer traces!

I'll start saving up all my old shipping receipts instead of buying printer labels now....

P.S. top tip - after the stickers have been 'laminated' and cooled, if you gently rub the back of the sticker with your thumb, a small 'bubble' forms that gently lifts the sticker backing away from the toner bit by bit. I get almost 100% adhesion with this technique.