OctoPrint performance (or even just compatibility) with a rare hardware configuration


#1

Hello all,

This is my first post here. So my apologies in advance if I accidently went against any codes of conduct. My main question is simple (but can spin-off into some pretty complicated discussions, so I'll try keeping this short)...

On a PRUSA MK3, even though it's advised against doing, I'd still prefer to use a Pi Zero "piggybacked" on the EiNSY board (keeps everything internal, out of the way, no need to redesign or reprint an enclosure, etc.). So in an attempt to avoid overloading the Pi Zero W's limited compute abilities... My question is this: What's the verdict on switching to a Pi Zero 1.3 instead with an attached "Networking" pHAT? OR... Is it possible to "double-stack" Pi Zeros in a MacGuyver'd-psuedoparallel setup in a vain attempt to split whatever tasks can be split to the other board's core. (The 2nd idea is more of a pipedream, and without a LAN port doing anything in parallel is extra-"sketchy".)

What have I tried? Other than countless hours of web searches, browsing forums, datasheets, the OctoPrint source code, etc... All to no avail/not even the slightest hint that anyone has even attempted this... Nothing really concrete. I can tell you that the pHAT being used has it's own onboard Broadcom chip which appears to take over a brunt of the incoming/outgoing data processing... AND has an external antenna connector, which compared to that little ceramic tic-tac SMD'ed to either board, blows their signal strength and range logarithmically out of the water. Both of those reasons: higher-power/dedicated networking chip AND having a much lower % of data packets being dropped with a directional 802.11AC antenna pointed right at the router... Lead me to think that would at least help alleviate, not eliminate, some slowdown situations that would've happened on a plain Pi Zero W alone. Also upon first glance, there doesn't appear to be any GPIO conflicts with the EiNSY serial interface.

Final bit of info here: I would like to have a PiCameraV2 just to check in on prints remotely. Timelapse, albeit fun to watch, is not my thing so I doubt I'll even include that plug-in. But other ones, absolutely.
TouchUI and as many of the "essential" ones I can get away with w/o compromising Printer reliability. If you have any additional questions, please ask and I'll clarify right away. I am very appreciative for your time [if you haven't given up on reading this far yet, lol]. I am super-stressed with work right now and can't dedicate more time to "spinning the wheels" on this, so I would sincerely value any of the community's guidance. Also, although the danger is almost negligible, I can't risk the cost/downtime right now of burning something out on my control board because of carelessly plugging & chugging a seemingly never-attempted hardware configuration into it. Hopefully I'm not missing something painfully obvious, but any and all info is useful at this point.

Regards,
David


#2

I'm laughing at the point where you want to also capture/stream video on top of all this on a one-core Raspberry. I monitor my OctoPrint's performance and even profile it. I assure you that you can't overload this and expect good prints from the system.

I'm very good at soldering. It would make me tentative with the "what if?" scenarios where you say to yourself, "I'll *just* solder the Raspberry Pi Zero (v1.3) to the bottom of that EiNSY and if it doesn't work out, I'll *just* de-solder it and upgrade that to a Raspberry Pi Zero W". Ugh. Have you tried to de-solder and then remove a 2x20 header? It's a pain in the ass. And so that really starts to take the fun out of troubleshooting and "what if?" ideas for all this. It would start making me choose more expensive options from the start to minimize the chances of screwing up the fragile pads on the EiNSY.

That said, you might try getting two Raspberry Pi Zero W computers.

Here's my write-up for creating a stand-alone Raspberry Pi Zero W computer with a Pi NoIR webcam. Be creative and mount that somewhere to get a good view. If you want to be cool like me, do two of those and have two angles like one from the side and one from overhead.

The general cost for each of those dedicated webcam servers is less than $50. I power mine with my printer.

So now, back to the EiNSY, you're going to need that wi-fi support so that you can connect to OctoPrint.


The Raspberry has two UARTs but only one of them is "great". The other is cheap. Make sure to toggle some feature on the Prusa that's necessary when you solder the Pi to it or else it won't work. Additionally, the wisdom within the Prusa space is that you should make sure the good UART is available: turn off Bluetooth support and something else in sudo raspi-config involving turning off or on the ability to do "console over serial". Having done so, the EiNSY will find the good UART as presented on the GPIO pins rather than it being somewhere else.


#3

Alright, I'll say thanks? for what sounded like a bit of backhanded, but albeit constructively useful, advice. But who am I to judge, I probably would've responded to this apparently crazy person with a theoretical question the same. I'm an EE, and last time I checked not mentally challenged, and so [de-]soldering anything - 40x or more - would be easier than quite frankly handwriting a note 40 words or more. Not to mention I have like 6 of all different types of RPi's and Cameras (including a FLIR) with AND w/o the headers with optional by-the-ready molex-style connectors to make nearly the whole toyset "hotswappable".

All of my "inquisitiveness" is because I've talked on a 1-to-1 personal level with many other MK3 owners who almost unanimously say they were dissatisfied with end results after hooking up a Pi Zero W. And they either turn it off and go back to printing from the SD card and the issues disappear. OR go to a USB-wired RPi 3 B+ and say the issues MOSTLY disappear (and they can then add remote RGB LED control cause we all need more of those right??!!?!!! lololololol)

Maybe it's all PRUSA's fault? Maybe the outwardly/apparently competent users I've talked to are all charlatans and it's their fault because they're all using the "weak pin"? I'm certainly not defending PRUSA like some fanboy, the last little OctoPrint issues are still being ironed out (last firmware update just fixed an issue with a software flag in PRUSA's G-code that kept some WiFi-sourced prints from initiating/starting). But even using the most bleeding-edge releases from Github... issues like unexplained layer shifts and uneven deposition/oddly-slow moving steppers (which don't happen on the same machine & same sliced file when printing off SD) still seem to remain. Hence why myself & I'm sure others are slightly hestitant and slightly wondering what all the different options are... if out of mere curiosity if nothing else.

But really, and I'm not being facetious; sincere thanks for taking the time to answer and going into the details that you did. I got a better picture of this community's experience of using the Pi Zero, and hopefully it helps other MK3 users as well.


#4

The Prusa designer himself seems to have developed a very good printer platform. I think he just didn't do enough actual printing with OctoPrint before making a quick assumption about the Raspberry Pi Zero. That part's not one of his better ideas, IMHO.

Next, why didn't he include a female header block on their EiNSY board so that you can just plug in the Raspi rather than to solder it? That would have been trivial, inexpensive and would have saved all his customers the grief. Alternately, he could have used a 40-pin-to-40-pin cable arrangement.

From what I understand from foosel, the designer has a number of odd things he's doing with the firmware which makes it problematic.


Back to the native-versus-OctoPrint performance, we must return to the addition of the serial connection (which isn't a part of the print-from-SD path).

Read this and understand what they're trying to say about the quality of the second UART. In other words, if you're printing to your printer while using the cheap UART of the two, then you could expect a variety of behaviors of the type that your research discovered.


As background, I'm a software development instructor. In person, you'd see that my approach is light-hearted ribbing rather than attempting to belittle anyone. If I say "Jeez, you're not asking much out of that $10 computer..." and throw in a fair amount of sarcasm, it would still be delivered with a smile and the student would understand what I mean. (Actually, a student last night spent an hour with me first printing a cover for and then starting to setup his first Raspberry Pi Zero W.)