Skip to content

Add NEST 96 well flat-bottom plate 701011 (nest_96_wellplate_200uL_Fb) - #1467

Open
sanaxr0001-tech wants to merge 2 commits into
PyLabRobot:mainfrom
sanaxr0001-tech:fm/plr-ot-plate-upstream
Open

sanaxr0001-tech wants to merge 2 commits into
PyLabRobot:mainfrom
sanaxr0001-tech:fm/plr-ot-plate-upstream

Conversation

@sanaxr0001-tech

@sanaxr0001-tech sanaxr0001-tech commented Oct 3, 2026 •

Copy link
Copy Markdown

Adds nest_96_wellplate_200uL_Fb, the NEST 96 well cell culture plate, flat bottom, non-treated (Cat. No. 701011).

Every dimension is taken from NEST's data sheet technical drawing (linked in the docstring) and annotated # from spec:

Attribute Value Data sheet
Plate footprint 127.56 x 85.36 mm overall length and width
Plate height 14.30 mm side view
A1 center 14.28 mm from left, 11.18 mm from back top view
Pitch 9.00 mm (99.00 mm A1 to A12, 63.00 mm A1 to H1) top view
Well inner diameter at rim 6.85 mm side view
Cavity depth 10.80 mm side view
Cavity floor above plate base 3.50 mm side view
Floor thickness (material_z_thickness) 1.20 mm side view
Bottom flat, circular cross-section title, top view
max_volume 200 uL upper end of NEST's recommended medium volume, 0.1-0.2 mL

The well resource runs from the outer base of the well (2.30 mm) to the rim (14.30 mm), the same convention as NEST_96_wellplate_2200uL_Ub, so the cavity floor ends up at 3.50 mm and the cavity is 10.80 mm deep.
max_volume is the recommended working volume, not the brim volume (NEST does not publish one).
The wells taper (6.85 mm at the rim, 6.40 mm at the bottom); height_volume_data, computed from that tapered shape, gives volume from liquid height.

Name follows the documented plate naming standard (manufacturer_throughput_platetype_volume_bottomType), as the NEST trough plates do.

Also adds the entry (part number, link, image) to docs/resources/library/nest.md and a test in pylabrobot/resources/nest/plates_tests.py covering the footprint, well layout, well centers, rim and cavity-floor heights, and serialization.

I checked the numbers against the Opentrons definition of the same plate (nest_96_wellplate_200ul_flat); every position and dimension agrees. I do not have the physical plate, so nothing here was measured; no hardware was driven.

@sanaxr0001-tech
sanaxr0001-tech requested a review from a team as a code owner October 3, 2026 14:12
@BioCam

BioCam commented Oct 4, 2026

Copy link
Copy Markdown
Collaborator

@sanaxr0001-tech this is amazing, I have never seen the Nest spec sheet you linked to in the docstring, very detailed drawings that are actually showing all the required distances!

num_items_y=8, # from spec
cross_section_type=CrossSectionType.CIRCLE,
bottom_type=WellBottomType.FLAT,
max_volume=200, # from spec (upper end of the recommended medium volume, 0.1-0.2 mL)

@BioCam BioCam Oct 4, 2026 •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you please add a height_volume_data (dict) to the defintions?

See PR#938: Add height_volume_data attribute to Container with piecewise-linear interpolation

For the Flat-bottom is should be fairly easy:
height 0.0 -> volume 0.0
then you add as much liquid to a well with a trusted manual pipette as possible and set the well size_z/12.0 to that volume

Sometimes the "nominal" volume - in this case 200 uL - is exactly at that height, but often the "nominal" volume and the "maximal" volume of a container differ.
In PLR we would like to capture this information.
And for auto-surface following this information is required. Otherwise your definition will still work for most of PLR's liquid handler drivers but not for all features of all driver.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @BioCam, glad the NEST sheet helps!

I've added height_volume_data. One caveat up front: I don't have this plate or a pipette, so these values are computed from the data-sheet drawing, not measured.

The drawing shows a tapered well, 6.40 mm across the floor (consistent with the stated 0.32 cm² growth area) and 6.85 mm across the rim. Heights are measured from the cavity bottom, and the 12.0 mm well size_z includes the 1.2 mm floor, so the cavity is 10.80 mm deep. As a truncated cone that gives:

height (mm) 0.0 2.0 4.0 6.0 8.0 10.0 10.8 (brim)
volume (µL) 0.0 65.2 132.1 200.7 271.0 343.1 372.4

The definition has a point every 1 mm (within 0.1 µL of the cone formula). If anyone has this plate, a brim-full measurement with a trusted pipette would be very welcome, and I'll update the numbers to match.

One question: should max_volume stay at 200 µL (NEST's nominal figure, the top of their recommended 0.1–0.2 mL working volume), or should it be the true maximum (372.4 µL by this calculation)?

Liquid height over the cavity bottom (mm) -> volume (uL) for the tapered well, computed as a
truncated cone from the NEST data-sheet drawing (6.40 mm across the floor, 6.85 mm across the rim,
10.80 mm deep). Points every 1.0 mm stay within 0.1 uL of the cone formula; the last point is the
brim-full volume, 372.4 uL at 10.80 mm.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants