Would octoprint work on any generic linux hardware with USB and lan support? I have several wireless router around running tomato or ddwrt. Getting them to work instead of buying new hardware would be wonderful. They do have USB/lan connection, but I'm worried memory/CPU may be limiting. I can leave slicing part out too if I have to, mainly just need remote monitor and ability to stop a print if something goes wrong.
I personally wouldn't want to run OctoPrint on a computer with less than 1GB of RAM nor less than two cores @ ~1.2Ghz.
I'm a bit surprised it has such high requirement. Which feature of it is memory/cpu hungry? I only need the very basic functionality of being able to abort and mjg streaming from a camera (which I guess is a pass thru of bit stream from camera, or is there re-encoding done?)
Well he didn't say it wouldn't work with less it would just run better.
A Pi Zero for example often struggles while printing which results in stuttering of your printer.
If you like to tinker just go for it
Worst thing that could happen it doesn't work or runs poorly.
I would still suggest you use a large swapfile because routers often have a very small amount of ram.
If I understand correctly, octoprint is simply serving the pre-converted gcode text file to printer one command at a time? The actual data rate should be extremely low as a 1MB gcode file typically results in printing for hours. I'm surprised it can be affected. Shouldn't this be on a highest priority task? This task should be so lightly loaded.
Anyway, sounded like I need to invest in new HW. Cannot afford to impact print quality.
I can't tell you what octoprint does in the background. I mean I can tell you its features (or at least some of them ) but I don't know exactly what is done to achieve them.
If you want to spend less money I would suggest a Raspberry Pi 3, if you want the better hardware I would go with a Pi 4.
I got one (Pi 4 - 4GB) and you can use it in desktop mode and surf or watch videos with it while printing without any problems.
(That doesn't mean that you need a 4GB model. I just bought it for extensive desktop use and/or compiling. You will be fine with the 1 or 2 GB model)
Remember, I work on plugin development Mon-Fri eight hours/day for all of 2019. I intimately know the requirements of OctoPrint. My own printer runs a one-of-a-kind Conky interface which graphically shows me core load, memory load and network usage.
Streaming a print job to a controller board by itself consumes up to 50% of one core (@1.2Ghz) without adding much else. Just visiting the web interface for the first time will push another core to 100% for up to two full minutes in some cases. So if you want a controllable OctoPrint setup, you need two cores minimum.
What tends to happen, though, is that people then see that they're happy and they start loading it up with ten or twenty plugins, a TFT screen with the Desktop/GUI/x-windows system as well, a webcam, etc. And all this then starts begging for one or two more processors.