Update Tiny Machines FW – Ein allgemeiner Hinweis

In der letzten Zeit waren vermehrt Beiträge im Forum zu registrieren, welche sich mit Fragen rund um die alternative Firmware für die von Tiny Machines vertriebenen Creality Drucker der Ender- und CR-Serie beschäftigen. Aus diesem Anlass möchte ich hier ein paar allgemeine Worte zu dem Thema „alternative Firmware“ und speziell zum Angebot von Tiny Machines sagen. Ich hoffe damit einige Unklarheiten zu beseitigen und damit auch einen Wegweiser für die Entscheidung zu dem Schritt zu geben, unbedingt in das „Betriebssystem“ seines Druckers einzugreifen zu wollen.

Vorweg allerdings eine eindringliche Bitte und eine persönliche Einschätzung zu diesem Thema:

Wer heute einen 3D Drucker beliebiger Marke und Ausprägung (ob Bausatz oder bereits fertig montiert) kauft, der wird auf die Betriebssoftware nicht verzichten müssen. Die Hersteller geben kein Gerät an den Endkunden ab, welches nicht wie im Umfang vom Hersteller festgelegt bedient werden kann. Man hat also erstmal alles was man benötigt, um das Gerät für seinen Zweck vollumfänglich benutzen zu können.

Der Vergleich

Man darf das gerne mit einer Waschmaschine vergleichen, die ebenfalls eine Programmelektronik und Betriebssoftware besitzt, um die mechanischen und elektronischen Komponenten zu betreiben. Dort käme auch niemand auf den Gedanken das vom Hersteller vorgesehene 90° Programm modifizieren zu wollen, um die Max-Temperatur anzuheben, die Umdrehungszahl fürs Schleudern zu ändern, oder anstelle die Trommel zweimal links und dreimal rechts, nur noch links herum drehen zu lassen, weil das einen vermeintlich knitterfreieren Einfluss auf die Wäsche hätte.

Ich hoffe, man versteht worauf ich hinaus will. Ein 3D Drucker ist ebenso wie eine Waschmaschine ein elektronisch gesteuertes Gerät, was vom ersten Tag bis zu seinem letzten Tag keine Änderung in der Art und Weise benötigt, wie es das tut. Hier sind, sofern es vom Hersteller nicht explizit an den Kunden kommuniziert wird, auch keine Änderungen an der Betriebssoftware (bzw. Firmware) notwendig, wie z. B. bei einem Mobiltelefon, bei dem mit Aufspielen einer neuen Firmware durchaus Sicherheitsaspekte oder sogar notwendige neue Funktionen im Bereich der Mobilfunkchips einhergehen können, um das Gerät überhaupt weiter benutzen zu können.

Was tut sie, die Firmware?

Bitte auch die Firmware oder Betriebssoftware nicht mit dem Betriebssystem (OS) eines Smartphones oder PCs verwechseln. Die Firmware, also die Steuerung der elektronischen Komponenten untereinander ist normalerweise, bis auf die in einem UI (User Interface) an angeschlossenen Touchscreens oder durch mechanische Knöpfe (z. B. für die Programmwahl an einer Waschmaschine) bereitgestellten Funktionen und Infos am Display, für einen Benutzer verborgen.

Am einfachsten ist es an einem Raspberry PI erklärt. Der kleine Einplatinencomputer besitzt eine Firmware, die dauerhaft in einem EEPROM gespeichert ist. Diese regelt die  Kommunikation der Komponenten wie WLAN Chip, USB Controller und Prozessor untereinander, so dass ein Betriebssystem wie z. B. Debian (Linux) darauf funktionieren kann. Während man durchaus Updates für das Betriebssystem regelmäßig aufspielt, lässt man die Firmware besser wie sie ist, denn ein Eingriff darin könnte verhindern, dass der Prozessor z. B. nicht mehr auf den USB Controller zugreifen kann. Daran ändert dann auch das erneute Aufspielen eines anderen Betriebssystems nichts mehr. Bei unsachgemäßer Veränderung der Firmware hat man den Raspi dauerhaft zerstört.

Die 3D Drucker, um die es ja nun eigentlich gehen soll, besitzen allerdings kein Betriebssystem wie Linux oder Windows, sondern wie eine Waschmaschine ausschließlich eine Firmware, abgespeichert in einem EEPROM auf dem Mainboard, mit einem entsprechend umfangreichen UI (User Interface) zur Bedienung des Geräts.

Marlin – hieß so nicht Nemos Vater?

Die auf den meisten 3D Druckern werkelnde Firmware, so auch auf den Creality Druckern, nennt sich Marlin und ist eine Open-Source-Steuersoftware, die in erster Linie sogenannte GCodes in Steuerbefehle umsetzt und somit die Komponenten des 3D Druckers in ihrem Verfahren regelt. Sie sorgt dafür, dass die Heizpatrone auf eine bestimmte Temperatur gebracht wird und bewegt die Motoren in entsprechende Richtungen, so dass Filament extrudiert wird und die Achsen sich entsprechend der Vorgaben bewegen, um im Idealfall am Ende ein Modell aus Plastik auf dem Druckbett entstehen zu lassen. Die GCode Abfolge erhält die Firmware entweder über USB, oder SD-Karte in einer Datei, die vom Slicer (Cura, Simplify3D, Slic3er o.ä.) erstellt wurde.

Entwicklungsfortschritt

Nun ist es so, dass Marlin nicht einmal entwickelt wurde und einen bestimmten Stand der Entwicklung behalten hat, sondern der Funktionsumfang wächst stetig. Es gibt also immer mal wieder neue Releases (Veröffentlichungen) mit einem höheren Firmwarestand, in denen solche Erweiterungen mit aufgenommen werden. Die Dev-Crew (Developer/Entwickler) um Marlin nehmen sich hier Ideen und Anregungen aus der Usergemeinde, den 3D Drucker Herstellern und der eigenen Erfahrung an und setzen mehr oder weniger sinnvolle Ergänzungen um. Hierbei gibt es grundsätzlich zwei Entwicklungslinien. Einmal eine Stable-Version, die umfangreich getestet und mit all ihren Funktionen (im Idealfall) ohne Fehler ist und eine öffentliche Beta-Version, an der fortlaufend gearbeitet wird und welche von Release zu Release immer neue Änderungen eingearbeitet bekommt. Dieser RC (Release Candidate) nennt sich Bugfix-2.0.x. In der aktuell letzten Bugfix Version sind zum einen bereits Fehler aus den RC Vorversionen behoben, aber auch neue ungetestete Funktionen enthalten. Auf einem Produktivdrucker hat so eine Version in der Regel nichts verloren. Die Praxis zeigt allerdings ein anderes Bild. Wie bei einer Public-Beta zum neuen iOS für ein iPhone, ist die Bugfix-Version in Maker-Kreisen, die ständig neue Funktionen ausprobieren wollen, die wohl am meisten verbreitete.

