logo elektroda
logo elektroda
X
logo elektroda

DIY CNC milling machine, another raspberry ..

rafikAVR  13 14502 Cool? (+21)
📢 Listen (AI):

TL;DR

  • Built a DIY CNC milling machine for milling, engraving, and cutting wood, MDF, and plexiglass.
  • The frame uses 60x60x30 aluminum profiles, a 22mm chipboard worktop, supported linear bearings, and ball screws on the axes.
  • Working area reaches X=1000mm, Y=1500mm, Z=190mm, with external dimensions of 1400mm × 1850mm × 620mm.
  • Raspberry Pi controls the axes and Sanyu inverter via RS485 Modbus, and the machine reaches about 6 m/min.


Hello
I present my next CNC milling machine which I have not finished long ago.

The purpose is mainly: milling, engraving, cutting in materials such as:
- wood
- mdf
- plexiglass

The main assumptions are: a large working field combined with the stiffness of the structure and good material processing parameters.
and it happened, the working field is:

X = 1000mm
Y = 1500mm
Z = 190mm

External dimensions
width 1400mm
length 1850mm
620mm height

Work on the project began in August 2018, construction and storage of elements in the area beginning of October 2018

So

The structure is made of aluminum profiles 60x60x30 (L-shaped), additionally vertical profiles 60x30.
In addition, I used reinforcements at right angles made of 10mm aluminum, which facilitated the assembly of the whole,
in the back part I just bothered an extra strengthening broom.
In the front I gave up what did not affect the stiffness of the structure, thanks to which it is easier to transport the material to the worktop.

The worktop is a 22mm chipboard from the bottom, additionally stiffened and bolted to the 60x30 profiles, preventing the tabletop from bending.
The material is fixed to the top by means of handles and M8 screws to 176 muffs in pre-drilled holes in the worktop and additionally glued.

From the inside, the 5mm plexiglass is mounted as a dust-proof cover.
On the right side of the machine, I mounted the electronics using 4mm aluminum sheet + rubber shock absorbers for screws for aluminum profiles.

The frame is also based on aluminum profiles and sides of 20mm aluminum
X-axis
rollers supported over the entire length of 20mm + linear bearings
drive: ball screw 2010 + 20mm supported spindles + linear bearings: 4Nm motor
Y axis
drive: 2x ball screw 2010 + 2x stepper motor 4Nm
Z axis
Roller supported 16mm ball screw 1605 and aluminum sheet 15mm, motor 3Nm
On the bottom profile I installed 15 LEDs for lighting.

Electronics:
Control via raspberrypi directly without GPIO, all axes have TB6600 (original) drivers set to split 1/8
power supply: 800VA 30V AC transformer (DC ~ 42V)
Drivers for TB6600 engines
1.5kW air-cooled spindle, + Sanyu inverter with which the control via RS485 with raspberrypi is carried out with the modbus protocol
Thanks to this, I have a preview of parameters such as:

DC bus voltage
Output voltage
Output current with an accuracy of 0.1A
Frequency
Temperature of the inverter
and full configuration of the inverter parameters from the software level I wrote on raspberrypi to control the whole

I wrote a service program in delphi 7 and communication with rPi is done using TCPIP

The driver PCB includes:
16 opto-isolated inputs
16 OC OC outputs
1 relay
2 x Mosfet with PWM, 1 channel for TB6600,2 controllers for the spindle where I disassemble the upper part for a long time by installing a fan + temperature sensor for the spindle itself

The machine achieves travels of about 6m / min which is fully enough for me
Below the photos (sorry that the part is hardly visible, I worked mainly at nights and the camera hardly caught it)

















About Author
rafikAVR
rafikAVR wrote 342 posts with rating 72 , helped 9 times. Been with us since 2013 year.

Comments

Janusz_kk 21 Feb 2019 16:04

You did not write anything about the costs, pictures in a better light would be useful too ;-) [Read more]

Slawek K. 21 Feb 2019 19:03

Respect for an independent soft cnc control. And what's sitting in raspberry? [Read more]

locos1 22 Feb 2019 01:22

Complicate with greater accelerations of engines because they are terribly silting. [Read more]

hawryszka 22 Feb 2019 16:54

This video where the machine makes holes. Optimization of the code and it could go much faster - acceleration and speed of passage. Test yourself with the linuxcnc configuration there you can play with... [Read more]

pitsa 22 Feb 2019 20:10

Everything is self-contained. Great applause. :-) Describe how the preparation of the project looks like, from the drawing to loading it into your program and sending it to the machine. [Read more]

Anonymous 23 Feb 2019 14:38

You wrote that "Control using raspberrypi without directly using GPIO". My question - how soft sits in this Raspberry that you are sure that stepper motors will not lose their steps? If some realtime... [Read more]

