Change hardware from Raspberry Pi Zero W to Raspberry Pi 3B

I currently want to change my running setup from a Raspberry Pi Zero W running the latest version of OctoPrint on an OctoPi image to a Raspberry Pi 3B, because the Zero is too slow for printing and video streaming.

But what is the best way to migrate the system over to the Raspberry Pi 3B? Is it enough to copy the SD card image over to a new card and boot the Pi 3B with it or is it better to backup the old OctoPrint system settings, install a complete new version of OctoPi on the Pi 3B and restore the backup on the new system?

What do you think? Are there any disadvantages that I could have by just copying the system to a new SD card and use it in the RasPi 3B?

Why copy anything? You can just reuse the existing sd card.

Just to be sure to keep a backup of the old system in the case of anything goes wrong :slight_smile:.

I'm not convinced of that. The Raspberry Pi Zero W runs on an ARMv6 and the Raspberry Pi 3B is ARMv7 to the best of my knowledge.

So, behind-the-scenes if anything earlier sudo apt-get install ...'d anything which included a compilation step, then it would have created something with the wrong architecture for the new Raspi. For example, NodeJS as installed on a Zero W then upgraded either would throw an error or perhaps not run optimally for the new (x4) cores.

Why not just dedicate a new microSD card, start with a fresh OctoPi install for the Raspberry Pi 3B and then add/config anything back that you need? Search the forum here for backup strategies for OctoPrint.

I guess I will go this way. It seems to be the "cleanest" one by starting over from a fresh installation. Since the backup plugin is already integrated in the latest release, that shouldn't also be a big problem (hopefully ;-)).

OctoPi is based on Raspbian, and Raspbian is still based on ARMv6 with ARMv7 optimizations if ARMv7 is available. I regularly compile code on a Raspberry Pi 3 to swap the card and run it on a Zero W without issue.

Raspbian itself might be ARMv6 but as I've indicated, things compiled next specifically for a particular architecture might be problematic. For example, the command make appears at least once in Guy's scripts.

Even so, people have indicated problems when moving microSD cards from one type of Raspi to another:
Micro SD card doesn't boot on Zero, but works on Pi3
MicroSD cards boot in Pi3 - wont boot in Pi Zero W
Moving SD cards from 3B to 3B+
Why am I getting a rainbow screen and flashing red PWR LED with a new Raspberry Pi 3B+?

I just bought several 16GB microSD cards at Fry's for $4.99 each. For safety's sake, it seems like the obvious choice to me to just use a new one.

I just want to keep you updated on how I did the RasPi hardware update:

On the Pi Zero W:

  • If version of Octoprint is < 1.3.10: Change the "Release Channel" to "Maintenance RCs" to get the plugin "Backup & Restore" that will be shipped in verion 1.3.10
  • Use the plugin to create a system backup
  • Shutdown the system

On the Pi 3 B:

  • Install a fresh OctoPi image
  • If version of Octoprint is < 1.3.10: Change the "Release Channel" to "Maintenance RCs" to get the plugin "Backup & Restore" that will be shipped in verion 1.3.10
  • Restore the backup with the plugin
  • Reinstall all the missing plugins

I had to reinstall the other plugins that I had on the system, because they were not restored by the "Backup & Restore" plugin. However, all the settings were backuped, so that I just had to reinstall them. No flaws at all - worked like a charm. This was definitly the cleanest way to setup the system. Thanks again for your input :slight_smile:!

1 Like