Synchronizing Multiple Computers

Guys and Gals. As a lot of you probably do like me, I have 2 computers that I use to run my LongMill. One desktop unit that I use to design items and generate gcode and one desktop I use to run the Longmill. My desktop is too big, too expensive and too much of a powerhouse to move out to the shop. The desktop I use for the cnc is too small and slow to run the designer program (Vectric VCarve) but perfect for the LongMill. I also have a fairly decent laptop that I use as a backup to the design desktop. So that’s 3 computers I need to keep synchronized. So I have been loading the gcode on a thumb drive and running out to the shop to load on the cnc computer each time I built or changed a design or copy new or updated files and folders between design computers. I needed something that would allow me to automatically transfer updated/changed gcode to the cnc desktop and synchronize the backup laptop and the design desktop. I decided to research for a better way to transfer the gcode and files without having to load it on a thumb drive. I found several free programs that can be used for that purpose. The best 2 I checked out were SyncToy by Microsoft and FreeFileSync, an open source program. I tried SyncToy (written several years ago) but it wasn’t easy to use or reliable. I ended up trying FreeFileSync. After 2 days of trying to get it to work the way I wanted it seems to be what I was looking for. Unfortunately I couldn’t quite get it to work on all 3 computers at the same time. So I ended up automating the update of the gcode to the cnc desktop from either the design or laptop computers. Which ever I was using at the time to update/change a design. This is done by setting up a scheduled task in Windows that monitors the folder I use for CNC files. It starts when I start my desktop or laptop and then monitors the folder for changes. It doesn’t use any resources until it detects a change in the monitored folder. When a change occurs a program is started that scans my design/laptop folder and compares it to the cnc folder. If it finds differences it will only select and transfer the changed gcode file(s). The monitor program stays running so it will continually monitor the design folder. The synching of the design desktop to the laptop, or vice versa, I have to do manually. This means I have to start the synch program manually unfortunately. I tried to automate this function too but ran into too many “what if’s” to make it work safely. Now if I make changes on either the design desktop or laptop I just start the program to scan and transfer changes to the opposite design computer (not the cnc desktop). When running the manual programs you can scan first between the 2 computers and double check changes. Then if all looks ok you can synchronize them. So to recap: I have 1 automated program on each design computer to synchronize gcode on the cnc computer and 1 manual program on each design computer to synchronize whats changed to its counterpart design computer. This still requires me to use my design desktop and run back and forth but eliminates having to copy to a thumb drive and load on the cnc computer. I can, but usually don’t, use my laptop for changes. By the time I get to the shop the new gcode is already there. Also whenever you update designs you must remember to sync with the opposite design computer. I know you can set up shared folders on each of the computers but you still have to manually keep track of what you have added or changed. FreeFileSync does it for you. If you are interested in pursuing this program I will be glad to assist in any way I can. Happy cutting!

1 Like

Maybe, check into dropbox. it is free up to so much data (Can’t remember how much) But you could do all your work in the design and save your gcode, then put it in drop box and it will be available to all three computers. With a 3 pc set up, you would need to make one a server or invest in another pc as a dedicated server. it is not that difficult to do but it can be tedious if you have never tried it before ( cabeling can suck). with microsoft all your pcs can be synched from your home network and sharing, and you can pull files from your main pc (I believe you can still do this in 10, I am still running 7) If your running Linux, it can also be done, but that is a whole different Ball to play with if you have never used it before.

My plan is to use a headless Raspberry Pi and UGS. I can SSH into the Pi to transfer GCODE, then VNC into it to initiate UGS to send the GCODE. After this, I can stay connected to watch progress remotely (I don’t yet have a camera on the Pi, but the case I have is set up for one) or disconnect and let it work on its merry way. My Longmill won’t be where I can hear it regardless of whether I’m monitoring its progress visually.

It took a little while to set up the headless Pi so it has everything I want on it, could SSH and VNC into it, and get UGS installed, but I now have an image that appears to work. I’ll know better once I have the Longmill assembled and installed into the enclosure I already have. The boss won’t let me do that until I’ve cleaned up the area around it first, so I have to spend a weekend or two doing that before I can get to doing the assembly and installation,.

My set up is much more simple. I design on my office desktop and run the G code on a laptop in my shop.

Both the desktop and the laptop have access to an external hard drive that is part of my home network. When I design, the design resides on the shared drive. I run it from there on the laptop. There is no need to sync anything as there is always only one version of the design and one of the G code - both accessible from both computers.

Of course everything is backed up, but that is aside from the process.

I have a raspberry pi running my machine, so I use sftp to transfer files over the network. Using Windows, you have a much easier, free option that you’re probably already signed up for: Google drive. You may have to download an app, but you can easily tell it to autosync a folder on each pc.

Another cheap, easy option is to just share a folder with windows sharing. I’ve found that to be a little finicky, especially between different versions of windows.

I have an inexpensive NAS system at my house - I think its a Q-nap 2 bay system - just for storing data and files. I use a mix of mac and windows machines, so the fact that this is on the network eliminates the annoyances from formatting the drive properly.

I can share files across all my machines then - my CNC computer can actually run fusion / carbide create even though its almost 10 years old, so if I need to whip something up quickly to cut or modify something I did in the house, I can do it and save it back to the Nas.

Hardest part was that my laptops seem to do better with getting a wireless signal, I have a mesh network but had to move the CNC desktop so it would get a consistent signal.

side benefit of the NAS is everything is backed-up, so if a computer died, I still have all my work on the RAID-0 array on the NAS.


WOW! I didn’t think I would get this kind of response. I know there are many ways to do this but I looked at many options. I am not a Windows guru so servers, SSH, PStools/PSexec etc are greek to me. I found one that I thought was a little more user friendly for us laymen. Hats off to you guys with the Windows knowledge. I don’t think FreeFileSync is perfect but it seems to be fairly easy to set up and use. I may check out Google Drive and if that is easier to set up and/or use I may switch. Who knows? Happy cutting!

Just for a lark, you might try windows file sharing. It’s just a couple clicks, and if all your network settings happen to jive it’s definitely the easiest way. I’ve had issues with it, but when it works it works well.

1 Like

I just have a shortcut to a google drive folder on the desktop of my “shop” computer and I throw all the designs in there on my “good” computer.

Then I have google drive set to sync everything in that folder on both machines. Works pretty well for me. This way each time you open the folder it syncs.