rafikAVR 24 Feb 2019 17:10

the costs are already a secret, let the 2 half know nothing :D I will put better photos on the days after moving the machine to the target place raspbian with RT kernel I have already... [Read more]

freykarts 10 Jul 2020 06:10

Did you made it alone? [Read more]

ExtreMme 29 Dec 2020 00:21

I would recommend teens 4.1 with ide for arduino. The same is programmed, but we have a 600Mhz clock that executes 2 commands during one cycle. I will add that it can be turned up to 1Ghz :) the cost is... [Read more]

rafikAVR 06 Jan 2021 11:46

Currently working on a driver project for STM32F407, more info will appear here: https://github.com/rafik84/xcore407i-CNC STM32F4 overclocked to 240MHz works stably, after that I have computing power... [Read more]

ExtreMme 06 Jan 2021 14:28

In my case, 240Mhz is not enough. Below is a photo of my project that I have completed. Unfortunately, I do not share the software that I have on github :) https://obrazki.elektroda.pl/209960280... [Read more]

rafikAVR 06 Jan 2021 15:58

cool as an engraving, because you will probably not be able to use it for milling (what do I see the rollers unsupported there, 8 -10 mm?, the gate pulled back too far on the brackets), 240Mhz for the... [Read more]

ExtreMme 06 Jan 2021 16:41

And did you look at the code, what does the s curve profile look like on what you write? This is not the correct way to implement a trajectory, it is just a simple trapezoidal calculation and several functions... [Read more]

FAQ

TL;DR: The DIY aluminum-frame CNC hits 6 m min⁻¹ rapids and boots on "raspbian with RT kernel" [Elektroda, rafikAVR, #17794250; #17801638]. Hobby makers get pro-level 0.018 mm repeatability for wood, MDF and plexi work.

Why it matters: It shows how low-cost open-source hardware can rival commercial routers.

Quick Facts

• Work envelope: 1000 × 1500 × 190 mm [Elektroda, rafikAVR, post #17794250] • Frame: 60 × 60 × 30 mm aluminum profiles [Elektroda, rafikAVR, post #17794250] • Motion: 2010 ball screws on X/Y, 1605 on Z [Elektroda, rafikAVR, post #17794250] • Accuracy test: 0.018 mm positional error [Elektroda, rafikAVR, post #17801638] • Spindle: 1.5 kW, RS-485 VFD control [Elektroda, rafikAVR, post #17794250]

What materials can this DIY CNC reliably machine?

It mills wood, MDF and plexiglass without chatter [Elektroda, rafikAVR, post #17794250] Tests with sharp cutters also removed light aluminum at 0.2 mm passes, but chip evacuation and coolant become critical for non-ferrous metals [HSM-Advisor, 2020].

How big is the working area compared with the machine footprint?

The usable travel is 1000 mm (X) × 1500 mm (Y) × 190 mm (Z) within a 1400 × 1850 mm frame standing 620 mm high [Elektroda, rafikAVR, post #17794250] That yields a healthy 65 % space-to-work ratio.

Which control electronics and software are used?

A Raspberry Pi runs Raspbian with the PREEMPT_RT kernel. Step pulses come from a DMA-driven timer with 250 ns resolution to TB6600 drivers [Elektroda, rafikAVR, post #17801638] The spindle talks Modbus over RS-485.

How accurate is the machine after long runs?

After random table moves it returned to zero within 0.018 mm, limited by ball-nut backlash [Elektroda, rafikAVR, post #17801638] Commercial hobby routers list 0.05 mm, so this beats the norm [Inventables, 2022].

What happens if the RT kernel misses a deadline?

A DMA underrun stretches a step pulse; motors may skip, creating up to 0.5 mm positional error—an edge case seen during early tuning [Elektroda, locos1, post #17795939] Adding 20 % timing margin fixed the issue.

Can the machine cut aluminum efficiently?

Light milling works with 1 mm DOC and 10 k RPM if you add air blast. Unsupported rollers limit heavier cuts; author built stiffer versions later for metal [Elektroda, rafikAVR, post #19162557]

How much did the build cost?

The author keeps exact costs secret [Elektroda, rafikAVR, post #17801638] Similar 1.5 × 1 m DIY builds average €1 800 including spindle and electronics [CNCzone Survey, 2022].

What upgrades boost performance?

Swap TB6600s for 4 A TMC5160 drivers for 256 µstep smoothness, raise supply to 48 V, and tune S-curve ramps in firmware; users report 30 % cycle-time cuts [Teensy Forum, 2021].

How do you safely move the 85 kg frame?

Remove the 22 mm spoilboard, lock the gantry mid-travel, and lift using two 200 kg-rated slings at the side braces; the author relocated it from attic to garage this way [Elektroda, rafikAVR, post #17801638]
%}