octoprintsTRIALS / FEEDBACK / DESIGN HISTORY

TRIAL AND ERROR / SEPARATE FROM THE MODEL CATALOGUE

The trials
behind the models.

What went wrong and how the designs evolved are kept here, separate from the first-time print-data catalogue.

Back to the print-data catalogue →
Problems found in the first printSmall parts, blocked holes, ten photos and video. Appearance refinementsInitial Fine C, the roughly 36 cm study, and eye, mouth and contour comparisons. Fifteen higher-part designsActual counts, matched screen heights and separate physical-size comparisons.
This page contains design history.Earlier images and tests do not establish that the listed models pass physical printing. They remain unvalidated, with full-kit printing on hold.

Checking and correcting Copilot's bilateral symmetry

Following the September 23 report of mismatched yellow eyes, the original geometry of all five current variants was checked. Eye size and placement, goggles and face boundaries have left/right differences; this is not just a display-LOD or lighting issue.

The1.2x,1.5x,2x,3x and4x variants now share corrected native geometry, whole-part colors and placements across CAD, CG, animation and assembly guides. Actual counts are21,435,26,734,35,692,53,575 and71,049, each with zero external or temporary assembly aids.

Every physical mirror ID, whole-part color and pose was checked, with1,166 actual CAD pair comparisons across the five cases. All165 supports and2,256 load prefixes retain the1mm nominal CAD margin and non-reset load accounting. Actual PLA retention, strength and stability remain untested.

Finite pixel differences remain at rendered silhouettes and material boundaries. The2x one-sided eye comparison differs by1pixel, or2pixels across the full eye mask. Each measured boundary distance is within1pixel; these are distinct from exact native CAD mirror correspondence.

Compare actual images and physical sizes of all five bilateral revisions → / Download bilateral-revision CSV ↓ / the symmetry-revision publication status

The17,873-part1x reference remains the unrevised original with known asymmetry. Mona and Rubber Ducky's ten CSV rows, the header and all earlier images, videos, CAD and URLs are preserved. NOT_SLICED, physical UNKNOWN and full-print ON_HOLD remain unchanged.

Upstream and reference projects

martinwoodward/octoprints — A project publishing GitHub-themed 3D-printable mascots. Its pinned revision is the starting point for the original character shapes and colors.

This archive adds independent brick decomposition/grouping, native CAD, BOMs, assembly sequences, comparisons, display-only LOD and 360-degree viewing. We do not claim the originals as our own or attribute these additions to the upstream implementation.

  • mrdoob/three.js — A library used for actual 3D rendering, rotation and zoom in the browser. MIT licensed.
  • zeux/meshoptimizer — Used for offline display LOD and lossless transport decoding that exactly restores all original vertex bytes and triangle order. Lossless transport is not mesh simplification and does not alter native CAD. MIT licensed.

These are rendering and processing tools, not guarantees of physical fit, retention or strength. CC BY-NC 4.0 on model derivatives is separate from the software licenses.

Pinned revision, modifications, public interface references and rights / Third-party software copyright notices and licenses

Starting point: assemble it yourself, approximately 180 mm tall.

The original goal was to assemble Mona, Copilot, and Rubber Ducky one brick at a time from separate 3D-printed parts. The assumptions were Bambu Lab P1S and PLA, with both 0.2 mm and 0.4 mm nozzles owned. Compatibility with commercial LEGO parts was not a requirement.

The original work comes from a pinned revision of martinwoodward/octoprints. Modifications include uniform scaling, grid discretization, color discretization, splitting and grouping individual parts, custom joints, and visualization and trial data. Attribution and modification details must be retained.

Phase1: three characters × three detail levels

Chunky uses an 8 mm pitch and 4.8 mm brick layers; Balanced uses 6 mm and 3.6 mm; Fine uses 4 mm and 2.4 mm. The following are the individual part counts from that stage.

CharacterA / ChunkyB / BalancedC / Fine
Mona2,3254,83813,837
Copilot3,1356,57619,588
Rubber Ducky1,7673,64610,662
Design height183.95 mm181.13 mm180.71 mm

The archive preserves nine images, nine Blender scenes, and three videos of the Balanced candidates only. The earlier CAD includes 21 basic types (seven per pitch) and five historical 6 mm fit coupons. These are not records of a physical-fit pass.

Visual selection: Mona C / Copilot A / Rubber Ducky C

Mona and Rubber Ducky were selected in Fine 4 mm, and Copilot in Chunky 8 mm. Character, color, roughly 180 mm scale, and grid-based appearance were selected as visual baselines only. Joint and manufacturing approval remain separate.

r2: revised joints and part grouping

Selected designPhase1 → r2r2 height
Mona / 4 mm13,837 → 13,434 parts180.71 mm
Copilot / 8 mm3,135 → 3,021 parts183.95 mm
Rubber Ducky / 4 mm10,662 → 10,311 parts180.71 mm

Total 26,766 individual instances with unique IDs, sharing 236 native geometry types. This does not mean 26,766 separate STL files were created. The grid envelope and color scheme were retained, but regrouping moved the seams; pixel-for-pixel image identity is not claimed.

The minimum wall at the 4 mm hole entrance increased from the old 0.877 mm to 1.21 mm. The male stud still has a straight stem diameter of 1.10 mm, tip diameter of 0.98 mm, and height of 0.60 mm. Wall thickness or a 0.2 mm nozzle alone cannot establish that the thin PLA stem resists breakage or provides retention.

