» projects » misc

Machine Tools


Grizzly G8689 Mini Milling Machine with some modifications. They don't come with the alien sticker -- normally in that spot is a stupid lexan shield in front of the tool and a sticker printed with nuggets of wisdom like "stop the mill before trying to change tools". This unit also sports an aftermarket Belt Drive Conversion Kit from LMS (also, miraculously, missing its lexan cover) and a digital readout I built myself.


when building mechanical devices there is really no substitute for being able to machine custom parts. sometimes you can find what you want at a hardware store, or more likely mcmaster carr's, but sometimes what you need is completely unique -- and that is where machine tools get really useful. with a lathe and a vertical mill you can make nearly any mechanical part you need. obviously, china-made grizzly mini machines are nowhere near as nice as bridgeport mills or south bend lathes, but if you live in nyc and your shop is also your bedroom, they're better than nothing.


Detail of DRO display.


Grizzly G8688 7" x 12" Mini Metal Lathe This never really got all the cool toys like the mill did.

In Use


five-way bolt circles are no big deal with a digital readout.



These were some parts for Devilcat II.



the machines, an imported asian mini lathe and milling machine. They arrived covered in red goo and the mill table was disassembled for cleaning. many of the internal edges were sanded smooth. the goo was removed and replaced with lithium grease (leadscrews) and oil (ways).

after using the mill for a bit it quickly became apparent that it is pretty hard to cut accurately because not only do you have to do all the math mod 0.0625 but you have to remember which direction the leadscrew is pushing since there is so much backlash. a scale on each axis solves both these problems.


12" digital scale mounted on x-axis. the mounts included didn't fit; the bottom part of the mounting bracket has been replaced by a 1"x1/4" aluminum bar with the end milled flat. the readout is attached to the saddle with a brass strap bent 90.


8" digital scale on y-axis. a 6" would probably have sufficed. the mounts are reversed. again, 1"x1/16" brass is used to connect the readout to the saddle. 1+1/4" wide strap would probably work better, though, since the two holes in the back of the scale are 20mm apart.


12" vertical digital scale on z-axis. original scale mounts attached directly to the side of the existing scale with 1/4"x1" aluminum backplates. it fits perfectly under the torsion spring.

instead of bothering to find the matching connectors i just soldered wires to the contacts. i found that if the scale isn't grounded it malfunctions, so the shield is connected to the brass strap which is connected to the metal backplate of the readout.

update: only the 8" scale had the scale electrically isolated. the 12" horizontal has the scale connected to v+. (?) as such, plugging in both caused a power supply short and neither worked. fixed by connecting each of the scales to v+.


scale -> rs232 converter with atmel avr. scales are powered by a resistor bridge off +5v. lm339 comparators convert 1.5v signals to 5v. 74hct573 input/output latches. ttl logic to detect input change and trigger cpu interrupt. rs-232 output. schematic and source code to follow once i clean them up such as i am no longer embarrased.

decoding three separately clocked synchronous streams is tricky. bit time is 1/80khz = 200 instructions on a 16mhz avr. in the worst case, though, when the scale outputs happen to all be in phase, you only get 1/3 that, or about 66 instructions. minus a few for saving/restoring registers. also, the interrupt handler actually runs twice per input bit because of the positive clock edge. that case is trivial but still costs time. loading / shifting by 1 / storing an int32 costs like 20 instructions. my solution was to have the interrupt handlers write the output on a 64 byte buffer with just one bit per byte. that means it just has to load and store a 1-byte bit count and write 1 byte to the array. 3ms after the last clock pulse another interrupt with lower priority converts the byte array to two int32's.


dro display on computer. now, to find something besides the computer to display the numbers. ideally something cheaper or less prone to being destroyed by swarf.


modified pulley. i started with a 2" xl timing belt pulley, chucked it into my lathe, (carefully and poorly, as is the case with flanged pulleys) and bored it such that it has the same dimensions as the rotating dial, at least to the radius of said dial, which it will replace.

even without having added a "real" display to it the dro has been very helpful in making the parts for the next step: attaching pittman servo motors to each axis.


y-axis servo drive


x-axis servo drive

todo: update, 2006-08-06.
i haven't updated this page in a while. the x & y axis servo mounts are still there but i never got around to adding the z-axis servo. the dro has been quite useful, however - despite never finishing the cnc conversion i have used the mill to manufacture several custom robot parts.

update, 2009-02-13.
replaced digital readout electronics with new improved version. it uses one avr to decode each channel and a fourth to poll them via i2c and update an lcd display. it would probably be possible to do it all with one avr but when you're just building one of something it's easier to just throw $10 of silicon at the problem.


new improved digital readout


© 2000-now