Ich warne hier aber ausdrücklich davor, eine solche Version aus inoffiziellen Quellen auf den eigenen Drucker zu flashen. Dazu aber später mehr.

Marlins Geschichte

Marlin hat mit der Version 1.0.x begonnen und relativ schnell zu dem Versionsstrang 1.1.x gewechselt und diesen dann bis zur offiziell letzten Version 1.1.9 ausgebaut. Mit Einführung von Mainboards auf ARM Prozessor Basis und somit 32bit anstelle der bis dahin nur verfügbaren 8bit Mainboards, benötigte Marlin eine grundlegende Strukturänderung um auf diesen Boards überhaupt lauffähig zu sein. Dies hat man auch namentlich mit dem Wechsel zum Versionsstrang Marlin 2.0.x gekennzeichnet. Somit wird an der Version 1.1.9, welche ausschließlich auf 8bit Boards läuft nicht mehr weiter entwickelt und diese Version hat den Status „EOL“ (End of Life) bekommen. Das bedeutet aber in gar keinem Fall, dass die Version nun nicht mehr nutzbar wäre. Im Gegenteil sie ist für alle 8bit Boards weiterhin noch „State oft the Art“, also dahingehend der letzte Stand der Technik. Es soll aber nicht unerwähnt bleiben, dass leistungsstarke 8bit Boards, wie z. B. das Creality 2.4 oder auch das TriGorilla 1.1 nicht ausschließlich mit Marlin 1.1.x funktionieren. Sie können auch mit Marlin 2.0.x betrieben werden. Hier ist es allerdings eine Frage des weiteren Funktionsumfangs, der in Marlin 2.0.x im Laufe der Zeit Einzug halten wird und ob selbst diese 8bit „Power-Boards“ dann noch mithalten können. Da es wie oben bereits erwähnt für einen 3D Drucker aber völlig unerheblich ist, ob er mit neuesten Sicherheitspatches versorgt wird, kann er mit der Version auf Basis 1.1.x noch bis in alle Ewigkeiten arbeiten. Einzige Voraussetzung wäre eine in der Zukunft aufrecht erhaltene Versorgung mit SD-Karten und einem Interpreter, der 3D Modelle slicen und in GCodes umwandeln kann.

Was machen die Hersteller?

Während die Entwicklung bei Marlin aber nicht aufhört und man mit Einzug der 32bit Boards den Fokus nun auf die Version 2.0.x gelegt hat, sind manche Hersteller von 3D Druckern irgendwann auf einem älteren Versionsstand stehen geblieben. Die Marlin-Crew ist sicherlich nicht dafür verantwortlich jedem Druckermodell eine dafür speziell konfigurierte Version bereitzustellen, sondern sie liefern eine Basis für nahezu alle Mainboards und damit für eine ganze Reihe von 3D Drucker Modellen. Vielmehr ist der Druckerhersteller hier in der Verantwortung für sein Druckermodell die Firmware zu konfigurieren und somit das Gerät funktionsfähig zu machen. Viele Hersteller folgen allerdings zeitlich nicht der recht hohen Schlagzahl der neuen Marlin Versionen und sind mit ihren aktuell im Verkauf befindlichen Druckern noch auf wesentlich älteren Version als Marlin 1.1.9 und erst recht als Marlin 2.0 stehen geblieben.

Warum ist das so? Sollte ein Druckerhersteller seinen Kunden nicht immer eine möglichst aktuelle Version der Betriebssoftware mitliefern, oder dafür sorgen, dass sie aktuell gehalten wird? Die klare Antwort ist hier NEIN. Viele Funktionen, die in Marlin im Laufe der Zeit eingearbeitet wurden, dienen nicht ausschließlich der Sicherheit, wie z. B. die „Thermal Runaway Protection“, sondern beschäftigen sich mit mehr oder weniger komplizierten Berechnungsalgorithmen, denen die Mechanik des Druckers auch folgen muss. Genannt seien hier zwei Funktionen, Linear Advance und S-Curve Acceleration.

Ich möchte nicht näher auf die Vor- und Nachteile dieser Funktionen eingehen, aber verdeutlichen, dass ein Drucker unter bestimmten Voraussetzungen diese Funktion in der Firmware gar nicht braucht. Zunächst muss der Drucker sowieso bereits eine mehr als penible Einstellung der mechanischen Bauteile hinter sich haben um wirklich einen Effekt damit zu erreichen. Lagerspiele, krumme Spindeln, billige Riemen und somit die verwendeten Bauteile rechtfertigen teilweise somit gar kein Firmware-Upgrade, weil der Drucker schlicht nicht die mechanischen Voraussetzungen mitbringt. Weiterhin bedarf es eines gehörigen Rechenaufwands, um diese Funktionen unter Marlin auch bei den komplexesten 3D Modellen anwenden zu können, ohne aus dem Takt zu kommen. Dafür eigenen sich einige 8bit Modelle nur bedingt, wenn ich hier mal den Fokus auf das eher „leistungsschmale“ Melzi Board lenken darf. Daher dürfte ein Firmware-Upgrade für den Ender 3 oder den Ender 5 mit originalem Melzi Board aus diesem Grund eher ausscheiden. Versieht man den Drucker allerdings mit z. B. einem Sensor, den er ab Werk nicht hatte, bedarf es auch keines Firmware-Upgrades, sondern lediglich einer Firmware-Anpassung. Und wenn der Druckerhersteller, wie bei Creality sogar tatsächlich der Fall, dieses Hardware-Upgrade (Silent Board, BLTouch) selbst anbietet, stellt er in der Regel dafür auch eine angepasste Firmware zur Verfügung, die dann auch gefahrlos aufgespielt werden kann. Welchen Firmwarestand der Hersteller dann für die Anpassung wählt, ist unklar. Im Falle von Creality haben sie lediglich von der Marlin 1.1.6 auf die 1.1.7 angehoben. Allerdings reicht das auch für die betreffenden Drucker. Man sollte sich also sehr gut überlegen und im Klaren darüber sein, ob ein Versionswechsel bei dem eigenen Drucker tatsächlich zu der gewünschten Verbesserung führen kann.

