Every precision part in this project (the dome foot, the friction coupons, the flexures to come) starts on an Elegoo Mars 5 Ultra, an MSLA (masked stereolithography) resin printer with a 7-inch 9K mono LCD and an 18 µm pixel pitch (8520 × 4320) on a 153.36 × 77.76 mm build plate [14]. Out of the box, a resin printer is not a precision instrument. It becomes one after calibration, and calibration in resin printing mostly means finding the right exposure time for your specific resin.
Each layer of an MSLA print is made by shining UV through the LCD into liquid resin for a fixed number of seconds. Too short and the layer doesn't fully cure, so fine features collapse and parts detach mid-print. Too long and light bleeds sideways past the pixel mask, so holes shrink, gaps close up, and every dimension grows. Both failure directions are fatal for a project that will eventually print flexure hinges a few hundred micrometers thin. The exposure time is where dimensional accuracy is won or lost.
The test
I used the Cones of Calibration V3 by TableFlip Foundry [13]. (While drafting this I went back to check the creator. I had remembered it as "Forge Labs," which is wrong. It's TableFlip Foundry.)
The model is a small plate of paired features that make the pass/fail judgment for you.
- Success and failure cones. In TableFlip Foundry's words, "The success cones should print fully, while the failure cones are designed to collapse" [13]. If both survive, you're over-exposing. If both fail, under-exposing.
- The Sword of Truth and the Monster Skull, a fit test. "The sword should fit perfectly into the Monster Skull but not into the fail holes of the Attunement Block" [13]. If the sword slides into the fail holes, light bleed has opened them up too far.
- The Ale of Accuracy and its Mug, a tolerance check in both directions. In TableFlip Foundry's words, "If the Ale is too large to fit, your exposure time is too high, leading to over-curing and oversized prints. Conversely, if the Ale is too loose in the Mug, your exposure time is too low" [13].
- Thin walls, gaps, and an Attunement Block for Z-height checking (6 mm from raft bottom to block top [13]).
So one small print answers over/under exposure, XY accuracy, fit tolerance, and Z accuracy at the same time. Its footprint matters for the next part, because it decides how many copies fit on a plate.
The method
The Mars 5 Ultra has a built-in feature Elegoo calls Section-Based Exposure [14], which lets you assign a different exposure time to different zones of a single print, up to eight of them. In practice the cones model is big enough that only six copies fit on the 153.36 × 77.76 mm plate at once. So each calibration run was one plate, six cones models, six different exposure times, stepped 0.1 s apart.
It took three full plates, eighteen exposure values in total, to converge. The first plate found the neighborhood, and the next two worked outward from it in the same 0.1 s steps and confirmed the winner against the guide's checklist.
Both failure modes showed up in person before the number converged. Overexposed zones came off with tips and gaps fused shut, and underexposed zones failed the opposite way, with the fine tips collapsed [builder, 2026-08-06].
The result was 2.6 s per normal layer for my resin, judged against the full V3 checklist (cones intact where they should be, the sword fitting the skull but not the fail holes, the Ale seating in the Mug).
Two more settings go with that 2.6 s.
- Bottom layers, 30 s. The first handful of layers gets a much longer exposure so the print welds to the build plate. I stopped optimizing this number after realizing it doesn't affect part quality in my workflow. Nearly every real part prints on supports, lifted off the plate, so the over-cured bottom layers all end up in the support raft that gets cut away anyway. (How I learned that, including the one kind of part where plate-direct printing is actually a feature, is §M4b's story.) Standard practice, and one less variable to tune.
- Layer height. This is the setting the 2.6 s is tied to, and the one number in this chapter I have to hand you with an asterisk. I ran one profile for everything and never wrote the layer height into my notes, so rather than state a value I'd be reconstructing, I'll say what matters. Exposure and layer height travel together, and changing the layer height means redoing the calibration from scratch. (The value is still sitting in the slicer profile, and this line stays blank until I read it off there instead of reconstructing it from memory.)
Exposure belongs to the resin
The resin behind that 2.6 s number is Anycubic ABS-Like Resin Pro 2.0, gray. I also have a bottle of Sunlu ABS-Like resin in white, and running it through the same cones test gave a different answer, about 2.8 s per normal layer against the gray's 2.6 s, with 30-second bottom layers still plenty [builder, 2026-08-06]. Two tenths of a second sounds small until you remember the dial-in walks in 0.1 s steps. The two resins sit two full calibration steps apart. Same printer, same test, different chemistry and pigment, and a different number. The white also brought a quirk the gray never had. Fresh prints held onto moisture and stayed damp to the touch for a long time, so Sunlu parts get a real drying stage before they're handled or trusted [builder, 2026-08-06].
That reframed how I think about the machine. The printer doesn't have a correct exposure setting. Each resin has one, on that printer, at that layer height. What I can't tell you is why these two landed where they did. The bottles differ in both chemistry and pigment, and one comparison run can't separate the two. Pigment is the usual suspect, since white scatters UV differently than gray does, but that is an explanation I am borrowing rather than one I tested. Every new bottle of a new resin type now gets a cones plate before it gets trusted with a real part.
Settings box
| Setting | Value | Basis |
|---|---|---|
| Printer | Elegoo Mars 5 Ultra (7" 9K mono LCD, 18 µm XY, 153.36 × 77.76 × 165 mm) | [14] |
| Resin | Anycubic ABS-Like Resin Pro 2.0, gray | product used (name as written on the bottle, full SKU not transcribed) |
| Normal layer exposure | 2.6 s | Measured, COC V3 checklist across 3 plates × 6 models, 0.1 s steps |
| Bottom layer exposure | 30 s | chosen. Irrelevant to part quality when printing on supports (see above) |
| Sunlu ABS-Like, white (comparison) | ≈2.8 s normal layer, 30 s bottoms. Extended drying needed post-wash | builder, 2026-08-06 |
| Layer height | not recorded in my notes (see above) | (none yet) |
| Calibration model | Cones of Calibration V3, TableFlip Foundry | [13] |
| Exposure zoning | Mars 5 Ultra Section-Based Exposure, 6 zones used of 8 available | [14]; builder |
The model, in 3D
For the web version of this chapter there's an interactive 3D viewer (stl_viewer.html, three.js). Drag any STL into it to inspect. It ships with an illustrative cone-array demo, not the real COC model. The actual Cones of Calibration V3 STL is TableFlip Foundry's, so download it from their page [13] rather than from us. (Their redistribution terms aren't stated on the page, so this project links instead of re-hosting. Same policy as the drive-board Gerbers in §M6.)
Once the exposure was dialed in, the next problem appeared immediately. A perfectly exposed part can still fail if it's held up by bad scaffolding, and learning that the hard way is §M4b.