Building my own controller

I’m considering buying the Machinist version this weekend, but need to know if it’s doable to build my own controller.

I have laying around a couple of PI’s, the latest Pi4 with 4 GB and also one older Pi3, Pi’s own 7" touch screen, usb hard drive for the PI, wireless miniature keyboard, a xPro v3 board and so on.

Can the the software be downloaded for free and installed on a Pi 4 or does it only run on the Pi 3 as 1F uses, or does anyone in here run LinuxCNC on a PI?


Hey Terje,

if you want to build a Onefinity or a Buildbotics Controller (which are both open source software and hardware), a Raspberry Pi is not enough. You need the AVR Mainboard with the stepper drivers, which means you got to make and assemble the pcb (the Onefinity Mainboard gerber file is here and the Buildbotics Mainboard gerber file is here). You can see what the Buildbotics AVR Mainboard looks like here, the Onefinity differs in a few aspects but works in a similar way since it is a hardware and software fork of the Controller.

LinuxCNC runs on Raspberry Pi, yes, you will find it if you search the web. There is a MESA card for the Raspberry Pi, but you can also use other MESA cards like to be found in examples on the web, e.g. here.

The question is, why use the Raspberry Pi. You can use any cheap PC mainboard to build a CNC controller. But if you have a Raspberry Pi lying around, why not.


No that would be to advanced for me to build my own main board, I was just thinking maybe I could at last put my RPI’s to work.

I’ve been reading here for a few days, to sort of figuring out what the main consensus are regarding the 1F controller, and it does more or less seem to me that the poll is divided down the middle. It is off course the easiest approach to buy the 1F controller, but as a retiree I do need a hobby, haha.

What are the current recommendations on the subjekt?

PS: I bought the original Pi touch screen at that time and after less than a year a region of the touch device stopped working. Much too expensive for this poor quality. Also 7 inch is very, very small.

Hey Terje

explore the forum, suggestions vary.

Hey Terje,

It’s hardly imaginable to do it yourself for the price Onefinity offers it.

Yes, that’s the problem, it do vary a lot.

Hey Terje,

I would suggest to take your time and read the reasons why some chose a specific controller and what they reported. If questions remain, you could get in touch with the people who posted about the Acorn, the Masso G3, the DDCS.

The Onefinity without controller is a 3-axis 4-stepper open-loop gantry type CNC machine that could be driven by any controller.

1 Like

Thanks again.
Yes I will take my time, I think I will just order the machine this weekend to get in line, and then I will have 3-5 weeks of exploring the forum, if they will let me come back and order the controller before the machine ships?

Have a good night
00.30 local time here in Norway now

Hey Terje,

I think you can alter your order to include some things before they shipped it.

Good night!

Thanks, yes I would think so

PS: And welcome to the forum!

@Temo, welcome to the forum!
I see you’ve already met @Aiph5u, one of the most helpful members here. His responses are always accurate, complete, and well written.

Congrats on the order! I also have a machinist. I just upgraded my controller earlier this year, and have my old controller for sale HERE. It is “functionally assembled”, meaning that it works as-is, but you would probably want to rebuild it into a larger cabinet. I used this controller for about a year before building my new one. The heart of the controller is a DDCSV3.1 offline controller and a Gecko G540 stepper driver. There hasn’t been much activity on this ad since I put it up, so feel free to shoot me an offer if you’re interested.

Thanks, I will have to come back to you on that, first I think I will try with RPi 4, Mesa and Linux CNC. Are there any good step by step tutorials for this combo?

Hey Terje,

I don’t know, since I have not attempted to run LinuxCNC on a Raspberry Pi yet myself. But I think a good starting point would be here

Thanks, currently looking into it here: General LinuxCNC Questions - LinuxCNC

Hey Terje,

LinuxCNC needs a Real-time operating system because controlling moving machines requires Real-time computing. Unlike told in the outdated LinuxCNC documentation shown below, realtime capability is now to a big part merged into1,2 mainline Linux kernel, however it is usually not activated on most Linux distributions. You need to use a Linux kernel that has CONFIG_PREEMPT_RT enabled when compiled. The Xenomai realtime environment is supported by LinuxCNC, however it will also benefit from a PREEMPT_RT-enabled kernel.

Building LinuxCNC > 2. Supported platforms > 2.1. Realtime

2.1. Realtime

LinuxCNC is a machine tool controller, and it requires a realtime platform to do this job. This version of LinuxCNC supports three realtime platforms


From A Linux kernel with the RTAI patch is available from the Debian archive at See Getting LinuxCNC for installation instructions.


From You will have to compile or obtain a Xenomai kernel yourself.


From A Linux kernel with the Preempt-RT patch is occasionally available from the Debian archive at, and from the wayback machine at

Note: Outdated, the new link to the Linux PREEMPT_RT Homepage is here.

You can get a prebuilt realtime-enabled kernel for Raspberry Pi OS as .deb package here:

However on the LinuxCNC Downloads page there exists an SD card image of a

It contains realtime linux kernel 4.19.71-rt24-v7l+ and LinuxCNC 2.8.1.

If you are still decided to try it with a Raspberry Pi, I would try this first as you have everything in one with it. Note that I would only use a Raspberry Pi 4 board, as the Raspberry Pi received a major redesign with version 4. With earlier versions of the Raspberry Pi board, all of the integrated peripherals are internally connected only to the VideoCore, not the CPU, and are therefore very slow.

Anyway I would always keep in mind that the Raspberry Pi is not really a platform for Realtime Computing (it has no HPET), it is usually better to buy a cheap x86 mainboard and some supported hardware like the MESA boards mentioned above. But I know there are success reports with the Raspberry Pi, however I do not know how the machines the people run with it do perform.

Anyway I think many would appreciate it if you report success. If you succeed, you get a CNC Controller with more capabilities than the Onefinity Controller.

However you may also think of upgrading other things later then, depending on the reliability you want to achieve, like replacing open-loop steppers by closed-loop steppers or servos, and at the first place think of the connectors which are the weak spot on the machine, which will benefit from retrofitting strain relief.

And you should also be sure with selecting the right size of your machine. The price difference between Machinist and Woodworker is not that big ($1,398.25 to $1,564.00 USD as of 2022-09-10).

Good luck!

PS: Just for the record: Recategorizing to Controller > Aftermarket Controllers (Advanced Users only)

1 Like

Thanks for the info
Yes it would be nice with a bigger machine, but aren’t the maschinist a stiffer machine then the woodworker, du to its shorter span on the X-axis?

While the machinist is indeed a stiffer machine by design, either machine is very stout. The first criteria in choosing a machine should be working area requirements and available space for either machine & table. The weak point in either machine is going to be the Z axis. Measurable flex comes primarily from the router mount (necessarily hanging out of the clamp mount), then the thinner Z axis rails.

Getting back to controllers for just a minute: probably the easiest/cheapest path to building your own controller would be a Gecko G540 (or the Leadshine counterpart) and a UCCNC controller that links the DB25 connector on either driver to a USB port on a computer. I used this setup on a micro mill I built a few years ago and it worked quite well. The lower pic shows the back of the machine, and just below the DB9 connectors you can see the DB25 UCCNC dongle with USB port that connects to the computer. It really doesn’t get much simpler or cheaper than this, assuming you have an available PC.

1 Like

Thanks Bill
So what are you currently running your machine off?
Are the Z-axis the same for both machine, and what are the dimensions for the Linear rods/bearing blocks?