Proxxon MF 70 and LinuxCNC – Part VIII

This last Thursday, I went ahead and got a second hand HP DC7700 (with KB and mouse, but without a monitor) for about $100, along with a cheap and suitable external video card (since LinuxCNC is supposed to fail with on-board video cards) with VGA, DVI, and HDMI outputs.

I installed LinuxCNC from a flash drive (the other one was too old to boot from USB!), and tested the on-board and the external video cards for latency. They were pretty similar, around 15000ns. But since my LCD monitor only has VGA, and I don’t want to take no chances, I use the external one. I use soft OpenGL drivers, and all is well. Good to use a 2GHz Core II Duo with 2GB RAM. No more flickering AXIS and late opening windows! I did a test cut, and all was fine.

True Holes
Aimed for 6 mm holes, not bad at all.

The next day Pamir came, and we worked on some cuts, and a dust collector system from noon ’til night. I also gave up on the rig for the lighting and the dust collector hose, and resorted to Redneck methods (for now). The light fit nicely in one of the spare holes of the Y-axis stepper motor. I also changed the Z-axis motor for it was heating up extremely (full coil bipolar driving a unipolar motor is not worth it), and I was losing steps. Luckily I found the exact same motor I used for the x and y-axes at my friend’s shop.

Pamir’s CAD/CAM work was well done. Yet, as the program was about to cut around the part, (I dunno what caused it, I remember accidentally hitting the keyboard with my elbow) it started from a wrong spot and hit the clamps, breaking the bit. This was red acrylic, clear acrylic I got melts like a candle, and I still don’t know what makes them different. Our second cut was a failure, because the bit was not a perfect cylinder, but a slightly tapered one. So the holes were ok (6 mm) at one side, but not ok on the other (about 5.5 mm). Our final cut was on red acrylic again. This time all was good until the program started cutting the frame, the final line went through the holes, and the last three rows were offset irregularly, due to some reason still unknown to us.

Fail Cuts
3 similar cuts, 3 different failures.

And here’s a video of the failing cuts on acrylic. 6 x 1 mm + 1 x 0.5mm scalar feeds on 2 x 3 mm red acrylic stacked together.

As the cuts took about an hour each, we worked on a dust collector system in the mean time. We had to improvise as always. I had some 1.5 mm PVC hose, and managed to make an adapter from a garlic crusher (easy screw on lid for portability) and a syringe. All fit snuggly, and I sealed them with black hot glue. An old vacuum cleaner was also laying around to be utilized for this purpose. We mounted the hose around the spindle with cable ties and sticky cable tie holders.

Hose Adapter
Hose adapter improvised from a garlic crusher and a syringe.
Hose Adapter
Final form of the hose adapter.

The dust collector works nicely, yet I still need to build a good jig for it, and add a mouth part for better and wider angle dust collection.

Today, I worked on the sound absorbing part of the box I was planning for.  Since most of the sound was coming from the hole (for the spindle) on the top of the box, I decided to cover it with a sound absorbing box. I made the box out of 4 mm plywood, using PVA glue and small nails. Later on, I covered the inside with sound absorbing sponge (foam?).  Finally I covered the side walls and the ceiling of the box with more sponge. The result is much better than before, but not as good as I expected it to be. I know nothing about this subject anyway. The distance is probably too short.

Clamp Box
Box glued with PVA.
Glue Box
Box after gluing and clamping. The Bosch GOP 250 CE did it all.
Sound Absorber
Box filled with sound absorbing sponges for the top of the main box, where the spindle motor screams through.
Box Mounted
Sound absorbing box mounted on the main box.
Sound Sponge
Sound absorbing sponges mounted on some of the the inside walls with 3M Super 77.

I still need to install some sort of clamp to hold the acrylic door closed (worst sound barrier). I’ll probably work on that tomorrow. Here’s what the setup looks like right now.

Latest look of the setup.


Proxxon MF 70 and LinuxCNC – Part VII

I added a power switch and an emergency button on the electric box, and wrapped the motor cables with plastic cable spirals (or whatever they are called) last week.

