Skip to content
My Account

Electronics

Building a micro-Duck, Part 3: Printing the Parts

What to print, how many of each, how big every part is, and which settings the repository gives. With a test-first plan, a print order, an upper limit for the filament and a PDF to tick off.

  • 10 min read
No ratings yet, be the first.

The parts are not ordered or printed yet, so this part is a plan for the printer, not a report from it. I went through every file in the structure folder, measured them, and set up the order I will print them in. When the printing is done I fill in the log at the end.

By the end of this part you know what to print, how many of each, what size every part is, which settings the repository gives, and which part to print first.

Where the settings come from

The repository gives only a few print settings: 4 walls, 13% gyroid infill and a print orientation. It says plainly that a complete, tested print profile is still to be documented. Everything else here is my own starting point, and I mark it as that.

I went through all 25 pages of the assembly guide for this part. It has photos and screw counts but no names of printed parts, so I can match only a few files to a step. Where I could, I say so in the tables. As in Part 2, I don’t publish STL files. They are in the repository, and I link to them. The licence is not finished yet, see Part 2.

Before You Press Print

Check the Bed Size

I measured all 27 files. In the orientation they are saved in, the biggest part is head_shell at 88 x 124 x 48 mm. Nothing is longer than 124.1 mm, so every part fits a printer with a 150 x 150 mm bed. You don’t have to split anything.

Check the Size in Your Slicer

Open a file and compare its size with the tables below. If the numbers are off by a factor of about 25, the slicer is reading the file in inches. Set it back to millimetres and leave the scale at 100%. The parts have bearing seats and servo pockets, so a scale change breaks the fit.

Left and Right

  • left_ and right_ are separate files, and they are not mirror copies of each other because of the cable routing. Print the left file for the left side. Do not mirror them in the slicer.
  • 2x_ means print the file twice. The repository does not say whether those two copies are mirrored, so I check the first printed copy against the guide’s photos before I print the second one. The guide only says, on page 8, to check the left and right orientation and the mounting direction.
  • Files without a prefix default to one copy. The inventory says those are planning numbers that still need to be confirmed against the assembly.

Print Orientation

The repository has one reference picture: a U-shaped bracket, lying flat with the open channel facing up and the two end tabs on the build plate. The wrong way is standing it up, on its side, or upside down. The text warns that otherwise the holes may deform and the ends may break. It does not say which files this applies to. The guide’s page 16 shows a white U-shaped bracket for the neck servo (ID32) that looks like the one in the picture, so I treat every bracket-shaped part like this and check each file against the picture. Do not use auto-arrange. After slicing, compare the preview with the reference image in the repository.

Settings

SettingStart withWhere it comes from
Walls4Repository readme
Infill13%, gyroidRepository readme
OrientationAs in the reference picture. No auto-arrange.Repository readme
Scale100%, millimetresMy check, see above
Layer height0.2 mmMy starting point. The repository doesn’t give one.
Material, rigid partsPLAMy starting point. The inventory says “confirm profile”.
Material, soft partsTPU for the soles and the mouthFrom the file names. The TPU hardness is not specified.
SupportsNone to begin withMy starting point. The repository says nothing about supports. I check the preview of every part.
BrimOff, unless a part liftsMy starting point

TPU is the flexible plastic. The usual advice is to print it slowly. I test one sole before I print the second one, because the hardness is not given and the sole decides how well the foot grips.

What to Print

There are 27 files and 35 pieces: 24 rigid files and 3 soft ones (the 2 soles and the mouth parts). The size is the size in the saved orientation, as I measured it. Material is PLA unless it says TPU.

Legs and feet

FilePrintSize in mmMaterialNotes
2x_shank.stl258 x 7 x 20RigidThe lower leg.
2x_thigh_support.stl258 x 43.5 x 1.4RigidA flat plate, 1.4 mm thick.
thigh_left_shell.stl161.2 x 25 x 47.5RigidLeft only. Not a mirror copy.
thigh_right_shell.stl161.2 x 25 x 47.5RigidRight only. Not a mirror copy.
left_foot.stl154 x 26.4 x 39.7RigidHolds a bearing (assembly guide, page 11). Good test part.
right_foot.stl154 x 26.4 x 39.7RigidSame page: the right foot uses other screws than the left.
2x_ankle_axis.STL210 x 3 x 10RigidSmall. Quick to print.
2x_foot_bottom_tpu.stl254 x 7.2 x 40TPUThe soft sole. Check its direction when you fit it (guide, page 15).

Hips

FilePrintSize in mmMaterialNotes
2x_hip_rol_output.stl234 x 32 x 19Rigid
2x_hip_rol_shell.stl21.4 x 40 x 23RigidA thin plate, 1.4 mm.
2x_hip_yaw2rol.STL226.2 x 26 x 23RigidThe inventory says 1 copy, the file name says 2. The guide has no part names, so I settle it by comparing the printed parts with its photos.
hip_yaw_support.STL157 x 1 x 38RigidA thin plate, 1 mm.

Body

FilePrintSize in mmMaterialNotes
body.stl159 x 9 x 78.5Rigid
body_left_shell.stl132 x 70.9 x 41.7RigidLeft only.
body_right_shell.stl133 x 70.9 x 41.7RigidRight only.
battery.stl153.8 x 28 x 71.5RigidThe battery bracket. The guide (page 23) screws the circuit board onto it with four M3 x 16 screws.

Head, neck and mouth

