A consumer printer changed across three layers, with every change justified by a measurement.
The printer started as a stock Ender 3: bowden extruder, single Z leadscrew, closed firmware, no bed compensation. It now prints PLA+ and PETG reliably, and getting there took changes at three different layers - extrusion, motion, and control. None of them were chosen because they were popular upgrades. Each one answered a specific failure I could describe.
The firmware layer had a harder constraint than a preference. The firmware project I wanted ships prebuilt binaries, but every one of them targets the colour touchscreen sold with the newer models - none drive this machine's stock monochrome LCD. Compiling from source was not the interesting option, it was the only one, and it shows in the diff: four of the twelve lines I changed exist purely to select the right display.
What I care about in this project is the part that isn't visible in a parts list: every change at one layer created a new constraint at another. Direct drive fixed retraction and invalidated the retraction tuning. Dual Z fixed gantry sag and permanently removed a firmware feature. The new control board is what made the rest measurable at all.
The trade-off I defend most: the dual-Z upgrade is driven from a single stepper driver through a splitter cable. That is the cheap way to do it, and it permanently gives up Marlin's automatic gantry alignment, because one driver cannot move two motors to different positions. I took that trade knowingly - gantry alignment is a rare manual job, and the money went to the control board instead, which is the change that made every measurement on this page possible. The board swap has one trap worth naming: this board's microcontroller differs from a near-identical variant by a single letter in the build environment, and choosing the wrong one compiles without a single warning and produces a binary that bricks the board. That is why the verification chain exists.
Peak-to-peak contribution of each component, in millimetres. The parts do not add up to 1.938 - the two tilts reinforce each other at the corners - but the ranking is what matters: the only component I cannot remove is the smallest one.
| Component | Nature | Slope | Peak-to-peak | Share of range |
|---|
Both maps have the fitted plane removed, so what is left is only the part that is not flat. The signature is the same shape both times - high at both edges, low left of centre - which is what makes it a property of the machine rather than noise.
The retraction distance has not been re-verified since the extruder conversion, the bed mesh was taken cold while printing happens hot, and the one bump left in the bed - the right edge, about 0.09 mm high - is unexplained, with a test to separate plate from machine that I have not run yet. All three are ranked by what they cost if they fail, not by how easy they are to close.
Una impresora de consumo modificada en tres capas, con cada cambio justificado por una medición.
La impresora salió de fábrica con extrusor bowden, un solo husillo en el eje Z, firmware cerrado y sin compensación de cama. Hoy imprime PLA+ y PETG de forma confiable, y llegar ahí requirió cambios en tres capas distintas: extrusión, movimiento y control. Ninguno se eligió por ser una mejora popular. Cada uno respondía a un fallo que yo podía describir.
La capa de firmware tenía una restricción más dura que una preferencia. El proyecto de firmware que quería publica binarios compilados, pero todos apuntan a la pantalla táctil a color de los modelos nuevos: ninguno funciona con el LCD monocromo de fábrica de esta máquina. Compilar desde fuente no era la opción interesante, era la única, y se ve en el diff: cuatro de las doce líneas que cambié existen solo para seleccionar la pantalla correcta.
Lo que me interesa de este proyecto es lo que no se ve en una lista de piezas: cada cambio en una capa creó una restricción nueva en otra. El direct drive arregló la retracción y dejó inválida la calibración de retracción. El doble husillo arregló la caída del pórtico y eliminó de forma permanente una función del firmware. Y la placa nueva es lo único que hizo medible todo lo demás.
El trade-off que más defiendo: el doble husillo se mueve desde un solo driver a través de un cable splitter. Es la forma barata de hacerlo, y renuncia de forma permanente a la alineación automática del pórtico de Marlin, porque un driver no puede llevar dos motores a posiciones distintas. Tomé ese intercambio a sabiendas: alinear el pórtico es un trabajo manual que hago rara vez, y el dinero se fue a la placa de control, que es el cambio que hizo posible cada medición de esta página. El cambio de placa tiene una trampa que vale la pena nombrar: el microcontrolador de esta placa se diferencia de una variante casi idéntica por una sola letra en el entorno de compilación, y elegir el equivocado compila sin un solo warning y produce un binario que inutiliza la placa. Por eso existe la cadena de verificación.
Contribución pico a pico de cada componente, en milímetros. Las partes no suman 1.938 - las dos inclinaciones se refuerzan en las esquinas - pero lo que importa es el orden: el único componente que no puedo quitar es el más pequeño.
| Componente | Naturaleza | Pendiente | Pico a pico | Del rango |
|---|
A los dos mapas se les quitó el plano ajustado, así que lo que queda es solo la parte que no es plana. La firma tiene la misma forma las dos veces - alta en ambos bordes, baja a la izquierda del centro - y eso es lo que la convierte en una propiedad de la máquina y no en ruido.
La distancia de retracción no se ha vuelto a verificar desde la conversión del extrusor, el mesh se tomó en frío y se imprime en caliente, y el único relieve que queda en la cama - el borde derecho, unos 0.09 mm alto - no tiene explicación todavía; hay una prueba que separa placa de máquina y aún no la corro. Los tres están ordenados por lo que cuestan si fallan, no por lo fáciles que sean de cerrar.