Question regarding a new Control Board for Marlin FW

I am looking at building my own core XY printer and need a control board that can run Marlin firmware. I’ve searched the InnerTubes quite a bit but haven’t really found anything that is said to be Marlin compatible. If anyone can help in my search I would be truly grateful. A 32 bit system is preferred.


Hi there,

Basically any mainboard can run marlin firmware, the only boards that really jump out at me as not being able to run marlin are the duet boards.

When you are writing the firmware you will have to make sure that you define the pins properly, you can find schematics for most if not all mainboards online which will have the complete pinouts for all the ports.

If you are looking for recommendations I would personally look into some of the SKR boards, they provide very good value and will be very easy to run marlin on. You can also get some that are very powerful while also running extremely quietly, I run skr boards for my voron’s at home along with a variety of other printers, and I haven’t been disappointed yet!

Thanks for the suggestion Matthew. I was kinda looking at a control board that can drive external stepper drivers. Sorta like my homemade CNC machine does. I guess core XY isn’t really needed but the thought perked my interest.

Rather than using Marlin, could I suggest Klipper:

Personally, I find it a lot easier to work with than Marlin (I use it on multiple CoreXY printers, including the Voron 2.4) and great support at:


Thanks mykepredko. What system are you running Klipper on? I had a quick look and it seems to use an RPi processor. Then it mentions OctoPrint. I have no idea what it is.

Sorry for the questions. I can program micro-processors but I have no experience with using them for 3D printing. My CNC runs GRBL firmware.

I recommend that you use a Raspberry Pi 4B - especially if you are just starting out. They’re very easy to get right now and the prices are getting down to where they need to be. You’ll see people using a variety of “hosts” (including other versions of the Raspberry Pi, Raspberry Pi clones, old laptops they’ve loaded Linux on, etc.) instead of the Raspberry Pi 4B but when you’re starting out, I HIGHLY recommend that you don’t do that - you’re just going to add to your workload and you won’t be able to get very specific help when things don’t work.

At the risk of annoying this forum’s hosts, do NOT buy a packaged Klipper solution like the Creality Sonic Pad or a BTT Pad7. These products state that they provide an easy path to working Klipper but they’re basically lying. The problem is they don’t use standard versions of Klipper so while they will work in some instances if you have problems you’re all on your own - the Klipper team will not answer questions and the manufacturers do not provide any kind of acceptable support. 3D Printing Canada does have experience with helping people set up Sonic Pads but they charge for the service.

If you’re just starting out with Raspberry Pis but reasonably technical, I’d recommend something like a basic board:

when I say “reasonably technical”, I’m presuming that you have a few spare parts (USB Keyboard & Mouse, 2A USB power supply and SD Card) lying around and can source what you need, otherwise, you might want to look at one of the “Starter Kits” in the link above. Personally, I think the starter kits are overly expensive for what you get but they’re not terrible starting places if you’re new to Raspberry Pis. There is a ton of excellent online resources for getting a Raspberry Pi working and becoming familiar with it.

I should point that that if you’re going to run Klipper, you’ll need at least a 64GB Micro SD Card. You’ll notice the starter kits have 32GB SD Cards and they’re generally floor sweepings. Buy a name brand (ie Sandisk or Lexar) SD Card from Staples as that should avoid any SD Card issues.

As a final Raspberry Pi requirement, you’re going to need to have a network connection (Ethernet or Wifi) for downloading application code via SSH as well as interfacing to the printer (more on that below). Again, there are excellent online resources to show you how to get things running.

Looking around, I can’t find what I would consider a great (or even good) introduction to Klipper, especially for people who are working with their own printers.

The best way to get Klipper going is to use an app called “KIAUH” which will install Klipper and other utilities for you:

Just looking at the page, I see that there is a brief introduction on how to set up your Raspberry Pi for KIAUH - it’s in no way a special set up but the few words are useful.

Using KIAUH you’re going to install Klipper followed by “Moonraker”. The Klipper application is the interface between the gcode running on the host (Raspberry Pi) and the printer’s main controller board. This means that gcode does not get loaded into the printer’s main controller board but is processed by Klipper in the host and sent as execution commands to the main controller board.

“Moonraker” is the Klipper interface to the front end interface and the front end interface can be a variety of different applications with “Mainsail” being the most popular one. “OctoPrint” is a front end commonly used with Marlin firmware but Mainsail is a) better and b) very will supported and provides you with a nice web interface so you don’t have to worry about an LCD on your printer or having to deal with SD Cards with gcode - you can drag and drop gcode files from the slicer directly into Mainsail and print from there.

Once you have Klipper, Moonraker and Mainsail up and running, you’ll have to Flash your main controller board with the Klipper firmware and set up your connection to your Raspberry Pi host. I highly recommend using a USB interface - for some reason people prefer a serial connection, but that means a custom cable and a lot more fiddling than with USB. USB is more than fast enough for Klipper and easier to set up and is generally more reliable.

I would suggest that you now do a search on “Klipper Introduction” and read a few web sites and watch a few videos. Along with this, when you start working with it, keep to a minimum, just Klipper, Moonraker and Mainsail - you can add displays, cameras, accelerometers and other things later when you’re comfortable.

Sorry for the long winded answer but hopefully I’ve answered some questions and not scared you off.

Personally, I find Klipper to be a lot less clunky and kludgy than Marlin and having everything web based is a real positive.

Well first off let me say Thanks! for the response. Lots of info to take in.

I already have a RPI3 and RPI4 kicking around the shop so that’ll be no issue.

So will Klipper allow me to use external stepper drivers? Eg: TB6600 or will I need a dedicated driver board? I already have these drivers and would like to utilize them.

Thanks again mykepredko.

Short answer is no - you cannot use an external stepper driver board.

You’ll need a “main controller board” that is designed for the task. Along with stepper drivers, it will include hardware for your heated bed, extruder and fans. There are a lot of good and inexpensive 32 bit main controller boards available.

The SKR Mini E3 is a popular choice:

I’m getting the feeling you’ve never worked with 3D printers before - maybe designing your own CoreXY might be a hill to high to start off with. Can I suggest that you find a cheap (used) printer that you can start with to learn about the basics, maybe install Klipper on, before starting a big project?

Not to sound or be rude but I have worked with 3D printers before. I owned a crappy ANET ET4 for about 3 years before ditching it for a Bambu Lab P1S. I’ve also build my own 36"x36" wood CNC machine from scratch.

A picture of the CNC control cabinet. I also have a control panel with an LED screen, various control switches, a control for spindle speed and a Windows 10 Mini PC running Universal Gcode Sender Platform to interface with the GRBL controller.

I’m a retired Industrial Electrician and Electronics Technician so I have a good handle on programming and tech.

Anyway, I’ll have a look at your suggestion on the SKR Mini E3 and see where I can go from there. I’m looking at building a printer with an X-Y size of around 36". I don’t need much height. Maybe 8".

Thanks mykepredko!

1 Like