The loop iterates over the volumes provided in the csv, but for each volume, plate.wells()[:len(volumes)] is putting that amount in every single well on the plate.
This seemed to fix it.
for i in range(len(volumes)):
pipette.transfer(
volumes[i],
reservoir.bottom(height_offset(vol_used)),
plate.wells()[i],
new_tip=tip_reuse)
vol_used += vol
https://github.com/Opentrons/Protocols/blob/ff624c069edd81ff0cbb6432c28f7c733dfabfaa/protocols/normalization/normalization.ot2.apiv2.py#L64-L75
The loop iterates over the volumes provided in the csv, but for each volume, plate.wells()[:len(volumes)] is putting that amount in every single well on the plate. This seemed to fix it.