FilePrintSize in mmMaterialNotes
head.stl188.3 x 118.9 x 16Rigid
head_shell.stl188 x 124.1 x 48.1RigidThe biggest part, and the heaviest mesh.
head_pitch.stl135 x 28.2 x 18Rigid
head_yaw.STL135.9 x 22.5 x 34Rigid
head_servo_support.stl168.5 x 60.5 x 18.8Rigid
2x_neck.stl220 x 2 x 10RigidVery small, 2 mm thick.
eye.stl117.4 x 7.5 x 17.4RigidThe inventory says 1. A duck has two eyes, and the guide shows no eyes at all, so the count stays open.
eye_shell.stl130 x 11.6 x 29.8RigidSame open question as the eye.
jaw.stl188 x 67.7 x 30.1RigidMoves with the mouth servo.
mouth_up_tpu.stl184.3 x 27.2 x 2.4TPUUpper mouth, soft. Probably one of the two soft pads taped into the beak (guide, page 21).
mouth_buttom_tpu.stl180.6 x 29.1 x 7TPULower mouth, soft. Taped in with double-sided tape. The “buttom” spelling is the real file name.

Optional roller skates

I skip these for now. They need 4 extra screws and 8 extra bearings, which are already counted in Part 2.

FilePrintSize in mmMaterialNotes
2x_tire_support.STL277 x 21.5 x 37Not decided
4x_tire.STL48 x 30 x 30Not decidedThe repository doesn’t say which material.
4x_tire_axis.STL49.9 x 11 x 9.9Not decided

How Much Filament?

Nobody has measured this yet: the repository says plainly that print time and filament use have not been measured. What I can give is an upper limit. From the 3D models I calculated the volume of every part. All rigid parts together are about 252 cm³ and the soft parts about 41 cm³ if every part were printed completely solid. With PLA at 1.24 g/cm³ that is at most about 310 g of PLA and 50 g of TPU. With 4 walls and 13% infill the real number is lower, probably well under that. This assumes one body per file, so a 2x_ file is counted twice. I fill in the real number in the log.

So this robot needs less than one spool, and the parts are small. The head shell has the most triangles, so that is the file my slicer will think about longest.

Print These Two First

The repository says to test a servo mount and a bearing seat before you print the full set. This is the plan:

  1. Print left_foot. The assembly guide puts a 10 × 15 × 3 mm bearing in the foot (page 11).
    Good result: the bearing presses in snugly, without cracking the part.
    Bad result: the bearing is loose or the part cracks. Don’t print more. Check scale and orientation first.
  2. Print one bracket-shaped part for a servo, for example the U-shaped neck bracket from page 16 of the guide, and put a Feetech 1910 servo in it. The guide has no part names, so I pick the exact file when the servos arrive and I can compare the photos with the parts.
    Good result: the servo fits and the screw holes line up.
    Bad result: the servo does not fit. Stop and report the file name in the repository’s issues.
  3. Print one TPU sole and check that it fits the foot.
  4. If all three are fine: print the rest.

A Sensible Print Order

  1. The test parts from the section above.
  2. Legs and feet: the shanks, thigh supports, shells and the second foot.
  3. Hips, once I know the copy count of 2x_hip_yaw2rol.
  4. Body with both shells.
  5. Head and neck. The head shell goes last of these, because it is the biggest print.
  6. The soft parts: the second sole and the two mouth parts.
  7. Use the downtime: while a part prints, label the finished ones and remove the stringing. Sort the screws by type.

I print each group in one go and keep each group in a labelled bag, so the parts for one leg don’t get mixed up with the other leg.

Download the Print List

To keep track while printing, I put the list from this part into a four page PDF with checkboxes you can tick off on paper.

  • Every file, per group, with how many to print, its size and its material.
  • The settings, and where each one comes from.
  • The test-first plan, the print order and an empty log.
  • It lists file names only. I don’t publish STL files. They are in the repository.

Download the print list (PDF)

If It Didn’t Work

  • The holes are too small or too big. Check the scale first. Then check the orientation against the reference picture. The repository says to validate one part before you reprint the set.
  • A part snapped at the ends. The orientation is probably wrong. The repository warns that a flipped or standing part can break at the ends.
  • The part lifts at the corners. Clean the bed, add a brim of 3 to 5 mm, and check the first layer.
  • The TPU strings or jams. Slow down and dry the filament. If it still jams, ask in the repository’s issues.
  • You don’t know if a part is left or right. The file name says it. Don’t mirror a left_ or right_ file.

Printing Log (To Be Filled In)

I fill this in as I print. The numbers will be real, not copied from anywhere.

Printer
Nozzle
PLA and brand
TPU, brand and hardness
Layer height
Supports used
Total print time
GroupFilament (g)Print timeNotes
Test parts
Legs and feet
Hips
Body
Head, neck and mouth
Soft parts
Total

If you print this robot and your numbers differ, tell me through the contact page.

Words Explained

  • Slicer: the program that turns a 3D model into instructions for the printer.
  • STL: a common file format for 3D models.
  • Wall: one outer line of plastic around a part. More walls means a stronger part.
  • Infill: the pattern inside a part. A low percentage is light and cheap.
  • Gyroid: a wavy infill pattern that is strong in every direction.
  • Brim: a thin flat ring around the first layer that helps a part stick.
  • Supports: temporary structures under overhangs, removed after printing.
  • TPU: a flexible printing plastic.
  • Bounding box: the smallest box that fits around a part. That is how the sizes here are measured.

Conclusion: Time to Print

Next up: Part 4: Too many ducks (a step back to compare the other MicroDuck builds and the real cost before I order anything).

Previous: Part 2: The hardware

Small duck, big steps. Happy hacking!

Unofficial fan project

XGO-Duck is an open-source robot by Luwu Dynamics, based on Microduck and microduck_rl by Pollen Robotics. This site is not affiliated with Luwu Dynamics, Pollen Robotics, Rhoban or Arduino, and none of them endorse this series.

Advertisement
All projects

More projects

Keep building.

Electronics, 3D printing and CNC builds, documented from the first idea to the last screw.

All projects