diff --git a/docs/resources/library/greiner.md b/docs/resources/library/greiner.md
index 3c6ca700ee7..a33411a1717 100644
--- a/docs/resources/library/greiner.md
+++ b/docs/resources/library/greiner.md
@@ -10,3 +10,4 @@ Company page: [Greiner Bio-One](https://www.gbo.com/en-gb/company)
| Description | Image | PLR definition |
|--------------------|--------------------|--------------------|
| 'Greiner_384_wellplate_28ul_Fb'
Part no.: 784075 (white), 784076 (black), 784101 (transparent)
[manufacturer website](https://shop.gbo.com/en/england/products/bioscience/microplates/384-well-microplates/384-well-small-volume-hibase-microplates/784075.html) |  | `Greiner_384_wellplate_28ul_Fb`
+| 'greiner_96_wellplate_200uL_Vb'
Part no.: 652260
[manufacturer website](https://shop.gbo.com/en/usa/products/bioscience/molecular-biology/pcr-microplates/652260.html)
NOTE: This is a half-skirt plate and requires a plate adapter to use|  | `greiner_96_wellplate_200uL_Vb`
diff --git a/docs/resources/library/img/greiner/greiner_96_wellplate_200uL_Vb.jpg b/docs/resources/library/img/greiner/greiner_96_wellplate_200uL_Vb.jpg
new file mode 100644
index 00000000000..bc0aaa82323
Binary files /dev/null and b/docs/resources/library/img/greiner/greiner_96_wellplate_200uL_Vb.jpg differ
diff --git a/pylabrobot/resources/greiner/plates.py b/pylabrobot/resources/greiner/plates.py
index 427f06cf855..a140f2a5344 100644
--- a/pylabrobot/resources/greiner/plates.py
+++ b/pylabrobot/resources/greiner/plates.py
@@ -81,3 +81,40 @@ def Greiner_384_wellplate_28ul_Fb(name: str, with_lid: bool = False) -> Plate:
# compute_height_from_volume=_compute_height_from_volume_Greiner_384_wellplate_28ul_Fb,
),
)
+
+ # # # # # # # # # # Greiner_96_half_skirt_wellplate_200uL_vb # # # # # # # # # #
+
+
+def greiner_96_wellplate_200uL_Vb(name: str, with_lid: bool = False) -> Plate:
+ """Greiner cat. no.: 652260.
+ SAPPHIRE MICROPLATE, 96 WELL, PP, FOR PCR, NATURAL, HALF SKIRT
+ Spec: https://shop.gbo.com/en/usa/files/30114476/652260.pdf
+ """
+ return Plate(
+ name=name,
+ size_x=125.64, # from spec (from bottom of skirt)
+ size_y=85.98, # from spec
+ size_z=21.08
+ + (10.11 - 7.57)
+ - 0.22, # measured (well height + wall height - well_protruding_height); see PR#950
+ lid=None,
+ model=greiner_96_wellplate_200uL_Vb.__name__,
+ plate_type="semi-skirted",
+ ordered_items=create_ordered_items_2d(
+ Well,
+ size_x=5.56, # from spec (inner well width)
+ size_y=5.56, # from spec (inner well length)
+ size_z=20.65, # from spec
+ dx=10.75, # measured
+ dy=8.5, # measured
+ dz=0, # semi-skirted plate
+ material_z_thickness=0.43, # from spec
+ item_dx=9, # from spec
+ item_dy=9, # from spec
+ num_items_x=12, # from spec
+ num_items_y=8, # from spec
+ cross_section_type=CrossSectionType.CIRCLE,
+ bottom_type=WellBottomType.V,
+ max_volume=200, # from spec (0.2 mL)
+ ),
+ )