The journey starts

Hello All,

Last weekend I saw a sisyphus table in an art gallery. I was totally fascinated. After a few hours of research, here I am. I think I am ready to order the parts and start building my Zenxy.

I am going to order almost all the parts from v1 engineering.

I know I have to use the calculator to compute the work area, x and y rail length, and belt length given the drawing area you want.

Here are a few questions:

  1. What rail size do you recommend for my first built? I saw a post about this but I can’t seem to find it.

  2. What type of rails should I get?

  3. Can you share your favorite shop to get them (I am in the US)?

  4. For the control board I was thinking about getting the SKR PRO1.2 directly from V1 engineering. It comes with the firmware and seems to have good documentation. Do you approve?

  5. Anyone using the SKR PRO1.2: how do you upload files to the controller? I am asking because I’d love to be able to remotely upload files without having to copy them to a SD card. I see it has wifi capabilities, does that mean you can dump the files via ftp or you use some other protocol? Is there any benefit on hooking a raspberry pi to the controller can you even do so?

My idea is to build the zenxy without any frame/table first. Once it works I will add the other parts: sand bed, sand, ball, glass and table frame.

Thank you,

P.S: If you are in South Carolina, send me a msg, I’d love to talk to you.


For the ZenXY V2, the rails are commonly sold as electrical conduit in places like Home Depot. You shouldn’t have any trouble finding it at Lowes or any home improvement center for that matter.

The X axis uses 2 lengths of 1/2" conduit and the Y axis uses 2 lengths of 3/4" conduit. It should be relatively easy to source this almost anywhere in North America, so far as I know. I’m in Canada, and the stuff is readily available here, too.

  1. This is a fairly easy project, just remember that you need enough belt to go around the perimeter of your table twice. Whatever size you choose is probably fine!

  2. See above. The conduit rails are what the printed parts are intended for.

  3. Home Despot is convenient for me for this stuff. I got other stuff from Ali Express or Amazon for pulleys etc, but the V1 shop is very reasonably priced, and I buy from Ryan where possible.

  4. The SKR Pro 1.2 is pretty overkill for this project. I’m using an old RAMPS stack for mine, or the one that I made for a friend used one of Bart Dring’s pen/laser controller boards You’ll also need an ESP32 for this one, but it’s nice for the built-in wifi connectivity.

  5. If you do want the SKR Pro, you might consider one of the EPS01S modules that BigTreeTech sells. There is a port on the board for it, and instructions for how to flash it with it’s own web UI. It has some limitations. For example, with Marlin firmware, I think it still limits you to 8.3 filenames. (Which I found really annoying.) Overall though it’s usable, and cheap. It has a built-in web server, so you connect to it using a web browser, and you can upload your gcode files from there, and start them “printing”. For some more $$$ you can use a Raspberry Pi with either the V1Pi software, or you can look up SandyPi here on the forums, or just shortcut the whole thing and go with an Octoprint setup. (I use a V1Pi setup with my RAMPS stack setup.) Lots of options.

I would build a frame for it. The printed parts need a frame to attach to to make it usable. The good news is that it doesn’t need to me fancy. A piece of plywood is good enough, just cut a hole in it (Or don’t) to have the parts move on their own. I would decide what you’re going to build it into and size it for that though, unless you just want a little “proof of concept” build to make sure that it moves around.

My approach was to choose a table (Ikea LACK coffee table) and a piece of glass (Ikea UTRUSTA 35X57cm glass shelf) and then I sized the machine for that.I cut an appropriate sized hole oin the top of the table, then a slightly larger hole in the bottom. The hole in the bottom held a frame that had an interior dimension the same as the glass that would sit flush with the bottom of the tabletop. The result is that it looks like a standard Ikea product, just… cooler. (This is under $40CAD in parts to start the build, so it’s very economical, and if I were to screw it up… Oh well.)


@supraGuy Thank you so much for taking the time to write such an insightful answer. I appreciate it.

I will reply properly later but, I couldn’t resist, do you have pictures of your build? I’d love to see it.


1 Like

Dan’s build (and a few others, including non zxy builds) are in #zenxy:your-builds-zenxy

