Translate

Sunday, September 21, 2025

3D Printing - Octoprint renewal - part 1


Basically since the beginning I did use Octoprint to control my glorious Ender 3.


OctoPrint has to run somewhere, so I did use a Raspberry Pi 3B to run it but all things age and I did reach the moment to update it.

The problem

At this date, my OctoPrint info are :

  • OctoPrint 1.11.3 
  • Python 3.7.3 
  • OctoPi* 0.18.0 (build 2022.05.24.101555)

Every time I start OctoPrint now I see this message :

Outdated Python

Your Python version 3.7.3 is past its end of life (2023-06-27). OctoPrint 1.11.* will be the last version to support this Python version. You should upgrade as soon as possible!

Please refer to the FAQ for recommended upgrade workflows:

So I decided that it was time not just for a software upgrade but for a major upgrade.

A new Raspberry Pi, new Octopi, latest OctoPrint with a renewal of installed plugins and also a new enclosure !

Let start from 

The New Raspberry Pi

I decided to go with a Raspberry Pi 4.
After reading articles about the minimum requirements for OctoPrint, I did judge there was no need for the latest and bigger and expensive version of the Raspberri Pi.

I did opt for a Raspberry Pi 4, Model B, with 4Gbyte RAM.

Then I did look around for an enclosure for the new Raspeberry.

The Enclosure

The current enclosure for the Raspberry is mounted on the left side of the Ender 3 and it worked very very well for many years, however I did find a better one, that is more integrated in the printer structure and fit the Raspberry Pi 4.

On Tingiverse I found this LCD enclosure for the Raspberry Pi 4.

So I did a try and had it printed.

Nice and neat !

The wiring issue

For years I had the Raspberry Pi powered externally, i.e. not from the printer.
It is the fastest and easiest way to manage the Raspberry however it has some issues.

  • it is needed a modified USB cable to connect the Raspberry to the Ender 3, the power supply connection must be isolated, otherwise the Raspberry will power the LCD and printer electronic also when them main printer is OFF (See this article)
  • the Raspberry Pi is always powered On - I did not design a way to shutdown correctly the Pi so for years the poor guy stayed ON

This is the time to redesign the thing in order to be able to shut down the Pi when not in use.

Let see some operational options :

The ideal

The ideal would be power ON and OFF the Pi when the printer is turned ON or OFF.
It would be not a problem to turn everything ON, but the correct poweroff sequence for the Pi would to start a shutdown command on the Pi BEFORE to remove power.
i.e. :

When is time to turn on the printer :

  • just turn on the main power
  • done
When is time to turn off the printer

  • start the shutdown automatically
  • wait for the shutdown to be complete (could require up to 10 seconds)
  • monitor that the Pi is shut down
  • remove the power
Clearly something need to be done to accomplish that and usually it means to have a power source for the Pi separated by the printer power supply.
Kind of a catch 22 situation.

The easiest way

The easiest way would be adding a push button connected to the Raspberry in order to start the shutdown.  The Raspberry would be powered from the Ender 3 power supply (via a DC/DC converter)

A LED (maybe connected to the push button) would inform about the shutdown status (LED ON when Raspberry is operative, LED OFF when the shutdown is complete).

When is time to turn on the printer :

  • just turn on the main power
  • done

When is time to turn OFF the printer :

  • the shutdown push button will be pressed
  • will wait until the Raspberry is shutdown
  • turn the Ender 3 power off

A tentative project

So the idea is to design a box capable to turn on/off both the printer and the Raspberry Pi.
Since is necessary anyway to have a powered external box, the Raspberry can be powered independently anyway.
Here a possible schematic block :

The idea is to have a pushbutton that control both turning ON and OFF the entire system.

  1. System OFF
    1. press pushbutton - the LED start to flash
    2. the control board power up the Raspberry Pi and wait the Raspberry be powered up and running monitoring the control signals
    3. when the Raspberry is ON the LED is turned ON and the power is applied to the Ender 3
  2. System ON
    1. press pushbutton - the LED start to flash faster
    2. via control signals starts the shutdown procedure of the Raspberry and then monitor the control signals waiting for the Raspberry shut off
    3. when the Raspberry is shut down the LED is turned OFF and power removed from the Raspberry, then remove power to the Ender 3
Continue

No comments:

Post a Comment