MK3S+ With RPi0W  

  RSS
Skreelink
(@skreelink)
Estimable Member

I'm currently waiting on my MK3S+ and figured I'd get a jump by going ahead and grabbing a Raspberry Pi Zero W to stuff on the Einsy board during assembly.

However, just looking around the general consensus seems to be this is somewhat useless as the Zero is too underpowered. I've been testing it with my Mini and... what's the problem? Outside of the interface loading a bit slower, print quality has been pretty much spot on vs my Pi4 or usb drive. I tend to like watching the GCode Viewer and Camera in a tiled stack to keep up with the prints. Even with these two pages open and streaming, my CPU usage hovers around 5-10% for octoprint, and 12-15% overall, occasionally jumping to 17-20% for a couple seconds (which 3% of that is htop). I don't really plan to do any timelapses, so I haven't installed octolapse, but still, print quality seems fine, there's no resent gcode, and the gcode viewer always stays ahead of the actual print, so the Zero isn't lagging to send commands.  Granted I don't have it loaded with plugins, can't think of many offhand that would be useful for the MK3S+ (yet) but still.

This was printed using Octoprint with the Zero on my Mini:

Equipment:

Prusa Mini

Pi Zero W

Raspberry Pi OS Lite Buster

Octoprint 1.15.2

16GB Class 4 SD Card (yeeep, I scavenged for it)

1A charging brick