This is Dan’s though:

1 Like

I’ll point out a little more clearly that the skr pro does not have wifi. It only has a 8pin port for the esp.

1 Like

The “RaspberryPI → stepper controller → steppers” seems more appealing to me. I like the idea of using a full OS to drive the steppers. It gives you more options.

Once you have the RPI controlling the steppers via GPIO pins, what is the software you use actually “play” files in the table? I could build something like this (for two steppers). The important thing is to be able to control your steppers via GPIO pins right?

The frame part of the project is where I am a bit green. I don’t have experience with this but I am eager to learn.

I will size my Zenxy frame for an Ikea Lack table also, maybe a smaller size.

I tried to put this into words but I think drawing is better. Is this a correct representation of the different elements in the table (I am not drawing the electronics)? This is a drawing looking from the side:

How do you actually make the two holes in the table? Can you elaborate and share what tools I need for this part of the project? Sorry, like I said I am very green on this part.

One more naive question, how do you “clear” the sand between drawings?

Thank you all again!

  1. the idea of the OS is fine, but the pi gpio isn’t the most consistent in terms of timing. A dedicated microcontroller isn’t expensive and it can count steps precisely all day. That is the main reason to use one. It is (by its nature) deterministic. The OS may pause while it checks the wifi status or checks for updates and the microcontroller doesn’t have anything else to do. But controlling via a pi will work, and there have been a few people that have done it this way. Personally, I would use octopi on the pi and any marlin, grbl, or klipper controller to drive the motors from gcode. I use a grbl esp board and I’m happy with it. But YMMV.

  2. The lack table is mostly carboard inside and isn’t as big as it looks. The sundvik is a better choice, IMO. The parts may still stick out the bottom. But at least you have a solid top to screw into:

There are nicer ones (like the hemnes, or the one with a glass top and a big drawer). But I think you should think about the sundvik as a decent option, and anything nicer, you should custom build something. The sundvik is a decent example of simple construction that you can scale to make a custom table.

1 Like

The LACK table is 50mm thick, definitely not enough to “hide” the ZenXY mechanism. the gift table had CNC cut “skirts” around it that extended low enough to keep some small fingers out of the way of the rollers. Mine doesn’t, the mechanism is visible from the side.

For “how to cut the hole” – Well, I used my CNC, of course, but basically it’s a square hole, it wouldn’t have been difficult at all to use any number of tools to cut it. The LACK table is a 3mm hardboard shell with expanded cardboard filler, making it a good example of the strength and rigidity ot torsion boxes. A shallow cut around the perimeter of the hole in the top, and another shallow cut around the perimeter at the bottom, then I used a knife to cut the cardboard inside.

For the SUNDVIK table, this will be different, because the material of the table top is solid pine. It’s a couple inches shorter and narrower than the LACK table, and a bit taller (Making it shorter is easy at least.)

It makes sense.

What would be the reason to have an octopi along side your esp board? Just to be able to flash the esp32 remotely? Do you mind sharing the esp board you use and where you got it from?

I just ordered the printed parts and all the other components. :fire:

I use the grbl esp pen plotter board with tmc drivers. But mine is a few years old now. The new board looks nicer, and the config (using fluidnc) is better in many ways. But someone just complained that there wasn’t a good wiring diagram or config for it. Which is fair criticism. I don’t have the new board, so I can’t fix that.

There isn’t much reason. The way I phrased it was confusing. You can use octopi and any board.

But in a separate thought, I use the grbl esp board. I don’t have a pi connected.

TMC drivers are much quieter than drv drivers. But that limits the boards and firmware a lot.

There are three or so of you building the zenxy and you’re interested in the fluidnc tmc board by Bart. Together, we should be able to get a wiring diagram and config going.

1 Like

Just got my materials today. They shipped super fast. Thank you!

I am so happy I found this community and your company. You all have to very proud.

And thank you so much for the sticker, looks great on my laptop:


That looks niiiiice!

1 Like

Can you tell me how easy it is to change the rods for other sizes once the zenxy is already assembled (and not yet in a table)?

