A Crayon Leash for Airplane Trays

Published on 10/12/2026

•

9 min read

•

Crayons keep ending up on the floor of the plane. My wife wanted a way to keep one attached to the tray, so I designed a 3D-printed crayon holder with Claude in a single weekend. The first print broke, the second needed more thread, and the third is designed but not printed yet.

The problem

When we fly with toddlers, the crayons end up on the floor. Picking one up means digging around under the seat, and kids on a plane need something to do. My wife noticed this and wanted a way to keep a crayon attached to the tray or the seat so our toddlers could draw without it falling.

We looked on Amazon and found nothing that fit.

The idea

A crayon leash. A hook clips to something stationary, about 2 ft of elastic line runs from it, and a holder grips a standard Crayola crayon at the other end. The hook and the line are off the shelf. The only part I had to design was the holder. It is meant for a supervised child drawing on a plane, with the leash in front of them.

The brief I gave Claude

I described the problem to Claude the same day and asked for a collet-style holder: a split sleeve whose fingers close on the crayon when you tighten a nut. It had to print on an ordinary FDM printer, which means layer direction matters. Printed plastic is weakest between layers, so the fingers had to be oriented and shaped with that in mind.

Before drawing anything, Claude looked up the real crayon size: a regular Crayola is 3.63 x 0.31 in, about 92.2 x 7.9 mm paper-wrapped. Then it wrote a parametric CAD script that outputs the STL files, and we went through several prototype rounds, printing and testing on the same day.

The versions are v1, v3 and v4. I never printed v2. It was a slimmer redesign made after the v1 photo, and v3 replaced it before it reached the printer.

Try the models

This is the finished comparison page, embedded. Switch between v1, v3 and v4, drag to rotate, move the nut slider to open and close the collet, and turn the cutaway on and off. The page keeps going below the viewer: side-by-side drawings, a comparison table, print settings and dimensions. Scroll inside the frame, or open it on its own page.

Switch versions, drag to rotate, move the nut slider, toggle the cutaway. Open the full page

Round 1: v1

Photo slot: a toddler drawing with the v1 print goes here.

The first version has six fingers, a 24 mm nut, a 22 mm flange and a side tab for the cord, so it is 32 mm across at its widest point. The thread is 17 mm in diameter with a 3 mm pitch, and 13.5 mm long. A toddler drew with it, which was the point of the exercise.

To fill in: how well v1 held the crayon.

It was chunky for small hands. After repeated unscrewing, some of the fingers snapped off.

Why the fingers snapped

I couldn't tell whether the fingers were bending from the squeeze or shearing from rough threads, so I asked Claude to work it out. This is Claude's analysis, not a lab test. Its estimate pointed to bending at the roots of the slots, and these were the most likely reasons:

  • The slots ran down into the thread. Each slot ended in a very small round end sitting in a thread groove, right where the bending is largest. A sharp feature like that raises the local stress to roughly three times what it would be on a smooth part.
  • Layer direction. Printed layers are weakest between layers, and the fingers bend along that direction.
  • Over-tightening. Squeezing a rigid crayon loads the finger roots even with the nut's hard stop. Claude also corrected something it had told me earlier here: the stop does not protect the fingers once a crayon is inside.
  • Thread torque was not the culprit. The twisting load on the finger teeth came out small by comparison, about 6 MPa.

One caveat on the numbers: Claude computed its strain figures for the slimmer redesign, not for v1 itself. v1 has the same slot-into-thread layout, so the reasoning carries over, but I'm not quoting those percentages as measurements of v1.

Rounds 3 and 4

v3 was a slim, 20 mm body. The slots moved above the thread and now end in round 1.1 mm keyhole reliefs, which are rounded cut-outs that spread the stress out instead of concentrating it at a point. The thread got shorter, 4.5 mm, with a lead-in ramp and 0.30 mm of clearance. The bore (the hole the crayon sits in) is relieved except right under the nut's cone, so the crayon is pinched where the nut pushes. The nut is 33.2 mm long when tight.

When I printed it, the problem was thread engagement, meaning how much of the nut's thread overlaps the body's thread. At the moment the cone first touches the fingers, only about 2 mm was engaged. That is not much to hold a squeeze.

v4 fixes that. Everything above the thread moved up 4 mm, so the thread is 8.5 mm long and engages about 6 mm at first touch (8 mm at the hard stop). The nut cone is relieved by 0.25 mm so it doesn't drag. The nut is 18.5 mm across on a 19 mm collet shoulder.

