Schlagwort-Archive: auto leveling

3D Printer auto leveling print bed

In the last post about reactivating my 3D printer I stopped at installing the new inductive sensor.

After installing I tried it with my glass plate but that didn’t work very well so I removed the glass plate.

I struggled with the auto leveling tutorial mentioned in the last post, because the marlin firmware evolved quite a bit since then and I couldn’t find all those options mentioned in the tutorial. Basically I followed step 1 and skipped the rest.

The changes from my previous Configuration.h to the new one with auto leveling configured are (uncommented lines):
#define NOZZLE_TO_PROBE_OFFSET { -30, -30, -1 } (the nozzle offset is -30mm x-wise, -30mm y-wise and -1 z-wise)
#define PROBING_MARGIN 30 (increased from 10 to 30 because the bed leveling stopped/failed when the probe was almost outside the aluminium bed)

After it compiled successfully I followed the guide from marlin:

M502            ; Reset settings to configuration defaults...
M500            ; ...and Save to EEPROM. Use this on a new install.
G28             ; Home XYZ.
G29 P1          ; Do automated probing of the bed.
G29 P3 T        ; Repeat until all mesh points are filled in.
G29 F 10.0      ; Set Fade Height for correction at 10.0 mm.
G29 A           ; Activate the UBL System.
M500            ; Save current setup. WARNING: UBL will be active at power up, before any [`G28`](/docs/gcode/G028.html).

My new sensor at work 🙂

Prusa i3 Hephestos 3D printer again after some years

After some years I finally decided to bring back my 3D printer from my basement. The only productive thing I ever did with it was to replace a part of my Denon AH-D1100 headphone. The headphone has a predetermined breaking point with those weak plastic constructs. I first tried to replace the earcup brackets with this thing and the endresult was quite promising (printed with PLA)

Too bad that it broke again where the earcup is connected to the headband.
Even filling the holes and surroundings with epoxy was doomed to fail.
It worked for about 4 years. Longer than the original but not satisfying.

And I don’t want to throw away those headphones just because some plastic is broken. So years after first creating those I researched thingiverse for any updates on that matter…. and got lucky 🙂

Someone who seems to have shared experiences with failure with other „fixes“ really created something new for my headphones.

During reenabling my 3D printer I got curious about what has happened since abandoning my printer in the basement.

The first thing I purchased a heatbed, insulation mat, PETG filament, printing surface and a new power supply.
The heatbed because I remembered having a lot of warping.
The PETG because the guy on thingiverse said it is more robust and other good stuff about it.
The printing surface because I was working with hairspray years ago and that worked so so.

The power supply died on the first day so I ordered another one that sill holds.
The heatbed was slightly uneven and I had to use my glass plate on top of it. Currently I print without the new printing surface and it works quite well.

Luckily my Orange Pi was still lying around and someone had created an AUR package for the newest OctoPrint, nice.
Next was the update of the Marlin firmware for my bq Prusa i3 Hephestos.
I first tried the official bq firmware from github and enabled heatbed support almost like the tutorial here. Adding the power cable to D8 and the thermistor cable to T2. I also had to modify the heatbed thermistor cable connector so it fitted on the T2 pins.
The new firmware worked and also the heatbed, but after some minutes there where lost USB connections. Sometimes after 15 minutes, sometimes after half an hour.
I suspected the old Marlin bq firmware so I was looking for the official Marlin repository on github.
They even have the Configuration.h for my printer, so not too much work customizing or merging the old Configuration.h with the newer one.
I first tried to adapt the building procedure with Arduino IDE but failed miserable.
There were missing dependencies and other bugs when building.
Then I tried the vscode platformIO version and it worked immediatly (after setting TEMP_SENSOR_BED to 1 and TEMP_SENSOR_1 back to 0. The tutorial from above got that wrong) and the dependencies just got downloaded without needing to do it manually, nice.
With the newest Marlin I still got the USB disconnects.
The error was shown in the kernel logs like:

Mar 2 17:07:14 orangepiplus2e kernel: [269172.289411] usb usb7-port1: disabled by hub (EMI?), re-enabling…
Mar 2 17:07:14 orangepiplus2e kernel: [269172.295779] usb 7-1: USB disconnect, device number 3
Mar 2 17:07:14 orangepiplus2e kernel: [269172.301677] ftdi_sio ttyUSB0: error from flowcontrol urb
Mar 2 17:07:14 orangepiplus2e kernel: [269172.312715] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
Mar 2 17:07:14 orangepiplus2e kernel: [269172.327059] ftdi_sio 7-1:1.0: device disconnected
Mar 2 17:07:14 orangepiplus2e kernel: [269172.666095] usb 7-1: new full-speed USB device number 4 using ohci-platform
Mar 2 17:07:15 orangepiplus2e kernel: [269172.911610] usb 7-1: New USB device found, idVendor=0403, idProduct=6001, bcdDevice= 6.00
Mar 2 17:07:15 orangepiplus2e kernel: [269172.919950] usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Mar 2 17:07:15 orangepiplus2e kernel: [269172.930667] usb 7-1: Product: FT232R USB UART
Mar 2 17:07:15 orangepiplus2e kernel: [269172.940302] usb 7-1: Manufacturer: FTDI
Mar 2 17:07:15 orangepiplus2e kernel: [269172.947236] usb 7-1: SerialNumber: AI02CZOJ
Mar 2 17:07:15 orangepiplus2e kernel: [269172.959920] ftdi_sio 7-1:1.0: FTDI USB Serial Device converter detected
Mar 2 17:07:15 orangepiplus2e kernel: [269172.970583] usb 7-1: Detected FT232RL
Mar 2 17:07:15 orangepiplus2e kernel: [269172.981257] usb 7-1: FTDI USB Serial Device converter now attached to ttyUSB0

The OctoPrint log said:

2021-03-02 21:11:17,721 - octoprint.util.comm - INFO - Communication timeout while idle, trying to trigger response from printer.
2021-03-02 21:12:04,752 - octoprint.util.comm - ERROR - Unexpected error while reading from serial port
Traceback (most recent call last):
File "/opt/octoprint-venv/lib/python3.9/site-packages/OctoPrint-1.5.3-py3.9.egg/octoprint/util/", line 3831, in _readline
ret = self._serial.readline()
File "/opt/octoprint-venv/lib/python3.9/site-packages/OctoPrint-1.5.3-py3.9.egg/octoprint/util/", line 6455, in readline
c =
File "/opt/octoprint-venv/lib/python3.9/site-packages/pyserial-3.5-py3.9.egg/serial/", line 595, in read
raise SerialException(
serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
2021-03-02 21:12:04,759 - octoprint.util.comm - ERROR - Please see for possible reasons of this.
2021-03-02 21:12:04,797 - octoprint.util.comm - INFO - Changing monitoring state from "Operational" to "Offline (Error: SerialException: 'device reports readiness to read but returned no data (device disconnected or multiple access on port?)' @"

There is a help topic for OctoPrint when one has randomly USB disconnects and how to debug.
Since I only had a spare USB cable I tried that and what a surprise… it worked and never got a disconnect anymore. I was lucky there 😀

I just forgot how anoying the surface leveling was, so the next thing is to install an auto level sensor LJ18A3-8-Z/BX.
I found a tutorial for how to install a auto level sensor, will try.
So today (03 March 2021) I print a sensor holder for my printer and see if everything works out 🙂

Update 05 March 2021:
My glassplate doesn’t work that well. Trying the new printing surface.