Mark north and south.
Test every block on its own, away from the others. Mark both broad faces: N red, S blue.
Printable Halbach array · 10 magnets
Turn each magnet a quarter turn from the one before it, and the field gathers on one face. This 3D-printed holder locks ten 12.7 × 12.7 × 3.2 mm blocks into that pattern.
01 · How it works
Each magnet’s field loops out of its north face and back into its south face. Rotate every magnet 90° from its neighbor, and those loops pile up underneath and cancel on top.
—
Field 3 mm from the blocks, relative to the stronger side. Idealized square magnets in 2D; the real holder is modeled in 3D below.
02 · The real array
A 3D calculation of these exact blocks and spacing. Slide to compare both faces at the same distance.
Average (RMS) field along the row, as a fraction of the magnets’ remanence Br. It compares this array’s two faces, not this array with one magnet.
Use the closed base as the work face. Its 0.8 mm wall covers the magnets; the flat pairs sit 3.95 mm up so their centers line up with the upright pairs.
03 · Find the poles
These blocks are magnetized through their thickness, so the two broad faces are the poles. A compass’s north tip points at a magnet’s south face.
An ideal compass: it ignores Earth’s field. One uniformly magnetized block, field normalized to Br. Magpylib reference.
04 · Build
Print and check the fit coupon first. Work on a non-metal surface, wear eye protection and keep a wood or plastic guide handy.
Test every block on its own, away from the others. Mark both broad faces: N red, S blue.
Stack two blocks, N face against S face. They should snap together; if they push apart, recheck your marks. Each 6.4 mm pair acts as one thicker magnet.
From the notch, point north ↑ → ↓ ← ↑. Pairs 1, 3 and 5 lie flat; 2 and 4 stand up. Neighbors push and twist, so guide one pair at a time. Thin slow-cure epoxy can help hold them.
Match the lid pin to the notch, fingers facing in. Fit four M3 nuts, 1 mm washers and M3 × 16 mm screws. Tighten evenly; nothing should poke out of the base.
05 · Make it
Its three pockets test 0.20 / 0.35 / 0.50 mm total clearance, smallest at the notch. The holder uses 0.35 mm (0.175 mm per side). Blocks should slide in freely; test a two-block pair too.
Files are already placed at Z = 0 in these orientations. Support the nut-pocket roofs only if your slicer shows they need it.
Four M3 × 16 mm screws, four M3 nuts and four 1 mm washers, ideally nylon or brass. Nominal nuts: 5.5 mm across flats × 2.4 mm thick. Modeled pockets: 5.7 × 2.6 mm; holes: 3.4 mm. Screw length excludes the head; don’t countersink. Seat the nuts before loading magnets and check engagement with your hardware.
Measure the coated blocks and test the 6.4 mm pairs too. Change clearance in cad/design.py and rebuild. Don’t scale the STL: that also changes the screw holes and lid fit.
The field model uses uniform blocks, Br = 1 T, the real pair spacing and 401 samples along the row at y = 0. It leaves out steel, plating and glue gaps, temperature and demagnetization. CAD checks cover valid solids, watertight meshes, bed placement and nominal magnet fit. Physical fit, strength and durability are untested.
Full kit · STL + STEP + source
STL downloads work offline from this page. Keep the ZIP beside it for the STEP files and source. Magnets in the 3D preview are illustrative; you only print the body and lid.