I am asking because I don’t know what table I am going to use yet but I still want to build the whole system to practice. I am thinking I may not even put it on a full table for my first build. I may build it in a “tray” so I can make it more portable. Let me know if you have comments or suggestions for that type of setup.

I am going to home depot tomorrow to get the conduit, for those of you reading this in the future: you want to also get tubing cutters to cut the conduit to the size you need. These pipes (at least in the US) come as 10ft long from what I have seen.

“Our patience will achieve more than our force.”
–Edmund Burke

All the plastic parts need to be reprinted. Unless you mean longer, then, no big deal just longer belt.

I am trying to get a better understanding of the different components (both hardware and software) in the zenxy.

Before I begin, is it mandatory to have the 3d printed pieces and rods attached to your frame/table before you can start setting up the firmware on the controller? I am asking because I think I know how I am going to solve the table side of the project but I haven’t figure out yet the firmware/software side of things. So I’d like to work on the firmware/software first – if possible.

Back to the firmware size of the project…

We start with GCode. Gcode files can be in GRBL or Marlin format. See the wiki for code examples.

We load these Gcodes in the microcontroller (MC). The MC interprets the GCodes and talks to the stepper drivers (we want TMC2209 here because they are silent) to generate the necessary electrical signals for the steppers. The steppers are connected to the belts and move the center of the zenxy to the exact position we want in the plane (based on the original Gcode instruction we are processing). Is this correct?

I can’t find the TMC 2209 anywhere so I am considering getting the SKR PRO1.2. Overkill for this project I know but at least I know is supported by V1. Also I can get it from V1 so I support them. The docs about that board say it comes already with firmware but, don’t you have to recompile/build your firmware specifically for the dimensions of your zenxy? What is the process here for flashing the board?

I read this in the docs:

This is running CoreXY belting and requires homing Y before X, as set in the firmware. All firmware will also need the exact size of your build to be input before compiling as well.

Is CoreXY the name of the firmware or just a component within the firmware?
What does it mean " requires homing Y before X, as set in the firmware", does that mean you have to provide the dimensions of your zenxy and then compile/build the firmware prior to flash your controller?

If I attach an ESP8266 to the SKR PRO1.2, what firmware do I run then? Is there a dedicated project for that setup? Do I have to make modifications to the SKR PRO1.2’s firmware?

Thank you,

Yes. You can make some designs in sandify to make some gcode. The snippets in the docs you posted are for homing. You don’t need to do that in every file.

It is not necessary. But you won’t see much happen without motors and belts and stuff.

That will work, but it is overkill. Any of the TMC drivers can be quiet. I am not 100% sure the zenxy firmware for the skr pro has the silent stepping enabled. It is at MarlinBuilder releases. The zenxy is a corexy style of machine. The gantry moves both motors to move in one direction.

That is all in the gcode you linked.


Missed one :slight_smile:.

The esp8266 can run webui and talk to the skr running marlin, but that serial port (6, IIRC) needs to be enabled and I don’t think it is. So you need to edit and compule the firmware with that change, as well as flash webui on the esp8266 (unless you buy one preflashed).


Thank you, Jeff.

The zenxy is a corexy style of machine.

What does this mean exactly? corexy seems to be a technique to move the head in 3d printers. Does marlin implement corexy internally?

I am looking at this board (BIGTREETECH SKR Mini E3 V3.0). Also overkill but price seems ok and comes with quiet TMC2209 drivers. Running marlin is a matter of compiling it and dropping it in the SD card with a specific name. You can also plug a pi zero to send files over the serial port. And you can power the pi directly from the controller board.

I will write a follow up post with next steps but I wanted to see if you had opinions about this board.


CoreXY is a kinematic where neither of the motors has to be moved, both cooperate to move in both X and Y axes.

It is how the zenxy moves the magnet. Same thing, but no Z.

In a regular cartesian machine, the x motor moves the X axis. In a corexy machine, both motors have to move to make a purely X move.

The firmware (marlin or grbl) will handle the kinematics for you. You can feed it normal gcode and it will move the motors accordingly. But you have to configure the firmware to know if is controlling a corexy machine.

That board looks like a good fit.

1 Like