V1Pi as General of my Robot army?

I’m wondering how may machines can one expect the V1Pi image to manage. I’ve got a pi 3B+ that I’m planning to use the image on (once I get the shop organizer built and free up some space), and I have several machines that I think it could interface with. I’ve got a Prusa i3 clone running on a RAMPS 1.4 board (actually have 2 until I ship one off to my brother), a K40 laser engraver running on a GRBL shield, and eventually an MPCNC (again, a couple of steps down on the project list). These will all be located in the workshop in pretty close proximity, easily within USB cable range of one another.

Can I expect to run all of these through the V1PI? Could I use them simultaneously, or would I hit a processing limit somewhere in the chain?

Thanks for any insights.

Robot General?

Be afraid! Be very afraid!

3 Likes

The 3B+ is pretty fast for this simple little task. The “backend” of it, where it is just sending gcode through the serial port is also not very CPU intensive. The real trouble is in the file access and python for running the octoprint UI or the javascript for running the backend of CNC.js.

I technically haven’t tried it, but I am pretty confident to say you could run 4x octoprint instances on one 3B+, and you might only notice problems if you had tabs open to all of them at once. Even so, I think the biggest symptom would be a little slower response from the web pages, not any different performance of the gcode streaming.

I have seen people run multiple octoprint instances before, but I haven’t seen that for CNC.js. You’d at least need to copy the systemctl entries and such, so the different processes would run at boot. You’d also need to have different ports for the different services.

In the end, I’m not sure it would be that helpful, since a second or third pi is pretty cheap, and you can use the default image as is.

1 Like

I might just need to try this. If anything the webcam streaming is what makes me nervous but I dont have any real data to back that up, just a feeling (assumption).

The webcam is another story. I wasn’t thinking about that. The motion jpeg streamer is another process, with another setup. That would be a bit more work to replicate. I don’t have a great sense of how many resources that would take. I wouldn’t be surprised if it actually worked fine though.

You wouldn’t be able to do the web streaming on more than one at a time. Also, if you’re doing timelapse, the final render is pretty CPU intensive. I could see where having just 1 timelapse being rendered could cause the system to hiccup if multiple jobs are trying to run.