Für wen also?

Für wen also liegen die neuen Marlin Versionen bereit? Definitiv nicht für den normalen Käufer eines vorkonfigurierten Druckers. Der hat eigentlich überhaupt keinen Grund eine andere Firmware als die, welche mit dem Drucker ausgeliefert wurde, hier aufzuspielen. Viel mehr sind damit die ambitionierten 3D Druck-Nutzer angesprochen, welche sich einen eigenen Drucker von Grund auf zusammenbauen, oder ihren vorkonfigurierten Drucker in dem Bewusstsein kaufen, ihn direkt umzubauen, aufzupimpen oder die Mechanik grundlegend zu verändern. Die haben allerdings in der Regel auch Ahnung von der Marlin Konfiguration und wissen, was sie ihrem Drucker zumuten können.

Enough is enough

So. Und nun genug von der Theorie über Firmware und Marlin und der nicht vorhandenen Notwendigkeit als Nutzer stetige Updates in diesem Bereich zu tätigen, hin zu dem eigentlichen Kern dieses Beitrags.

Als Zwischenfazit bleibt aber demnach erstmal stehen: Finger weg von Firmwareupdates, besonders von denen, die man nicht selbst erstellt und kompiliert hat und von denen, die nicht offiziell über die Herstellerseite angeboten werden.

Wie allerdings immer im Leben – mit wenigen Ausnahmen.

Die Ausnahme

Es gibt durchaus Menschen, die genau wissen was sie tun und somit auch deutliche Verbesserungen zur Stock Firmware von einigen Druckermodellen mit einer alternativen Firmware umsetzen.

Hierbei seinen zwei Leute genannt, bei deren Firmware keine Gefahr für den Drucker besteht, sollte man sie aufspielen. Für Anycubics i3 Mega und Mega S wäre das David Ramiro, der eine alternative Firmware für die Stock-Ausstattung des Druckers auf Basis der letzten Marlin Version 1.1.9 geschrieben hat. Diese bringt den erheblichen Vorteil mit, dass man keinerlei Hardware-Änderungen am Drucker durchführen muss, da sie mit dem Werksdisplay des i3 Mega funktioniert. Ebenfalls bringt sie ein sogenanntes „Manual Mesh Bed Leveling“ mit, was die Probleme einer unebenen Ultrabase stark minimieren kann.

Für die auch sehr beliebten 3D Drucker von Creality hat Insanity Automation um David Menzel eine Firmwarebasis entwickelt, die vom US-Händler Tiny Machines als Standard-Firmware abseits der originalen Creality Firmware direkt mit den Druckern an den Endkunden ausgeliefert wird. Aus dem Grund bekleidet die üblicherweise als „Tiny Machines Firmware“ benannte Marlin-Variante von Insanity Automation hier eine Art Sonderstellung.

„Tiny Machines 3D“ ist ein aus den USA stammender Händler, der neben Zubehör für den 3D Druck auch optimierte 3D Drucker diverser Hersteller anbietet. Vornehmlich im Portfolio finden sich die Drucker von Creality, aber auch von Vivedino, Hieha und Artillery/Evnovo. Eine Übersicht findet Ihr hier auf der Seite von Tiny Machines.

Die von Tiny Machines ausgelieferten Drucker unterscheiden sich in erster Linie über die optimierte Firmware von denen, die man über direkte Kanäle vom Hersteller kauft. Seltener sind bei den Druckern von TM3D Hardwareoptimierungen durchgeführt, so dass ein Besitzer eines Creality Druckers aus der CR oder der Ender Serie bei identischer Hardware auch von den Vorteilen der „Tiny Machines Firmware“ profitieren kann, obwohl er den Drucker nicht dort gekauft hat.

Die Tiny Machines Firmware wird von Insanity Automation, ebenfalls ein Unternehmen aus den USA, konfiguriert. Kopf und u. U. sogar einziger Mitarbeiter von Insanity Automation ist David Menzel. Zumindest wird kein anderer Name in Verbindung mit Insanity Automation genannt und auch die Kontaktdaten weisen darauf hin, dass man immer mit ihm selbst kommuniziert.

Sehr populär ist die Firmware Variante von Insanity Automation für den CR10s Pro von Creality, weshalb Tiny Machines diesem Drucker und der Firmware Variante eine eigene Resource Page spendiert hat. Diese findet sich hier:

Tiny Machines Resource Page für den CR10s Pro

Hier geht es ausschließlich um diesen einen Drucker in der V1 und V2. Eine wirkliche V1 gibt es dabei allerdings nicht. Der ursprüngliche Drucker hieß und heißt weiterhin einfach: CR10s Pro und die Upgrade Variante heißt: CR10s Pro V2. Dies nur, um Verwirrungen zu vermeiden. Unterschied zwischen den beiden Druckern ist hauptsächlich nämlich nur der Sensor. Die V2 benutzt einen BLTouch und die „V1“ hat einen kapazitiven Sensor. Ansonsten sind die Drucker bis auf minimale Unterschiede in der Elektronik identisch. Sie besitzen beide das Creality V2.4 Mainboard, haben die gleiche Ausstattung im Bereich Hotend und Feeder und haben eine identische Größe (Rahmen, Spindeln, Bett).

Tiny Machines hat den ursprünglichen CR10s Pro bereits mit einer optimierten Firmware ausgeliefert und diese Firmware auf der Resource Page zur Verfügung gestellt. Dabei handelte es sich damals um auf Marlin 1.1.7 bis 1.1.9 basierende Versionen, welche die Bezeichnung B5, B6 und B7 (in der Reihenfolge Marlin 1.1.7, 1.1.8, 1.1.9) hatten.