I should be straight about the trade. v4 is longer than v3, and v1 is the shortest overall (29.8 mm tight, against 35.8 mm for v4). In exchange it is the slimmest of the three, at 19 mm across. The plastic volume went from 10.6 cm³ (v1) to 7.2 (v3) to 6.5 (v4).

v1v3v4
StatusPrinted. Fingers snappedPrinted. About 2 mm of thread engagedNot printed yet
Widest point32 mm (side tab)20 mm19 mm
Nut diameter24 mm20 mm18.5 mm
Length, nut tight29.8 mm33.2 mm35.8 mm
Thread length13.5 mm4.5 mm8.5 mm
Engaged at first touch10.4 mm2.0 mm6.0 mm
Slot rootsinside the threadabove the thread, 1.1 mm keyholeabove the thread, 1.1 mm keyhole
Plastic volume10.6 cm³7.2 cm³6.5 cm³

I have not printed v4 yet. I'll add the result here once I have.

How it works

The viewer above has drawings of v4 loosened and tightened. In short:

  1. The cone closes the fingers. The six fingers end in a 10° cone, and the nut has the same cone with 0.25 mm of extra clearance. Turning the nut clockwise, looking at the crayon tip, pulls it down over the fingers.
  2. The grip lands share the load. The bore is 0.25 mm wider everywhere except right under the cone, so the crayon is pinched where the nut pushes. That keeps the load out of the finger roots, where v1 broke.
  3. Pull-out is the load that counts. The cord pulls the holder one way while a child pulls the crayon the other. The floor of the holder only stops the crayon pushing in, so the grip comes from friction. For more grip there is a version with small ridges in the fingers.

These are the settings from the page. They are a starting point for v4, which I haven't printed yet.

SettingValue
Layer height0.2 mm
Walls / top / bottom4 walls (1.6 mm), 4 top and 4 bottom layers
Infill40 % (the fingers and threads are all wall)
Temperature / fanabout 10 °C above normal for the collet, fan low, for layer bonding
Supports / brimnone / none
Outer wallsslow, about 30 mm/s, for clean threads

Material. Use PETG, ASA or nylon for the collet. PLA is fine for the nut, but expect a PLA collet to crack at the finger roots. Print the collet with the tapered tail on the bed and the crayon opening up. Print the nut with its nose on the bed and the threaded end up, with 3 or more perimeters, because the wall is about 1 mm thick at the grip flutes.

Files. Each plate has the collet and nut on one bed, ready to slice. They are large, 9 to 13 MB each.

  • v4_plate.stl (12.9 MB): the latest version. Not printed yet.
  • v4_plate_ridged.stl (13.0 MB): the same, with small gripping ridges in the fingers.
  • v3_plate.stl (9.3 MB): the second printed round, for comparison.
  • v1_plate.stl (10.9 MB): the chunky first print with the fragile slots.

Generator scripts. If you want to change a dimension, the parametric Python that makes these files is here: crayon_leash_v4.py, crayon_leash_tough.py (v3), crayon_leash.py (v1) and requirements.txt. Run pip install -r requirements.txt, then python3 crayon_leash_v4.py --out ./stl_v4 --check.

Licence for the files and scripts: to be added.

If the print comes out off, the constants at the top of crayon_leash_v4.py are the ones to change. BORE_D +0.1 if the crayon is hard to insert, and −0.1 if it rattles when loose. THREAD_CLR +0.05 if the nut binds, and −0.05 if it wobbles. The comparison page has the full table.

Safety and use notes

This is a prototype for supervised use. Keep the leash off the child's neck and limbs.

  • Supervised use only. A child drawing on a plane, with someone watching.
  • Tighten by hand only. Stop when the crayon no longer slides. Forcing the nut against the hard stop loads the finger roots.
  • Small parts. The nut comes off the crayon end when unscrewed. Keep that in mind for children under three.
  • Cord. Thread it through the rear hole and tie a knot larger than the hole. To use a snap hook, loop a short piece of cord through the hole and clip onto the loop.

How Claude helped

All of this came out of one conversation. Claude wrote a parametric Python generator, so changing a number regenerates every file, and that is what made same-day iteration possible. It also ran automatic checks on each version: the meshes are watertight, the nut and collet don't collide at any nut position, and no layer overhangs more than 50°. Those are software checks, not print tests. They told me the files were sound, not that the holder works.

What is next

v4 is the next print. I'll update this post with how it goes. If you print one, or change a dimension and make it better, let me know how it went.