Electric Box
Electric box with power switch and emergency button.
Inside of the electric box at its final  stage.
Inside of the electric box at its final stage.

This last Friday and Saturday Pamir and I worked on some CAD/CAM designs for a future project, and  tried to cut what we actually wanted to cut, using OpenSCAD, OpenSCAM, DXF2GCODE, and PyCAM. We also started working on a closed box for the system, which I worked on further on Sunday. Here’s his final work, which we didn’t get to cut since the new HDD died right before, and he fixed his design after he got home.

Part designed by Pamir on OpenSCAD, QCAD, and DXF2GCODE. Shot on my actual PC with LinuxCNC installed along with other OS.
Part designed by Pamir on OpenSCAD, QCAD, and DXF2GCODE. Shot on my actual PC with LinuxCNC installed along with other OS.
From another angle, the simulation continues. The cut is for two pieces stacked together, to be joined (we need to design and cut dovetails) side by side later.

We still need to figure out the details of Tool Compensation in the various open source software we use, to be able to decently cut what we actually want to cut. Modifying the tool table in AXIS helped a lot, by the way.

Pamir working with DXF2GCODE. My ever handy Bosch GOP 250 CE Professional is laying in the back.

Here’s a cut we did on a small piece of 3mm red acrylic before learning about tool compensation. The circles were 1.5 mm larger than what we (0.75mm radius tool compensation was needed) actually wanted, so the material between them is also 1.5 mm less than the 2 mm we had aimed for.

When the CNC PC’s HDD failed, we started working on a box for the system. A small coffee table looked suitable for our needs, and it saved us from building the box from scratch. It wasn’t tall enough to cover the Z-axis assembly, though.

Box Front
The first stages of the box. 3mm acrylic lid with brass hinges. The back is made of 4mm plywood screwed on the sides and bottom.
Box Rear
The back of the box with the cable holes cut out. One will also be used for the dust-collector hose.

I was going to spray paint the plywood parts to black, then I got lazy, and decided black duct tape (living in Alabama for 6.5 years finally pays off) would be tougher against wear and easier to apply. I later on added a small back door for easy access to the power switch and the speed pot of the MF 70.

Half duct taped box with more plywood added.

I cut a small piece of plywood for the back door, and used duct tape as its hinge, as I duct taped the rest of the box including the edges for insulation. I also added rubber hose windows insulators to the frame for the acrylic door.

Box Progress
Box after the duct tape attack. With the lid limiter attached.
Box Back
Same from the back.
Limiter Close
Limiter screwed  to a short piece of  wooden cylinder of which sanded flat side is glued to the lid.

This week I’ll be working on a lighting system and fasteners for the acrylic door to hold it tight against the insulators. I have a 5 day break coming this Friday, we’ll be working hard in the workshop ;)

Proxxon MF 70 and LinuxCNC – Part VI

I’ve been playing around with FreeCAD (learning with video tutorials on YouTube), PyCAM, LinuxCNC Image to Gcode, OpenSCAM,  etc. We were planning on routing a 2D shape, and I thought Image to G Code would be helpful. I was wrong. It’s actually for milling contours (constant stepover?), but not for routing a stencil.

Image to G Code on LinuxCNC 2.6

Since it was taking ages to process an image on the CNC PC (800 MHz P III + 512 MB RAM + Trident Blade 3D 8MB), I did all this on my actual desktop PC (i5 2.8GHz overclocked to 3.8 GHz + 1600 Ghz 8 GB RAM + NVIDIA GTX 660 Ti) running LinuxCNC 2.6 from a USB disk. So I could try the image with different parameters quickly. Well, Max Baser Jittter was so much better (around 5000 ns) than it is on the CNC PC (around 50000 ns), while everything was running so smoothly as opposed to the flickering windows and late responses of the CNC PC. So, I’m not really sure about those “a faster PC doesn’t necessarily mean you’ll get faster RTAI response” comments.

OpenSCAM in action. The result is not really what I need.
OpenSCAM in action. The result is not really what I need.