Half mile of cheap USB cable (actually it's about 10ft)

I will say this, the pre-built "PrusaPrint" image was a disaster. It got up and running, yes... But after about 10 minutes, the wifi would cut off and would have to unplug the Zero to get it back up. This is, of course, quite useless on a board that is integrated in the box and runs headless, requiring SSH. I tested all sorts of fixes like turning the power management off on wlan0, installing wicd-curses to make sure auto-reconnect was on, etc. The final fix was... If you want something done right, you have to do it yourself. Flashed the Pi OS lite, fully updated it, installed octoprint, haproxy, configured the uart to the GPIO pins, etc... and haven't dropped out once.

Now if you have a fully loaded octoprint with tons of plugins? I don't know how it'll work... But it seems quite capable for starting, running, and monitoring prints. So why the hate? Having this fully integrated in the board seems a rather nice feature and doesn't seem crippled currently.

I think I know, I don’t think I know. I don’t think I think I know, I don’t think I think....
Posted : 14/12/2020 5:14 pm
bobstro
(@bobstro)
Illustrious Member

The "Raspberry Pi Zero W is not recommended explicitly" by the developer of OctoPrint. You can certainly use it, but I wouldn't expect a lot of assistance if you run into problems. This is not a Prusa issue, it is related to the requirements for OctoPrint which have changed over the years.

You can technically tow a 40-foot trailer with a Fiat 500. It is not recommended. Do as you wish with your Fiat 500.

My notes and disclaimers on 3D printing and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan...
Posted : 14/12/2020 5:40 pm
Skreelink
(@skreelink)
Estimable Member

It is a valid point to bring up that the Zero W is not recommended explicitly, however it does say not recommended, it does not say, not supported. That, however, is not really the question going on here, although I do appreciate your feedback, Prusa already covers this in their How-To article.

I mainly want to know why the response is generally, do not bother, go for a 3B+/4, etc. instead of say...

"While the Zero isn't recommended, it can be a great addition to the MK3S if you would like to go through the effort. Keep in mind you may get minimal support from the OctoPrint team, the solution works with good results if kept light." Along with personal experiences if you've run that setup, suggestions on how to make it better, etc. Just throwing an analogy with no real explanation makes it seem like, no, it doesn't work well at all and is not worth the effort. If this is the stock response, ignore a Pi altogether and setup OctoPrint on a Linux machine with an octocore CPU and 32GBs of ram just to make sure. I figured one reason we go for a Prusa is because it's not about throwing the best, most expensive stuff at it, but making things work great with what we have.

From my testing, it's a great setup and performance is on par with my expectations. I kept it light, not loading it with plugins, and it prints very well. When my MK3S+ comes in, it means I can run the setup very cleanly, no need for extra wires and plugs, and adds the additional feature to the MK3S+.

Also, I never really said it was really a Prusa issue at all. The only issue I had for them was with the pre-made image they supply, my experiences with that, and my recommendation to setup the Zero by hand. They already state pretty much what you did in their setup article, but don't just cut short and go "don't do it".

Would it not be better to encourage and help someone if they wanted information about it, instead of just brushing them off by telling them not to bother or purchase a more expensive piece of equipment? They might have limited space, plugs, etc. or just want a cleaner solution and it DOES work, just keep expectations in check. Even Prusa updated their page about it 18 days ago (as of typing this), so it's still recent, still viable and works. In the future when it does, indeed, become too bloated and doesn't work even vanilla, I would then say it's not worth your time, and I'd expect Prusa to update their website accordingly.

As far as my recommendations go, unless using the GPIO pins greatly changes things... I would recommend the setup if you would like a clean setup, and additional features on the MK3S. The Zero W seems more than capable for a vanilla OctoPrint setup, and is nice to monitor the printer. Keep your expectations level, if you're worried about print quality, put the gcode on the SD and use octoprint to start it from there and use it as monitoring software only. You don't need an ultra high power gaming machine if you only plan to watch videos and do some web browsing in your Fiat 500. Want to load it with fun features, plugins, timelapses, etc? Sure, bump up to a Pi4, you could then use it for other things as well, it's a pretty capable machine.  🙂

 

If anyone would like assistance setting up the Zero W, I don't mind helping the best I can. As of currently, however, I have not installed the board onto an MK3S (still waiting for mine) but that is mostly up to your skills with a soldering iron. Happy Printing. 🙂

I think I know, I don’t think I know. I don’t think I think I know, I don’t think I think....
Posted : 14/12/2020 7:14 pm
bobstro
(@bobstro)
Illustrious Member

The problem is that it may work just fine until you start a large, long, and filament-intensive print and suffer quality errors due to performance. Do what you like, of course. The reason I mentioned that this is not really a Prusa-specific issue is that you are likely to get more feedback from the actual OctoPrint support pages. Not trying to dampen your enthusiasm, but you did ask "why the response is generally, do not bother, go for a 3B+/4, etc. " I've tried much of what you're describing already. The discussion will be a lot more interesting when you've actually tried some of these things and succeeded.

There are downsides to starting prints from SD card from the OctoPrint interface. All communications between the SD card in the printer and OctoPrint on the RPi are done via serial communications. The controller on the Mk3 is an 8 bit board, and each and every line must pulled and sent as individual commands. It is a very slow and painful process. This has several implications:

  • Sending files to OctoPrint via wifi and sending them to the SD card in the printer is very slow due to the serial transfer. As in possibly taking 30 or more minutes for a small file.
  • OctoPrint only receives 8+3 filenames from the Mk3. This means your files will look something like this (SD card files at the bottom of the list):

  • You also still lose out on power loss restart if that's a consideration.

Again, do what you like. Just understand that many have tried these things and aren't just recommending against the Zero for no reason. A quick google search will turn up a lot of technical detail if you're interested.

This post was modified 4 months ago by bobstro
My notes and disclaimers on 3D printing and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan...
Posted : 14/12/2020 8:21 pm
Skreelink
(@skreelink)
Estimable Member

@bobstro

I was not aware of the filename limitation when OctoPrint reads from the SD card, does seem a bit cumbersome. Currently OctoPrint does not support the USB drive on the Mini, so I haven't seen that (might be Prusa side to correlate SD M codes to the USB). As far as printing from the SD I know I wasn't clear, but I did mean putting the files onto the SD with a PC and then just launching them from OctoPrint (just to use OP as a monitor). I know the 115k baud is... painful as an actual transfer rate. :p As I recall, doing so lets the marlin firmware actually run the print, and Octoprint just reports back status like temps (and cannot give gcode views, since it's not in control of the gcode, Marlin is). 

A good point about the power panic feature, but that's not Zero W specific, that's anything running OctoPrint. I do wonder if starting an SD print via OctoPrint would allow power panic to work, since the actual code manipulation is marlin. 

I will say long, filament heavy prints might be worrysome with the Zero W if you actively do things with the Zero while printing. There shouldn't be any reason for spikes in processor or stuttering if it's just doing its job. The mug in the first post was an 18 hour print and about 165g of filament. I have yet to do a 24 hour print on the printer yet, kind of want to wait until I get a backup before I tie up a printer for days at a time. 🙂

This gives me a lot of ideas to test when the printer arrives. Makes me even more impatient for it to arrive, but I must wait. There is also the difference of USB vs GPIO... I wonder if that's the bottleneck, I might see about attaching my Pi4 to the MK3S via GPIO and see if there's a change in quality. Though it shouldn't as the serial rate should still be 155k. I will note that a quick google someone else said that hooking up the 3B+ via GPIO caused stuttering and quality problems vs USB here but nobody responded.

I'll keep building my experiences with it, and applying the other knowledge I've obtained to see how it all comes together. Either way I'm happy to take the journey, even if it turns out the Zero W is useless in the MK3S, I'm out a few bucks, but it was a learning opportunity. I at least, at minimum, know it works decent on my Mini as it currently stands. 🙂

I think I know, I don’t think I know. I don’t think I think I know, I don’t think I think....
Posted : 14/12/2020 9:03 pm
bobstro
(@bobstro)
Illustrious Member
Posted by: @skreelink

[...] I was not aware of the filename limitation when OctoPrint reads from the SD card, does seem a bit cumbersome.

From reading on the OctoPrint lists, retrieving long file names would require a query from the RPi over serial per file name. The developer (Gina) has said it is too slow to be worthwhile.

[...] As far as printing from the SD I know I wasn't clear, but I did mean putting the files onto the SD with a PC and then just launching them from OctoPrint (just to use OP as a monitor). I know the 115k baud is... painful as an actual transfer rate. :p As I recall, doing so lets the marlin firmware actually run the print, and Octoprint just reports back status like temps (and cannot give gcode views, since it's not in control of the gcode, Marlin is). 

I did just confirm this. You can launch a file off the SD card from the OctoPrint interface (provided you can identify the correct 8+3 short name) and then essentially (or literally) turn off the RPi as it prints.

A good point about the power panic feature, but that's not Zero W specific, that's anything running OctoPrint. I do wonder if starting an SD print via OctoPrint would allow power panic to work, since the actual code manipulation is marlin. 

I just wanted to verify you were aware of the loss even if printing off SD. That's a big deal for some folks. Not sure about power panic if initiated from SD. I don't rely on power panic too much myself.

[...] There is also the difference of USB vs GPIO... I wonder if that's the bottleneck, I might see about attaching my Pi4 to the MK3S via GPIO and see if there's a change in quality. Though it shouldn't as the serial rate should still be 155k. I will note that a quick google someone else said that hooking up the 3B+ via GPIO caused stuttering and quality problems vs USB here but nobody responded.

There are several threads here on the Prusa forums that discuss this. As I understand it, the main benefit to using GPIO for RPi-Mk3 communications is cosmetic. Performance is the same. Definitely ask around in some of the other threads as several people have done it even with a RPi 2, 3 or 4B.

I'll keep building my experiences with it, and applying the other knowledge I've obtained to see how it all comes together. Either way I'm happy to take the journey, even if it turns out the Zero W is useless in the MK3S, I'm out a few bucks, but it was a learning opportunity. I at least, at minimum, know it works decent on my Mini as it currently stands. 🙂

I was sort of hoping there would be an official solution based on the RPi A+, but Prusa may have felt burned by the RPi Zero W experience. There is definitely an appeal to having it all tucked in the enclosure. That said, printing a slightly modified enclosure should allow using an A+ or any of the small-footprint multicore RPi clones.

 

My notes and disclaimers on 3D printing and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan...
Posted : 14/12/2020 10:17 pm
Skreelink
(@skreelink)
Estimable Member

@bobstro

Good info, I'll test the power panic when mine comes in just to have that info unless someone chimes in beforehand. 

Also I might seem a bit optimistic on what I can do with this... as the Pi Zero W is more powerful than the old machine I used to use. I managed a lot of things on an old commercial CNC I used to run. A Komo VR 510 Mach One S running Windows 2k on a 400Mhz celeron coppermine CPU with 64MBs of SDRAM, and a 640x480 LCD. I miss having a 5'x10' bed with 10 tool auto-changer... It's one reason I wanted a 3D printer, I was used to a subtractive process, so why not try an additive? Of course, it's a loooot harder typing gcode by hand for a 3d printer vs a 3 axis CNC.

I can always try. 🙂

I think I know, I don’t think I know. I don’t think I think I know, I don’t think I think....
Posted : 14/12/2020 10:37 pm
Skreelink
(@skreelink)
Estimable Member

Doesn't mean much, but I do love testing... So I installed octolapse and got my first timelapse off the Zero. 🙂 Nothing challenging, just a little low poly charmander since I had Eryone Galaxy Red loaded. I don't plan to do timelapses with it, but why not at least attempt? 

Final result:

 

Data! Everyone loves data. I watched this print with a tiled tab stack in Vivaldi, live GCode viewer on one side, and the camera on the other. I also had Putty open with htop running to monitor the resource usage.

What does this mean? Likely absolutely nothing! 🙃 It wasn't a challenging, long, or complex print... But more of a "Let's see what I can do" kind of thing. Blame bobstro for his information and leading me to trying. 😜 Keep up the good info, I'll see if I can fold it into something that might benefit people.

 

Now for bad news... Apparently the cooling fan on my Mini decided it didn't like the fact I was printing my Christmas gifts this year and began rattling and screeching... 😕 I contacted Prusa and they're gonna send me a new fan, but in the meantime, I'm going to see if I can fix it at least enough to keep printing until the new one shows up.

I think I know, I don’t think I know. I don’t think I think I know, I don’t think I think....
Posted : 15/12/2020 2:52 am
Share:

Please Login or Register