Das besondere an der Firmware war die Möglichkeit das TFT Display zu behalten und dennoch eine höhere Marlinversion zu nutzen, als Creality sie im Original zur Verfügung stellte. Ebenso waren bei der Firmware die Bettgröße und die Offsets des Sensors an die realen Bedingungen angepasst, sowie der Nivellierungsprozess vereinfacht und auf 16 Messpunkte im bilinearen Verfahren ausgeweitet. Die Optimierung der Bettgröße hat den Vorteil, dass nicht wie bei der originalen Creality Firmware die Düse an den rechten Rand des Betts fuhr, sondern der Sensor. Somit hat man ein genaueres Mesh und kann auch während des Drucks einen größeren Bauraum nutzen.
Weitere Vorteile, die sich aus den höheren Versionen von Marlin ergaben, waren hier gegenüber des alten Basisstands der Creality Firmware auch eingearbeitet. Wie bereits oben erwähnt sind das solche Funktionen wie Lin Advance und S-Curve Acceleration, wovon der Drucker wegen seiner soliden Mechanik und dem leistungsstarken Mainboard durchaus profitieren kann.

Da jeder Firmwarestand u. U. andere Funktionen mitbrachte, die auch über das Display zu bedienen sind, gab es für jede Firmwareversion auch ein entsprechendes DWIN_SET, also die Firmware für das Display, welches separat zu flashen ist.

Aktuell sind die auf Marlin 1.1.9 basierenden Versionen von Insanity Automation nicht mehr auf der Resource Page von Tiny Machines vorhanden und man bekommt lediglich die (nicht mehr gepflegte) letzte Stable der B7 Version inkl. dem zugehörigen DWIN_SET und die ganz alte B5 auf den Github Seiten von Insanity Automation im Branch „CrealityDWIN_Test„.

Die B5 umfasst in der Konfiguration nur den ursprünglichen CR10s Pro mit Stock Sensor (kapazitiver Sensor) und die B7 wurde bereits für die V2 des Druckers optimiert. Hier gibt es jeweils zwei Varianten der Firmware entweder für den CR10s Pro mit Stock Sensor und Baudratenanpassung (entweder 115k oder 250k) und den CR10s Pro mit BLTouch und Baudratenanpassung (115k oder 250k).

Die Firmware (B7) welche auf Marlin 1.1.9 basiert, läuft auch heute noch sehr gut und es gibt definitiv keinen Grund für jemanden, dessen CR10s Pro damit ab Lieferung (über Tiny Machines) ausgestattet ist, oder vor einiger Zeit damit in Eigeninitiative ausgestattet wurde und keine Probleme macht, dies zu ändern. Marlin 1.1.9 ist weiterhin noch „State of the Art“.

Das gilt bei diesem und allen anderen Creality Druckern allerdings auch für die originale Creality Firmware. Wer mit seinem Drucker zufrieden ist, muss keine alternative Firmware aufspielen.

Ich würde allerdings heute, sofern ich jetzt erst vor der Entscheidung stehen würde, die Creality Firmware gegen die TM3D Firmware austauschen zu wollen, die B7 nicht mehr aufspielen. Hierfür würde ich bereits auf die von Insanity Automation erstellte Firmware auf Basis von Marlin 2.0 gehen. Der Grund hierfür liegt darin, dass Tiny Machines selbst auf Ihrer Resource Page für den CR10s Pro die B7 nicht mehr anbietet, sondern auch hier auf die aktuelle DW6 geswitcht ist. Ebenfalls erhält man die DW6 auf der GitHub Seite von Insanity Automation im Branch CrealityDWIN_2.0. Ebenso werden alle aktuell von Tiny Machines gekauften Geräte ebenfalls bereits mit der DW6 ausgeliefert. Dies bedeutet auch, dass für Kunden von Tiny Machines diese Firmwareversion quasi die Stock-Firmware ist. Diese ist zwar im Grunde nur eine Versions-Weiterentwicklung von Marlin, aber die Hauptunterschiede im Bereich der Bettgröße und des etwas anderen Leveling-Prozesses zur Creality Originalfirmware sind die gleichen. Nach nunmehr fast 100 Druckstunden mit dieser Firmwareversion auf dem CR10s Pro und dem CR10 Max kann ich aber auch sagen, dass sie ebenfalls genauso stabil läuft wie ehemals die B7.

Als Anmerkung: Ich hätte auch bei dem CR10s Pro keinen Anlass gehabt von der B7 wegzugehen, jedoch kam der CR10 Max bei mir später ins Portfolio und hier habe ich direkt die DW6 aufgespielt und dann auch den CR10s Pro damit upgedatet, damit ich beide Drucker auf einem Firmwarestand hatte.

Während auf der Resource Page von Tiny Machines lediglich die .hex Files für den CR10s Pro mit kapazitiven Sensor und nachgerüstetem BLTouch, sowie für die V2 mit BLTouch angeboten werden, findet man auf der GitHub Seite von Insanity Automation noch etliche andere Konfiguration für den CR10s Pro als .hex Files, aber auch für alle anderen Drucker von Creality. Die Tiny Machines Firmware ist demnach nicht dem CR10s Pro vorbehalten, sondern lässt sich auf so gut wie allen CR und Ender Modellen aufspielen. Außerdem findet Ihr hier auch die jeweiligen Sources um eigene Änderungen noch einfließen zu lassen und selbst zu kompilieren.

Ihr findet in dem Ordner „HEX-Files“ eine ellenlange Liste deren Abkürzungen auch dort erklärt sind. Ich hänge unten noch ein Bild an, wo es aber auch nochmal steht.

 

Wichtig wäre noch zu wissen, dass ab der DW6 auf Basis Marlin 2.0 alle Drucker mit TFT, also die beiden CR10s Pro Modelle, der Ender 5 Plus, der CR10 Max usw. die gleichen Screenfiles benutzen. Das DWIN_SET ist hier für alle Drucker identisch. Ausnahme bildet der CR-X, da dieser über einen DualExtruder verfügt und daher andere Funktionen am Display benötigt. Und alle Drucker mit normalem LCD Display mit Drehknopf, benötigen keine Screenfiles.