I’m thinking about installing LinuxCNC 2.6 on a different partition on my actual desktop PC just for the kicks.

Still no real work on the CNC. I’ll either shallow carve this shape above in brass for a test, or create a DXF to route it in 2D.


Proxxon MF 70 and LinuxCNC – Part V

I got a 20GB 7200RPM IBM PATA HDD last week, and it works good. I also upgraded the ram to 512MB. I successfully installed LinuxCNC 2.6 this time, but the Maximum Base Jitter was too high. Eventually, I installed 2.5, and all is fine now. Friday, my friend Pamir and I managed to do out first cut. I think it turned out alright, considering we didn’t have a suitable bit, and it was out first cut. Motors are 1/8 stepping.

We used a Dremel Tungsten Carbide Ball-end Cutter. We just scaled the program to fit it on a piece of wood, lowered the feed speed to %30 or so, and set the spindle speed to the lowest. Since the ball end mill was 2mm, it was a pretty rough cut for this scale. Since it was a one pass cut (a drop cut instead of a contour cut), and our cutter could not travel deep, we had to rescale the Z axis to allow for cuts 2mm deep max. Drivers set to 1/8 step with no limit on motor current or decay. Crappy video again thanks to shooting accidentally in high speed (low res, dark picture, no sound). I changed video speed to normal and faster on ocassion.

1mm,2mm, wood, metal, etc.

I got some nice bits the day after, yet I still don’t have a nice shape to mill. Gotta learn CAD/CAM software (for Linux) so I can start creating my own parts. I also got some  air-drying clay. Hopefuly, I’ll try all that tomorrow. The computer was acting weird the last time I checked, so much for free stuff…

Proxxon MF 70 and LinuxCNC – Part IV

Great, the 40 GB Seagate Barracuda PATA HDD is dead. I had too many bad sectors while I was trying to install LinuxCNC, anyway. I’ll have to get another PATA HDD and some more RAM’s tomorrow.

In the meantime, I opened one of the unused HY-DIV168N-3.5A Stepper Motor Drivers to figure out the capacitor value at pin 7 (Cosc) of the TB6560AHQ in it.


It is not a 1000 pF like it is in those Blue PCB single board drivers, as stated in a text here, but it’s a 330 pF. This should give us 130 Khz oscillating frequency, and a minimum clock pulse width of 30 us, according to the datasheet.

Where the 330pF capacitor is…

In the Stepper Configuration Wizard…

Step Time: How long the step pulse is on in nano seconds (Mark of Pulse Width -> 30 us = 30000 ns).

Step Space: Minimum time between step pulses in nano seconds (Space of Pulse Width or Period -> 1000000 / 130000 = 7692.31 ns).

6N137 optocoupler delay is negligible, if we round up the Step Space to 7800 ns. I don’t know if I need the speed gained (500 ns to 50 ns) by changing the diodes to ultra-fast ones yet (also stated in the same text). Let’s roll that up to 8500 ns.

I have no idea about Direction Hold or Direction Setup values, some people set it to 20000.

I’ll test all of these with my DSO tomorrow.

I may change that to 100pf for 3 times the speed, but the datasheet states that it was not tested in production. Still a future plan for experimental purposes, maybe then it could be worth changing the diodes, too.

Table travel values should be…

X = 134 mm
Y = 48 mm (crap)
Z = 80 mm

I have been using the drivers at half step setting. I think, I may move up to 1/16 with these settings, probably after setting motor speeds at the axis configuration screens.

I’ll have to shop for some milling bits and brass on Saturday :)

Proxxon MF 70 and LinuxCNC – Part III

Finally tested the setup last night with temporary motor cable connections.

The X axis motor has problems at 2:34 and 3:10 (does anyone know the reason, check out the motor sound going crazy), and the table wobbles a bit. I didn’t exceed the table limits. Haven’t touched the gibs yet, and forgot to oil the X axis of this long forgotten mill. I’m also suspicious about the motor timings I made up.

I should get the timing capacitor value on the PCB, and refer to the TB6560 datasheet (page 10).

