Another BF-30MVL CNC Conversion

The victim a HBM BF-30MVL bench top vertical mill.  

Updated: NOV 26 2023.  Note: some downloadable files at the bottom of this page.
My take on the BF-30MVL CNC conversion is based on my needs and thoughts about how to do this and by no means the right way or the only way! This chinese machine is sold under many differnt names and various motor and drive trains like Precision Mathews PM-30MVL, Bernardo BF30 Super, NOVA BF30VL, TOPTECH BF30, Weiss WM32 / 30,  Warco WM18 and many other brandings.

The HBM BF-30MVL variant was chosen because of its 30 Taper spindle that I prefer over the R8 ot MT3 that most other variations are equiped with.

-Timing belts and Ballscrews-

I want a build that are space saving so thats why I chose belt driven ballscrews, a nice things with belts is that I also easy can change the gearing if I find needs or performance benefits to do so.

-AC servos-

From China, today chinese made and branded AC servos are in the same price group as closed loop steppersmotors today so I went for servos they are covinient since they do not require aditional power supply to run (I know that is also true with some stepper drivers). 

-Controller board and software-

 early in my planning stage decided to go for LinuxCNC that is part from a great software under constant development also suported by a friendly and helpfull group of people in the LinuxCNC Forum.
I first started out with an old PC with parallel port and a cheap breakeout board from the same country that I got my servos from but as soon as I found the great LinuxCNC compatible range of MESA Ethernet controller boards I was sold, they are not exactly cheap but not either expensive more like worth it.

-My pile of parts and software-

  • Servo motors for XYZ:  90ST-M02430 and A1-SVD 15 Servo drivers
  • Ball screws: DFU2005 for XY and DFU 2505 for Z
  • Belt drives for motor to ballscrew coupling XY 30T-30T HDT5M-25
  • Belt drive for motor to ball screw coupling and reduction on Z   30T-60T HDT5M-25
  • Old HP G3 Mini Core i5 mini PC   +  MESA  7i76e 
  • Some NC PNP prox sensors and other small electric and electronic parts (Might mention them later).

I have completed the motor/ballscrew installation on my X-Y and Z-axis and have also got the MESA card to talk to the chinese servo drives, this is looking promising. Y-axis servo motor transmission/coupling BF-30MVL mill

I decided to use belt transmission for AC servo to ball screw coupling to make my build more compact (having a limited space in my micro workshop).
This i how the Y-axis looks the X-axis is very similar but the Z-axis is geared down 2:1 to give it some more tourqe to lift the head. 25mm wide 5M belts are used for minimum backlash (close to zero). will post some more images later.

3D Printed Homing/Limit switch holders

As you might know 3D printed CNC machines like PrintCNC have proven to actually work, however in this project I have choosen to use 3D printed parts only in parts that will live a life without mechanical stress.

Easy to adjust proximity sensor mount is such a part Printed in ASA-CF with M5 grub screws to lock the sensor in to possition and holders themselves attached to the machine with machine screws and double sided mounting tape (I´m satis with X-axis but will redesign Z and Y).

-Right now I have made some progress in my cnc conversion project. the following steps are done-

  • Ball screws installed (Dual nut screws).
  • Base cut to extend Y-travel with about 50mm
  • AC servo motors installed and tuned.
  • Limit/homing switches istalled and rigged.
  • Controll box is up and running but need some finnishing work and a cover.
  • Tramming done. 

-In the piplane to do-

  • Fabricate and install a milling head spacer for better Y-axis work space for vices.
  • AC Servo spindle motor with belt drive to be contructed and installed (1.8KW AC servo motor and drive on order, multi rib belts will be turned in house.
  • Pneumatic actuated power drawbar with spring washers (will use threaded draw bar).
  • AC servo motor and the pneumatic power drawbar might tempt me to try a new ATC concept ;)
  • Tidy up installation and make some covers for the belt drives and servo motors.
  • Chip controll and mist lube/cooling.
  • Tool setter to be installed.
  • 3D probe to be installed.
  • Covers and chip controll solution not yet designed.

-Some movies-

-Image gallery-

-Links and downloads-

English translation of Chinese A1-SVD Series Servo drivers user manual


My LinuxCNC config files for the HBM BF-30MVL “not really stock”.


-Aditional notes and comments-

According the A1-SVD 15 drives, I currently use the following settings including and part from delivery stock.

  • Fn009 – 230 (Supply Voltage).
  • Pn001 – Motor type (Check motor manual) I use “7” for my 750W AC servo motor.
  • Pn002 – 2 (Step/Dir mode) 
  • Pn003 – 1 (Motor enable) enabled at power up.
  • Pn098 – Encoder gearing, i use 5 for X and Y and 10 for Z since I use belt gearing 2:1 for Z.

If you find something strange in those settings or my LinuxCNC config I would love to hear from you!