Preserved files include two shared libraries, three assembly CAD documents with relative links, STEP / STL by type, separate 4 mm and 8 mm trials of 11 parts each (four receivers, four male keys, and three offset-joint parts), and left/right whisker cradles for Mona. The cradles are unnecessary for the initial joint-only trial, but must be placed first in Mona's recorded proposed assembly sequence. Removing them before retention is verified is not approved.

Numerical PASS ≠ physical approval. The archived results for CAD reopening, BRep and meshes, contact graphs, and nominal vertical insertion paths are limited records for their respective revisions. They do not cover real hand or tool access, friction, loads, infill, or insertion/removal durability. The viewer's sequence is not an approved assembly instruction.

First physical trial: small parts and blocked holes

For the 4 mm trial parts, the contributor reported that they were “small and difficult to make” and that “holes were filled with plastic.” The blockage was present before ultrasonic cleaning. Cleaning is not treated as either the cause or a demonstrated solution. See 10 photos, silent videos, and unconfirmed conditions.

2026-09-20: common-block redesign authorized

Implementation was requested for hand-grippable common blocks such as 2×2 and 2×4 on an 8 mm pitch. The design basis uses 9.6 mm brick bodies, 3.2 mm plates, studs 4.8 mm in diameter and 1.8 mm high, and open-underside walls, tubes and ribs. It does not preserve the earlier Fine system's 1.10 mm pins and small blind holes.

Implementing the redesign is authorized; physical manufacturing is not approved.The new revision is r3-8mm-20260920. Only revisions with real deliverables are published. Physical fit, retention, durability, full assembly and slicing remain separate, unvalidated gates. Exact preservation of the approximately 180 mm target and commercial LEGO compatibility are not guaranteed.

Historical viewer for the low-part designs / Historical dimension basis and documentation / Revision-specific status record

Third-party images, videos, and models are not republished; only reference links are provided.

Low-part r3 designs leave the normal catalogue

The low-part designs—Mona 519, Copilot 695 and Rubber Ducky 413—are excluded from the print-data catalogue. This does not reject the 8 mm interface itself: the fifteen higher-part designs are the normal choices. Earlier CAD, images and packages remain in the archive.

More parts do not automatically improve appearance

Initial Fine C's colors and contours informed larger Mona studies, half-height parts and integrated roots. Flatter mouths and color-boundary shifts are also documented; part count is not an aesthetic pass score.

Earlier plate, contour and slope studies / The first larger Mona study / Later face and contour refinements / The final fifteen cases and physical-size ratios

Assembly aids and physical validation remain distinct

All five new Mona cases use actual roots without external or temporary assembly aids. Nominal CAD contact and balance checks are not measured PLA strength or retention. Rubber Ducky and Copilot retain each case's distinct aid records, without unvalidated removal instructions.

Revising four Copilot cases to remove assembly aids

The supported 1.2×, 1.5×, 2× and 3× cases are subject to an additional actual-structure redesign. The existing zero-aid 4× case is preserved. Hiding or renaming supports does not make the current files support-free.

Only revisions with complete new CAD, CG, animation, assembly data and public verification are published. The previous fifteen-case delivery and this additional redesign are separate completion scopes.Support-free revision publication statusrecords that distinction.

The four actual revisions contain 21,382, 26,673, 35,630 and 53,287 parts. The first 3× structure failed a load-propagation check between roots; existing same-color body pieces were integrated into real continuous structures and checked again. No threshold was relaxed and no load was erased.

Compare support-free revision images and physical sizes → / Download the revised CSV ↓

On 2026-09-20, two printing options were requested: printing parts separately and assembling them afterward, and “printing everything at once.” The second option is awaiting clarification: it could mean a one-piece print requiring no assembly, or batch-printing separate parts on the same plate. One-piece printing has not been confirmed.

The redesign concerns separate parts for later assembly. A color-grouped layout 3MF neither confirms a preference for a monolithic model nor constitutes print-ready data. The assembled viewer is not a one-piece print file. Full-kit printing remains on hold.

Scope of public-copy cleanup

Only the enumerated deliverables were copied. The development repository's history, runtime environment, conversations, internal logs, and caches are not included. The viewer was ported from known committed source, using public relative URLs and a fixed status record. No analytics reporting, advertising, external fonts, or CDNs are used.

Ancillary JSON metadata, such as execution commands and local paths, was removed. Blender's native API was used to make stored file-browser and render-output paths relative; matching geometry/placement fingerprints and reopening were checked. For FreeCAD, only XML document properties inside the file container were cleaned up, preserving BRep and other geometry streams and relative library references. Autosave backups are not included.

Thumbnails are reduced versions of actual generated images, not invented promotional images. Photos and physical-trial videos use only previously published files with personal metadata removed; original attachments, audio, and sensor tracks are not published.

The pre-copy inventory of authorized files and the public-file hash inventory distinguish original hashes from public-derivative hashes. Historical verification files record hashes of the inputs checked at that time. Use the public inventory to verify current downloads. The native-file cleanup and geometry-preservation record is also included.

Rights and disclaimers

The original work and model derivatives are licensed under CC BY-NC 4.0 (noncommercial). Retain attribution, the license, and notices of changes when redistributing or modifying the files. Rights in the physical-trial photos and videos remain with the contributor; publication permission is not a blanket CC license. Libraries such as Three.js are governed by their individual licenses.

No endorsement, sponsorship, certification, or compatibility with commercial products from GitHub or LEGO is claimed. Trademark rights belong to their respective owners.

Download actual image ↓