Es gibt auf der GitHub Seite von Insanity Automation noch ein paar Branches mehr, die sich mit der Firmware der Creality Drucker beschäftigen. Wer also testen will und auch nicht vor eventuellen Problemen mit diesen Versionen zurückschreckt hat hier auch die Möglichkeit. Eine Auflistung hänge ich ebenfalls unten an. Ich persönlich würde meine Firmware für den CR10s Pro und auch meine anderen Creality Drucker allerdings nur aus dem Branch „CrealityDWIN_2.0“ holen.

Und zuletzt für alle CR10s Pro Besitzer, denen das zu viel ist und die Übersicht verloren haben, oder nicht wissen, ob sie lieber BIL oder UBL oder was auch immer für eine Konfiguration haben wollen, denen sei angeraten, sofern sie überhaupt einen Grund haben die originale Firmware auszutauschen, sich die passenden .hex Dateien und die Screenfiles von der Tiny Machines Resource Page zu holen. Dort habt ihr die jeweilige aktuelle Standardkonfiguration, die auch auf dem CR10s Pro aufgespielt wäre, wenn ihr ihn von Tiny Machines gekauft hättet. Für alle anderen Creality Modelle (Ender 5 Plus, CR10 Max, CR10 usw.) muss man sich allerdings dann die Firmware von Github holen.

Ach so: Ganz wichtig. Die Firmware von Insanity Automation, landläufig als TM3D-Firmware oder Tiny Machines Firmware bezeichnet, ist ausschließlich für die Drucker mit ihrer jeweiligen Originalhardware gedacht. Besonders die .hex Files, die man von der Tiny Machines Resource Page herunterladen kann. Wer ein anderes Board als das originale Board oder das jeweilige Upgradeboard (SilentBoard) verbaut hat, der kann diese Firmware per se nicht nutzen. Wer lediglich einen anderen Feeder verbaut hat, der ändert mit GCode, aber wer ein anderes Heizbett oder etwas Ähnliches umkonfigurieren muss, der kann schauen ob es in dem Branch eine entsprechend konfigurierte Version gibt. Wenn nicht, dann muss man sich die Source laden und tatsächlich die Änderungen selbst einpflegen und neu kompilieren.

Und zum Schluss nochmal ganz deutlich:

Ein Firmware-Upgrade auf eine alternative Firmware kann Vorteile bringen. Im Falle von Tiny Machines für Creality und auch bei David Ramiros AI3 Firmware für Anycubics i3 Mega ist das so. Man ist aber definitiv auf keinen Fall gezwungen unbedingt für bessere Ergebnisse des Druckers diese Updates zu machen. Auch mit der originalen Firmware liefert ein gut eingestellter Drucker beste Ergebnisse. Wenn Euer Drucker das tut, bringt Euch ein Firmware-Upgrade rein gar nichts. Er kann danach nicht mehr, als er vorher auch schon konnte. Im schlimmsten Fall kann das dann auch ganz böse nach hinten losgehen. Definitiv Finger weg von irgendwelchen auf GitHub oder Thingiverse angebotenen „optimierten“ Firmwares. Dort weiß man nie, wer und mit welchem Kenntnisstand hinter dieser Firmware steckt.

Ich hoffe, dass dies einigen Leuten helfen kann sich zurecht zu finden und zu verstehen, dass es keinen Zwang für ein Update der Firmware gibt, wenn man seinen Drucker im Originalzustand betreibt.