I think I’ll finalize the hardware tonight and start working on the calibration, etc. for a first run with the spindle on.

Proxxon MF 70 and LinuxCNC – Part II

I didn’t much today, other than adding a DB-25 extension cable to connect the interface card to the outside of the box, and mounting the female connectors of the motors on the box and wiring them.

Four Pin
Four-pin female (not really) motor connectors.

The DB-25 extension was somehow faulty (chopped off in the picture), since when I tested the whole system with LinuxCNC to observe the LED’s on the drivers and the interface board, the result was a failure (only one LED blinking weirdly). When I directly connected the cable to the box, all was fine :)

Inside of the electric box after all the cabling is finished.
Motor connectors.
Motor connectors.

Tomorrow I’ll finish the cables for the stepper motors, and fix the DB-25 extension cable.


Proxxon MF 70 and LinuxCNC – Part I

Today my friend Onur and I started working on our little CNC project. Since he currently has no use for it, Onur offered to leave his MF 70 in my workshop indefinetely, so we can convert it to a small CNC and use it for manufacturing small parts .

MF 70 with motors mounted, standing on the electric box which will house the electronics.

I have been planning on converting my Optimum BF20L to CNC, but I think I will start with Onur’s MF 70 to gain some experience first.

I had a couple of HY-DIV168N-3.5A Two Phase Hybrid Stepper Motor Drivers, and a couple of NEMA 23 stepper motors (salvaged from old printers, details later) laying around, and later on I got a HY-JK02-M 5-axis Interface Board from Hong Kong for $15.

I found an old PC (PIII 800Mhz with 128MB of RAM, and a Trident Blade 3D Video Card) for free, and added a second hand 17″ LCD monitor, 256MB more RAM, and a wireless KB/Mouse set. Installing LinuxCNC 2.6 from a DVD was problematic, so I installed LinuxCNC 2.5 from a CD (I think the 40GB HDD is a bit too old).

I also purchased a CNC-made aluminum mounting kit, with polyamide couplings, for the motors for $49. We mounted the motors today. I mounted the interface board, stepper drivers, and the 24V 8.3A switching power supply to the metal plate of an electric box I had purchased for another project. I will connect cables with male connectors to the motors, and mount the female connectors on the box for easy operation later.

Interface board, stepper drivers, 24V to 5V DC-DC converter, and PSU.

After a long installation, the distribution was working fine. However, when I started LinuxCNC, it crashed immediately. I did a little research, and the solution is below worked.

in /etc/default/grub, change



GRUB_CMDLINE_LINUX_DEFAULT="quiet splash lapic"


I also changed the Driver section for my Trident Blade 3D video card to Driver “vesa” in /etc/X11/xorg.conf, which I had to create manually with sudo Xorg -configure, after stopping gdm from another terminal.  Maybe it  wasn’t really necessary, I will test and see soon.

Mach 3? No, thanks :)
Mach 3? No, thanks ;)

Next step is connecting the motors and configuring LinuxCNC.

Ubuntu’da Kolay Turkcell Vinn Kullanımı

Internet’te bu konuda bir sürü sorun ve çözüm gördüm ama Türkçe olarak bu yolu deneyen görmedim. Bendeki ZTE MF667 USB 3.5G modemi bilgisayar direk Kablolu Bağlantı olarak görüyor. nm-tool gibi bir programla bir terminal emülatöründen (terminator favorimdir) arabirimlere bakın. Orada  Driver: cdc_ether satırını içeren cihazın Gateway adresini (mesela Firefox’a falan yazın. Doğrudan Windows Vınn yazılımında gördüğünüz Vınn ekranına gideceksiniz. Girin oraya PIN kodunuzu ve bağlanın. Sayfayı kapasanız da hattasınız. Daha sonra aynı adresten tekrar girip bağlantıyı kesebilirsiniz.

Ubuntu 14.04


Now I must sleep…

I will be posting my thoughts, projects, experiences and dreams here. In Turkish and in English…

The time is nigh…


This blog is stored on a VPS in NY, running Ubuntu 12.04 LTS.