Meet PandaPi

It does not matter how fast it is. Linux is not a real time OS and Marlin is (kind of) a real time os and would run as a task on Linux.

On normal ARM or 8Bit stuff marlin controls the hardware alone. If it needs precision in timing it just disables inputs for a micro second or does other stuff. Just imagine it needs to trigger a line e.g. from a stepper, with exact 1ms pulses. This is no problem with a plain cpu and code. If required you can even use assembler inserts and nop commands and count each cpu cycle.

But running on the same CPU with an OS, even with multiple cores is a problem. You need to ensure the marlin task has priority and does not get interrupted by anything. The pi has no separate memory areas and the cores have caching There are also onboard hardware resources, which marlin may need exclusive to be available at any time. Like timers. GPIO needs to be shared or you will even loose features, but sharing means only one of the OSs can access them. There is no guarantee the example above would work. In optimal case the pulses would be perfect in length, but a single unplanned interrupt and you easy double the pulse width and on a 3d printer this will effect the results.

You can compensate these flaws by raw CPU power, but it will not be the same and not perfect.

The best example are emulators for game consoles or computers. The emulation will never be pixel perfect. That´s why recently more and more hardware emulators with huge FPGAs appear. They emulate the circuits and once they are perfect, all games are perfect.

The only way I see to really compensate this would be if the board itself has a co-processor of some kind. So you say do 50 steps at this speed and the board does the job. This is basically how Klipper works. The pi is running OctoPrint and KlipperMaster and the printer got flashed to a slave firmware, which just takes commands for steppers, heating and feedback and queues commands, so even when the Master is busy for a second the slave has a job list to work at.

On the PandaPi there is no security line. If the pi stalls, the print stalls.

ah yes, RTOS’. Back in the day (circa 1990) I worked with QNX. IIRC, it originally came out of Canada, but, at that time it was pretty popular all over for real time systems.

Basically, i agree with what you say, but concerning Klipper, is running on a RPi.

Indeed, you need a RPi to install Klipper and / or Octoprint or both ( depends on the memory flash RPi provides).

So, RPi works on behalf ( as a host ) of the Controller board.

Believe me my friend Geit, if i didn’t HATE Marlin, i surely would try it for good! On the other hand, i could install RepRap firmware as well on it!

DUET boards are the “best” boards on the market and i say “best” is because their minor “problem” is that they host their drivers on board. This means that if one driver get burned out, then the board must be replaced ( 250 euros up to 320 euros ). So this Panda Pi solution ( or similar ones ) could save lots of money. As we know, RPi can get lots of add-on as well as peripherals.

In my opinion, is a worth further looking project.

Your thoughts guys!

No, not a computer t all! As you said, is a replacement board for Ender and similar printers. Just look of what it provides related to Ender main board!

The pi has no flash at all. Well, it has, but it is just a few megabyte and for the bios only. The SD card is the the flash and even the lowest 2GB is far enough for both. With a standard 4/8 card you have enough gcode storage for the live time of the printer.

Look at the schematics of PandaPi. The pi is connected to the steppers. That´s a huge difference and the stuff that concerns me. This forces the pandapi solution into strict low level timings (creating stepper pulses), while on Klipper this lowlevel timing does not matter as you talk entire movements over usb (just like gcode from octopi gets send to marlin), while the original main board of the printer does the low level timings.

This is why I don´t see a huge improvement when using Klipper. A 32 bit printer board does the same and you don´t have the hassle to update pi and board at the same time.

PandaPi with a proper 32 bit printer board. e.g. a SKR board where you can plug in the Pi would be the perfect solution. The SKR runs marlin and the pi runs OctoPi. You spare usb and power cables to connect the pi and gain HDMI for a display as whell as usb ports for cameras and stuff.

This is what i meant ! A BIG SD card is a great advantage for memory storage. Last year i got SD card 2Gb burn out on my DUET WiFi card. Lucky me, the card was ok! In the card was the RepRap firmware with all the old features plus the old browser controlling module. I just upgrade the card with a new one 16Gb and just transferred the new firmware-new features-new browser controller and such things and voilà !!!

I guess you meant RPi here. Even so, RPi is a must add-on for a SKR board or similar boards as well!
If yes, then this is my point to all this conversation.