Day 66: Adventures in 3D Printing for Beginners - Jyers, PLA-AT, and OctoPrint

It's been nearly a month since my last update on my adventures in 3D printing. Instead of remaining silent and not posting, I decided to provide a quick update today.

1. Jyers Firmware

A few weeks ago I enjoyed great support from the good folks at Jyers and added some very minor changes to the Ender 3v2 UI. Basically, I set up Visual Studio Code to edit and compile firmware for the Ender 3v2 and experimented by making some minor changes to the code, making it so the firmware will save the boolean to add values to the mesh viewer.

This was a lot of fun and it was much easier than I thought it would be. I'm now confident in the method and ability to modify and create new Ender 3v2 firmware this way.

2. Sample PLA-AF Filament Failure!

After receiving some sample filament from Bing3D I decided to print some nano vises with the yellow PLA-AT they kindly sent me. Unfortunately, after a short time printing with this sample filament, my printer began seriously under-extruding and it became impossible to print with any filament.

I tried adjusting the printer settings, calibrating the extruder and the flow rates. However, nothing worked!

So I disassembled the hot end and noticed the hot end and the Bowden tube was clogged. This taught me a valuable lesson!

When your printer is fine tuned and running well, changing to a "unknown" new filament is a risky adventure and can results in a total failure of the printing workflow.

In the future, I will change out (swap) hot ends when I change filaments in this manner and will not leave this to chance again. Hot ends are not expensive and they are easy to swap in and out; and I already have one "on standby" for the next lab experiment. If I had more space in my seaside condo, I would simply buy more printers :slight_smile:

3. New Extruder and Hot End

After the catastrophic failure which happened after experimenting with Bing3D PLA-AT, I decided to replace my entire hot-end (it was only around $10, and locally available from a very good online print shop here) and to also change my extruder to an all metal, aluminum one (around $3, directly from China, already in my spare parts kit).

New Hot End

New Extruder

After fine tuning, the Ender 3v2 has been performing flawlessly (the best since day 1) and I have been printing a lot of functional parts with Bing3D green PLA-F.

Test Lattice, No String Attached! Nearly "Flawless"

I have printed a number of 3DBenchies and other calibration models like the lattice above, and the Ender 3v2 printer is performing way above the price I paid for it, even with upgrades and mods.

The Enderr 3v2 is truly a high value consumer level 3D printer.

4. OctoPrint Crashes and Woes

Personally, I do not understand the OctoPrint development team. Interacting with them on bug fixes, I have noticed they have a much higher opinion of their own software development skills than I do. As some background, OctoPrint is a kind of kludge; but it's a very nice kludge. It is certainly not polished, slick nor professional; but it's "cute and fun" to use. It's a kind of Python "hackware" loved by the community. I like it as well.

When I first tested OctoPrint a while back, I noticed that the UI was very "blah" and dated, a kind of "five or ten years ago" UI. In my mind, (at the time) I thought I could easily fix this by forking the OctoPrint repo and upgrading the OctoPrint version of Bootstrap (current version 2.x!!) to Bootstrap 5. Bootstrap 2 was first released on January 31, 2012, over 9 years ago! OBTW, this was the same time period that OctoPrint was released, 2012. Corrected: OctoPrint also runs an older version of jQuery, one compatible with Bootstrap 2. OctoPrint jQuery version is jQuery v3.5.1

So to make a long story short, I decided to fork and upgrade OctoPrint and "contribute" to the development, but this turned out to be a nightmare. OctoPrint is so poorly written, that it was basically "impossible" to upgrade Bootstrap. I did some google-research and many other developers made heroic, well-intended attempts to upgrade OctoPrint's core libs, and all failed.

I abandoned that idea after looking deeply in the code.

OctoPrint Bugs with an Attitude

Then, recently OctoPrint had a pop-up telling us to upgrade to version 1.7.0 as I recall. There were no warnings or a link to any release notes; so I blindly clicked and upgraded. That was a mistake.

The OctoPrint team decided, in some group-think brain **** that every OctoPrint user needed "low latency serial connections" and pushed out a release, with this totally unnecessary option enabled (without warning) and broke my entire workflow. My mac would not connect to the printer via USB anymore using OctoPrint easily and failed repeatedly until I commented out that part of the code.

To make matter worse, I asked the OctoPrint leadership to not push out these kind of changes "on" by default and to focus more broadly than testing on the Raspberry PI and was met with unexpected "hate" by the key OctoPrint developers. Surprise! It's not all puppy dogs and roses out there!

In my mind, and of course it is mostly because I am too honest, is that any development team with their entire product based on a long obsolete version of Bootstrap (and other core libs which are dependent) is not really in a position to consider themselves "prima donna software developers" but that is what I ran into, believe-it-or-not. I was basically told "if you don't like it, then use other print software" and so I may start using Cura again more often, since Cura worked flawlessly. Or I will just use OctoPrint and not contribute to their software since it is such a mess and based on obsolete core libs. Who needs that headache with so many other great (polished) professional printing software packages out there like Cura and Prusa?

Anyway, OctoPrint is certainly amateurish (emotion dominates reason) and tribal (we are right, you are wrong) in my view and they have a much higher opinion of their own software development skills than deserved, at least in my view. I'm sure they are talented people, nice people; but building an ecosystem tightly around rapidly evolving libraries (now long obsolete) 9 years ago, demonstrates a lack of understanding of modern software development concepts like MVC. The fact they still have this major flaw in 2021 with no hope in site, combined with the poor upgrade rollouts, has caused me to not be "attached" to OctoPrint and to be more open to alternatives.

It's a shame, since I like OctoPrint, generally speaking since it is written in Python and is really nice "hackerware".

5. Summary

The 3D printing ecosystem is large and complex and growing rapidly. It's fun and exciting and affordable. I predict OctoPrint will fall out of favor over time unless it is acquired and redesigned. Spare parts for 3D printers are inexpensive and essential. Experimental filaments should be tested on a separate printer; or at least on a dedicated hot end setup.

Anyone else working with experimental filaments or modifying Jyers firmware for their 3D printers?

Comment below and let us know!

2 Likes

Correction!

OctoPrint jQuery version is jQuery v3.5.1, so it is not nearly as old as Bootstrap 2.

The issue on the UI is the legacy Bootstrap 2 libs. jQuery seems OK.

I was going to add jQuery DataTables and revise the UI, but that is not feasible with Bootstrap 2 and I'm not motivated to spend time porting OctoPrint to Bootstrap 5 after my "not so fun" experience with the OctoPrint dev team combined with the fact that the OctoPrint architecture is not an "upgrade-friendly" architecture.

See Also: