diff --git a/docs/resources/library/hamilton.md b/docs/resources/library/hamilton.md
index 307df97d9ed..76154017749 100644
--- a/docs/resources/library/hamilton.md
+++ b/docs/resources/library/hamilton.md
@@ -50,7 +50,7 @@ Sometimes called "sample carriers" in Hamilton jargon.
| Description | Image | PLR definition |
| - | - | - |
| 'Tube_CAR_24_A00'
Part no.: 173400
[manufacturer website](https://www.hamiltoncompany.com/automated-liquid-handling/other-robotics/173400)
Carries 24 "sample" tubes with 14.5–18 mm outer diameter, 60–120 mm high. Occupies one track. |  | `Tube_CAR_24_A00` |
-| 'Tube_CAR_32_A00'
Part no.: 173410
[manufacturer website](https://www.hamiltoncompany.com/other-robotics/173410)
Carries 32 "sample" tubes with 11–14 mm outer diameter, 60–120 mm high. Occupies one track. |  | `Tube_CAR_32_A00` |
+| 'hamilton_tube_carrier_32_a00_insert_eppendorf_1_5mL'
Part no.: 173410
[manufacturer website](https://www.hamiltoncompany.com/other-robotics/173410)
Carries 32 `Eppendorf_DNA_LoBind_1_5ml_Vb` or `Eppendorf_Protein_LoBind_1_5ml_Vb` tubes. Occupies one track. |  | `hamilton_tube_carrier_32_a00_insert_eppendorf_1_5mL` |
| 'hamilton_tube_carrier_12_b00'
Part no.: 182045
[manufacturer website](https://www.hamiltoncompany.com/other-robotics/50-ml-falcon-tube-carrier)
Carries 12 "sample" tubes with 30 mm outer diameter, 115 mm high. Occupies two tracks. |  | `hamilton_tube_carrier_12_b00` |
### Trough carriers
diff --git a/pylabrobot/resources/hamilton/tube_carriers.py b/pylabrobot/resources/hamilton/tube_carriers.py
index 7a34ebd53fd..6d6d233068e 100644
--- a/pylabrobot/resources/hamilton/tube_carriers.py
+++ b/pylabrobot/resources/hamilton/tube_carriers.py
@@ -1,3 +1,5 @@
+import warnings
+
from pylabrobot.resources.carrier import (
Coordinate,
ResourceHolder,
@@ -31,25 +33,42 @@ def Tube_CAR_24_A00(name: str) -> TubeCarrier:
def Tube_CAR_32_A00(name: str) -> TubeCarrier:
- """Hamilton cat. no.: 173410
+ warnings.warn(
+ "The true dimensions of a Tube_CAR_32_A00 (SMP_CAR_32_A00) are not known. "
+ "The hamilton definitions are with inserts. "
+ "Do you want to use `hamilton_tube_carrier_32_a00_insert_eppendorf_1_5mL` instead?",
+ DeprecationWarning,
+ )
+ return hamilton_tube_carrier_32_a00_insert_eppendorf_1_5mL(name)
+
+
+def hamilton_tube_carrier_32_a00_insert_eppendorf_1_5mL(name: str) -> TubeCarrier:
+ """Hamilton cat. no.: 173410 with inserts cat no. 187350.
Hamilton name: 'SMP_CAR_32_A00'.
'Sample' carrier for 32 tubes
1 track(T) wide.
+ For use with `Eppendorf_DNA_LoBind_1_5ml_Vb` and `Eppendorf_Protein_LoBind_1_5ml_Vb`.
"""
+ hole_diameter = 10.8
return TubeCarrier(
name=name,
- size_x=22.5,
- size_y=497.0,
- size_z=71.5,
+ size_x=22.5, # 1 track
+ size_y=497.0, # standard
+ size_z=60.2, # caliper
sites=create_homogeneous_resources(
klass=ResourceHolder,
- locations=[Coordinate(5, 6.5 + x * 15, 24.0) for x in range(32)],
+ locations=[
+ Coordinate(14.5 - hole_diameter / 2, 14.5 - hole_diameter / 2 + x * 15, 25.88)
+ for x in range(
+ 32
+ ) # SMP_CAR_32_A00 in venus, verified with caliper, custom z from z probing
+ ],
# should fix container
- resource_size_x=13.0,
- resource_size_y=13.0,
+ resource_size_x=hole_diameter, # venus
+ resource_size_y=hole_diameter, # venus
name_prefix=name,
),
- model="Tube_CAR_32_A00",
+ model=hamilton_tube_carrier_32_a00_insert_eppendorf_1_5mL.__name__,
)
@@ -59,6 +78,7 @@ def hamilton_tube_carrier_12_b00(name: str) -> TubeCarrier:
'Sample' carrier for 12 50mL falcon tubes (Cor_Falcon_tube_50mL_Vb).
2 track(T) wide.
"""
+ hole_diameter = 29.0
return TubeCarrier(
name=name,
size_x=45, # 2 tracks
@@ -67,11 +87,11 @@ def hamilton_tube_carrier_12_b00(name: str) -> TubeCarrier:
sites=create_homogeneous_resources(
klass=ResourceHolder,
locations=[
- Coordinate(26.05 - 29 / 2, 41.74 - 29 / 2 + i * 36.5, 18.9)
+ Coordinate(26.05 - hole_diameter / 2, 41.74 - hole_diameter / 2 + i * 36.5, 18.9)
for i in range(12) # SMP_CAR_12_A00 in venus, verified with caliper, custom z
],
- resource_size_x=29.0,
- resource_size_y=29.0,
+ resource_size_x=hole_diameter,
+ resource_size_y=hole_diameter,
name_prefix=name,
),
model=hamilton_tube_carrier_12_b00.__name__,