26 Kommentare

  • Hallo habe jetzt meinen CR10 MAX auf akuteste Version von TM3D Firmware Updated aber nun habe ich jetzt das Problem das autolevel (bricht hin und wieder ab) nicht richtig funktioniert und ich ich die Funktion der Autolevels bei jedem neuem Druck nicht abstellen kann… habe ich etwas falsch gemacht beim Flaschen der Firmware und vom LCD ???

    • el-constructor

      Ja, Du hast vorher geflasht bevor Du den exellenten Beitrag mehrwiedu gelesen hast.
      Da steht die Lösung ja drin.

  • Sehr guter und ausführlicher Beitrag, Danke dafür.
    Ich habe die tinymachine dw 62 und dw7 heute auf meinem Ender 5 Plus ausprobiert. Grund waren große Probleme mit Streifen verursacht durch die Heizungsregelung ohne Möglichkeit des PID-tuning.
    Dieses Problem ist deutlich reduziert durch Möglichkeit des PIDtuning.
    Ein Problem habe ich allerdings. Die Bewegung der Z-Achse über das Display ist genau vertauscht in der Richtung d.h. man drückt auf hoch und die Achse fährt runter. Hat das noch Jemand mit dieser FW und kann man das irgendwie korrigieren.
    Danke.
    Gruß Torsten

  • Vllt noch ein SAtz zu dem Thema von mir: Deutschland ist sehr stark exportorientiertes Land. Wenn nun unsere „Kunden“ allesamt nur noch heimische Produkte einsetzen würden, wieviel Arbeitslose mehr würde es dann hier geben ? Was würde in Bangladesh, Indien, China, passieren, wenn wir „Westler“ plötzlich nicht mehr deren Produkte kaufen würden ? Abeitslosigkeit, vllt. sogar Völkerwanderungen hin zu den „Reichen“ usw. Malt es euch aus. Wir brauchen den globalen Handel. Anders kann die Welt mittlerweile gar nicht mehr existieren. Ein „Nur noch wir“ ist abs. tödlich.

    • Soweit richtig. Allerdings zur gleichen Bedingungen unter der Berücksichtigung der Menschenrechte. Konzentrationslager in China (Wortlaut der Politik), Hongkong, geistiges Eigentum, usw…. die Liste wäre zu lang…… Muss man sich schon überlegen ob man das unterstützt. Ich persönlich nicht mehr.

      • Ja, auch richtig, allerdings schadest du dann den Menschen, die den Artikel herstellen und nicht der Politik. Das sollte man auch nicht vergessen.

  • Danke für den Artikel. Bis zum Verkauf meines CR10SProV2 vor einige Wochen habe ich mehrere Varianten von Firmware probiert. Ich hatte seinerzeit viel in dem Crealiity Forum gelesen und dort bemerkt, dass quasis jeder 5. Post darum ging, welche Firmware man denn nun direkt nach dem Auspacken des Druckers installieren wollte. Ich dachte, wow, toll. Das macht Spass. Kann nurn gut sein. Also ran an den Speck. Zack–> Touchscreen defekt. Also neuer her, eingebaut. Nächster Versuch: Zack -> USB Port nicht mehr ansprechbar – 3 Tage lang habe ich dann mit Arduino und einem USB-ISP-Stick AVR-Programmieradapter rumgemcht, bis ich dann eine alte Firmwareversion fehlerfrei kompilieren und aufspielen konnte. Dann wieder die „normale“ Firmware. Da habe ich mir geschworen „Nie wieden diesen Mist mit dem Flashen veranstalten. Nur einmal, da juckte es wieder… In der Reddit Gruppe suchte eine User DESUUU Tester für seine Firmware. DIe habe ich dann doch mal wieder ausprobiert. Auch nur, weil ich nun wusste, was im Notfall zu tun ist. Der hat mir auch geraten, beim Flashen die T5* Files aus dem dwin_set rauszunehmen, weil die für defekt screens verantwortlich sein können. Mit meinenm erworbenen Kenntnissen habe ich in der Folge mehreren Leuten auf der FB Gruppe dann geholfem, ihren tot-geflashten Drucker wieder flott zukriegen. Mit einer Künstlerin aus Spanien habe ich mehrere Stunden gechattet, bis der Drucker wieder lief. Was will ich damit sagen: Es ist kein Kinderspiel und mit Gefahren verbunden. Wenn man nicht genau weiß, was man macht und wie man etwas repariert, wenns schiefgeht, sollte man das alles nicht machen. Vieles von dem, was die Firmware bietet (PID tuning, oder so) kann man auch via G oder M Codes erledigen. Und so lupenrein sind die Codes von David Menzel auch nicht. Man liest immer mal wieder von Problemen hier und da.

    • Ich bin nicht grundsätzlich dagegen eine alternative Firmware zu testen oder sie auch dauerhaft zu nutzen. Und sicherlich sind die Codezeilen eines David Menzel auch nicht lupenrein, wie Du sagst. Aber wie auch, wenn selbst Marlin aufgrund ihrer breiten Basis hier im Standard nicht immer einwandfrei funktioniert. Es ist ein Open Source Projekt mit Bugs und Fehlern. Kein lizensiertes Softwareprodukt einer Firma. Darüber hinaus hat man Einsicht in die Quelldateien der von Insanity Automation bereitgestellten Firmwarevarianten. Ganz im Gegenteil zu z. B. den aktuellen Firmwarereleases von Anycubic. Den Unterschied einer x-beliebigen Firmware aus irgendeiner Quelle zu der von Tiny Machines zur Verfügung gestellten Firmware besteht in erster Linie darin, dass sie ihre vertriebenen Geräte damit bereits bei der Auslieferung ausstatten.

      Daher bin ich bei dieser Quelle offener gegenüber Firmware aus einer x-beliebigen GitHub Quelle oder solchen, die aus einer Facebook Gruppe der Allgemeinheit zur Verfügung gestellt werden.
      Hier ist allerdings auch eine hohe Bereitschaft der Nutzer festzustellen, den 3D Druck wirklich als Betatester und mit der Gefahr von fehlerhaften Ergebnissen auszuüben, nur um die Befriedigung einer höheren Firmwareversion zu haben. Anders kann ich mir auch nicht erklären, warum so viele Nutzer in Gruppen, Foren und Blogs auf die Bugfix-Version von Marlin verweisen, daraus selber ihre Firmware kompilieren, die dann diese und jene Funktion beinhaltet und das Nonplusultra für diesen und jenen Drucker darstellt.
      Man flasht sich also freiwillig eine ungestestete, nicht fertig gestellte und fehlerhafte Version einer Firmware auf den Drucker um damit langfristig produktiv arbeiten zu können? Da ist ok für mich, solange man nicht anderen Usern suggeriert, man müsse das unbedingt mit seinem Drucker machen.

      Der andere Weg ist auch nicht wirklich besser, z. B. die Marlin Basis so zu verändern um daraus quasi eine proprietäre Firmware zu machen, den Sourcecode für sich zu behalten und die Nutzer dieser Varianten an sich zu binden.

      Dann bleibe ich lieber bei der Stock Firmware des Herstellers.
      Ich hoffe, man versteht meinen Haltung zu alternativer Firmware, die nicht zwangsläufig nur negativ ist. Baut man sich seinen Drucker um oder baut man sich von Grund auf selbst einen, kommt man nicht umher einen Eingriff in die Firmware zu machen. Das ist aber eine völlig andere Voraussetzung. Den in der Hardware unangetasteten Drucker im Bereich der Betriebssoftware zu verändern ist 1. völlig unnötig und 2. wie Du sagst auch gefährlich, da es durchaus möglich ist, ihn damit auch in Teilen zu zerstören.
      Die tatsächlich einzige Ausnahme dieser Vorgehensweise sehe ich bei Tiny Machines. Allerdings auch nur, weil ich den bei Tiny Machines gekauften Drucker bereits mit dieser Firmware erhalte. Wäre dies nicht so, sähe der obige Artikel wahrscheinlich ganz anders aus. 🙂

      • „..weil ich den bei Tiny Machines gekauften Drucker bereits mit dieser Firmware erhalte.“ Das ist das einzige Argument, das auch für mich zählen würde, weil dann der Support enthalten ist. Aber kann man denn hier in D. bei TM Drucker kaufen ? Ok, bei entspr. Transportkosten geht das sicherlich.

  • Danke David. Dein Artikel gibt nicht nur hervorragende Informationen, sondern macht auch deutlich, dass Firmwareupgrades bei 3D Druckern keine Modeerscheinung sein dürfen, oder wie bei bei anderen Elektronikspielzeugen gar eine „Sucht“.
    Leider gibt es Elektronikspielzeuge, die als Bananenprodukte ausgeliefert werden und beim Kunden reifen sollen. Oft wird der Kunde als Betatester missbraucht. Darum machen viele ERST einmal ein Firmwarupgrade, bevor sie das Gerät überhaupt ein Mal benutzt haben. Das ist quasi Gewohnheit geworden.
    Diese Gewohnheit sollten sich unerfahrene Einsteiger im 3D Druck Hobby möglichst abgewöhnen – sie produziert unnötig Frust und strapaziert die Hilfswilligen.
    Ich habe hier neulich einen Beitrag gelesen, da hat einer ZWEI Drucker gleichen Typs gekauft, bei BEIDEN sofort ein Firmwareupgrade gemacht – mit Misserfolg. Habe ich kein Verständnis dafür.

    • Ich lese auch immer wieder, das ein Drucker gekauft worden ist, und bevor der überhaupt da ist wird gefragt, was alles ausgetauscht werden soll und was man „verbessern“ soll. Erinnert mich an die Mantafahrer von früher 🙂 Höher, Breiter, Tiefer.

      • Zunächst auch von mir Dank für den Beitrag von mehrwiedu! Das ist eine gewaltige Arbeit!

        Bei den Leuten, die noch vor dem Auspacken die Firmware flashen frag ich mich, wie die eine Verbesserung feststellen wollen ohne das Original gesehen zu haben. Das ist im Grunde mit jeder Änderung am Drucker so. Da mag es Ausnahmen geben bei offensichtlichen mechanischen Mängeln aber der Firmware sieht man das von außen nicht an.

        Teilweise kommt man um einen Eingriff nicht umhin. Beim CR-10 V2 hab ich auf Original V6 gewechselt um höhere Temperaturen fahren zu können und den DualDrive vom Pro eingebaut. Aber auch da bevorzuge ich die Original-Firmware und passe nur die erforderlichen Punkte an. Leider gibt es nicht immer den Source Code dazu.

  • Alles richtig, bis zum Punkt wo das Bed Leveling ins Spiel kommt. Marlin bietet da sehr leistungsfähige Verfahren um das Bett zu vermessen und zu korrigieren. Aus Ressourcengründen sind die aber in der fertigen Firmware nicht wähl- oder konfigurierbar.

    Bei den Hochpreismodellen CR-xyz mag das Bett insgesamt aus Glas und schön plan sein, so dass eine 3×3-Meshmessung ausreicht. Bei den kleinen Ender 3 xyz-Modellen mit gruseliger Mondlandschaft ist ein 7×7-bilineares Vermessen sinnvoll, um überall gute Betthaftung zu haben. Die kann ich bei Marlin aber nicht ohne Firmwareupdate einspielen. Da muss man die Firmware tauschen, um die Arbeitsweise des ABL zu verbessern.

    Von Klipper fang ich jetzt nicht an 🙂 Da ist es übrigens wieder so, dass nur etwa im Jahrestakt neue Versionen kommen, und das letzte Release von Herbst 2019 immer noch salonfähig ist.

    • Das ist auch richtig. Jedoch sehe ich das als Problem von Marlin, bzw. den Erstellern der Werksfirmware (also der Hersteller selbst) an, dass die Wahl der Messmethode aber zumindest bei einer festgelegten (in der Regel wahrscheinlich ABL) die Anzahl der Messpunkte nicht einstellbar ist. Bei Prusa geht das und hier kommt auch Marlin zum Einsatz.

      • Ja, Prusa hat für den eigenen Bedarf einiges an Marlin geändert. Creality liefert Stock Marlin, und beim ABL eher suboptimal voreingestellt. ABL ist das fast immer, ob Mesh, bilinear oder linear. Mesh, linear und bilinear unterscheiden sich bei der Formel für die Interpolation zwischen den Messpunkten.

        Aber da erodiert mein Wissen. Ich bin zu Klipper gewechselt, wo die Welt anders, aber übersichtlicher ist. Gerade ABL ist da schlanker, es gibt die Einstellungen einmal statt viermal zwischen vielen ifdef- und Ifndef-Anweisungen.

        • Klipper habe ich noch gar nicht getestet. Mit welchen Drucker nutzt Du das? Vielleicht kann ich ja einen Drucker und ein Raspi dafür mal fit machen um überhaupt damit Erfahrungen zu sammeln.

          • Ich habe ja nur einen – meinen E3 Pro. Als ich neulich über was solideres nachdachte, war der Rat sehr eindeutig: Beiß dich durch die schlechte Verarbeitung durch und lerne daraus. Mittlerweile ist außer Rahmen und Bett allerdings nicht mehr viel original, es ist doch einiges nach und nach kaputt gewesen, oder im Rahmen der Ursachenforschung für verlorene Schritte hochgetauscht. 😉

            Die Installation auf dem Raspi ist nicht aufwändig. Mein Tipp: Schau mal im Github, für welchen deiner Drucker es schon eine fertige Konfiguration gibt, die man nur noch mit minimalem Aufwand anpassen müsste.

  • Ich vertrete durchaus den Standpunkt, dass sich eine alternative Firmware sehr lohnen kann, auch wenn die originale (in meinem Fall von Creality) eigentlich problemlos läuft.
    Vorausgesetzt, man weiss, was man macht…

    Habe auf meinem CR-10 V2 eine alternative Marlin 2.0 Firmware von Nic Wilson (von der CR10 V2 & V3 Firmware Gruppe auf Facebook) in Verwendung und es sind hier ein paar Sachen geändert, die durchaus Sinn machen und auch die Druckqualität verbessern.

    Da ich nichts mit Firmware selbst kompilieren am Hut habe, war das für mich eine einfache und praktikable Lösung, zu besseren Drucken zu kommen.

    So ist in der alternativen FW unter anderem das PID Tuning für das Heizbett aktiviert. Und das macht sich sehr positiv in den Drucken bemerkbar.
    Was auch geändert wurde ist die Erhöhung der Geschwindigkeit beim Ausmessen des Heizbetts mit BL Touch.
    So wartet man nur noch die Hälfte der Zeit, bis der Drucker vor dem Print das Bett vermessen hat.

    Klar war das Ganze erst einmal mit einem gewissen Risiko verbunden, da ich nicht wusste, ob die Firmware sauber läuft. Aber das macht sie und anhand des Feedbacks in der FB Gruppe zu schliessen, bin ich nicht der einzige der mit dieser alternativen Firmware besser zufrieden ist, wie mit der originalen.

    • Das ist immer auch eine Frage des Kenntnisstandes. Jemand, der weiss was er tut bzw. im Zweifel frustresistent ist, kann anders vorgehen, als einer, der gerade eben erst seinen allerersten Drucker in Empfang genommen hat und noch nie irgendwas gedruckt oder geflashed hat.

      Ich fange hier im Blog gern die absoluten Einsteiger ein – die erfahrenen Nutzer lassen sich eh nimmer beeinflussen 😉

      Der Einsteiger sollte meiner Meinung gerade auch bei Creality erst mal drucken mit dem, was geliefert wurde. Da werden schon genug Fragen dazu kommen. Dann wenn das klappt und klar ist, dass der Drucker und der Benutzer davor tun was se sollen, kann man dann immer noch mit Firmware anfangen. Oder mit den Umbauten. Jemanden mit abweichender Firmware und gar noch verbasteltetem Drucker zu helfen ist ungleich schwieriger. Je weiter der Einsteiger vom Werksstandard ist umso schlechter kann ihm geholfen werden. Von dem her behagt mir mehrwiedus Post recht gut 🙂

  • Man sollte aber durchaus noch erwähnen dass Kenntnisse in der Firmware Konfiguration vor allem bei billigen China Druckern das Ergebnis positiv beeinflussen können. Aufgrund der sehr vielen Clone, Nachbauten und vor allem Marken die im Moment im Netz angeboten werden, Ursprung meist aus irgendwelchen Foren, „basteln“ die Chinesen alles irgendwie zusammen nur dass es passt und geben irgendwelche Werte an die in Realität nicht darstellbar sind. Sicherlich ist der Vorteil solcher Bastelkisten der Preis, Nachteil dass die Chinesische Exportquote und somit der Einfluss auf die westliche Welt wächst was mit freiheitlich demokratischen Werten u.U. nicht vereinbar ist. Der Erfindergeist der Chinaprodukte ist sehr gering. Habe in der Vergangenheit mehrere Chinesen besessen, nach 2 Wochen Dauerbetrieb hatte jeder deutliche Schwächen gezeigt die erst durch einen Umbau und Feinjustierung der Firmware zum dauerhaften Erfolg geführt haben. Rechnet man die Zeit, den Ärger und die Kosten für die Hardwarenachrüstung zusammen, kann man einen Europäischen Drucker erwerben. Geiz ist Geil nicht immer die intelligentester Lösungsansatz. Vor allem nicht wenn man mit solch aggressiven Verhalten unsere Grundwerte bedroht.

    • Da gebe ich Dir recht, jedoch wird sich ein 3D Druck-williger Anfänger zunächst mal informieren und landet dann zwangsläufig nicht bei „Sinjing-Lung Precision 3d Printing“, sondern eher bei Brand-Marken wie Anycubic oder Creality. Gerade Creality ist in den USA sehr beliebt und steht dort auch für einen gewissen Standard.

      Und wenn man sich anschaut, welche Drucker von Tiny Machines hier mit einer alternativen Firmware aus dem eigenen Hause versehen werden, sehe ich da auch keine Klone oder zusammengesetzte „Bastelkisten“.

      Der Beitrag soll sich an Besitzer eines Creality Druckers wenden, insbesondere an die Besitzer des CR10s Pro und ihnen überhaupt bei der Entscheidung helfen, sowie etwas Übersicht in die verschiedenen Versionen einer Firmware bringen, die im Netz noch rumgeistern. 🙂

    • @Schmid,
      so etwas bist du auf dem Holzweg in Deiner Ausführung.
      Das die Chinesen Deine „Grundwerte“ bedrohen liegt an uns allen inklusive Dir selber!
      Wenn bei uns nicht die maxime gilt „billich will ich“ dann wäre alles kein Thema und chinesische Produkte nur eine Randerscheinung.
      du schreibst ja selbst, schon mehrere „Chinesen“ gekauft zu haben, und hast deswegen genau das bekommen was Du auch wolltest.
      Also nicht allen anderen in die Sache in die Schuhe schieben, sondern mal vor der eigenen Tür kehren.

      Nein ich bin kein chinesischer Botschafter, eher im Gegenteil werden durch meine Arbeit „genötig“ chinesische Werkzeuge in Betrieb zu nehmen, die andere Einkaufen.

      Ich muss mir dann höchstens selbst ankreiden, nicht konsequent genug zu sein, meinen Job deswegen aufzugeben. 😉

      • Da hast Du nicht ganz unrecht. Handel ist der Garant für Frieden, man bringt seinen Kunden nicht um. Aus dieser Perspektive ist alles gut. Allerdings muss man sein handeln auch überdenken können was bei manchen Menschen dazu führt dass sie Dinge auch mal anders sehen können und ihr Verhalten ändern. Deshalb ist es für mich persönlich auch nicht schlimm wenn ich mein Verhalten aus einer neuen Überzeugung ändere oder aus einer anderen Perspektive sehe. Für mich gilt das. Ich möchte einem totalitären Staat nicht dazu verhelfen noch totalitärer zu werden und irgendwann über mich zu bestimmen. Somit ist mein anfänglicher „Holzweg“ doch etwas was mich persönlich weiter bringt. Festhalten an Verhaltensweisen die man als falsch ansieht ist stückweit Idiotie. Es ist nie zu spät. Und diesem Sinne, Gruß Schmid

        • Ich finde, dass wir zurück zur Technik gehen sollten. Das Fass, das sollten wir lieber wieder schließen. Wo wollen wir denn die Grenze setzen? Ist ein europäisches oder amerikanisches Produkt, was wie so heute üblich in China produziert wird, dann zu kaufen? Stärkt das nicht ihre Position? Wir befinden uns hier in einem technischen Forum und sollten es auch dabei belassen. Diese politische Diskussion besitzt zu viele Grautöne.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert