Dispense multiple times in the same position

I am trying to create a method less redundant as possible. In order to do so, i am using BuidChannelPattern from STAR Tip Tools and i store different volumes in an array. My code is able to aspirate with no issues despite the warning:

Microlab® STARlet : 1000ul Channel Aspirate (Single Step) - progress; WARNING: The used array index ‘3’ from array ‘Volumes’ is out of bound. Data from the last available array element (index ‘2’) are used instead; liquid volume will allways be set to ‘0’.

I verified with a wetlab pipette and changed volumes to different extremes. Aspirate is working as intended. However, i need to manually create a polling proccess because each origin has different volumes. The POOLING current available in SMART STEPS (Venus 4) doens’t support [1] or [] and Channel Pipette - Simple is not enough. In the worst case scenario, i think i will use POOLING multiple times for each index in the array (e.g [1], [2], [3]…), it’s not pretty but may be functional.

Any suggestion?

1 Like

Hi @L001 ,

The Smart Steps are nice to be able to handle multi part steps as a single command, but this comes with the cost of more complex actions such as array support. Pooling can be accomplished using single steps fairly easily however. See the logic below:

A couple items to keep in mind when using arrays and single positions. You can prevent the array warnings from happening in your trace by appending extra values to the end of the array.

Even though the rest of the channels aren’t being used, Venus needs to set a volume to the non-used channels. By adding 8 extra 0 values to your array, you are guaranteed to have enough index positions to compensate for remainder channels.


When dispensing / aspirating from a single position, you need to have enough positions in the sequence to compensate for all of your channels. A single sequence position would result in a single dispense despite aspirating 5 source positions. Easy way to get around this, is to have your pooling position contain 8 sequence positions. One for each potential channel.

If you are in a VENUS 6 environment, the newer Powersteps option does support this action using arrays. See below:


Thank you Brandon!!! it worked!

Awesome solution.

All the best!


I seem to have an issue with aspirating/dispencing in the same position - but unlike the original enquery, I use the 96-channel head to go through the entire plate at once.

I need to cleanup DNA from the plate using magnitic beads. The screenshot shows some details of the method along with the error message. First, I move beads from the reservoir to the source plate and then try to homogenize the mixture by pipetting up and down a couple of times - and the error message occurs in this loop.

Could anyone advice how to fix this problem please?

The sequences for CO-RE 96head need to have at least 96 positions in a 96 pattern to process the step. If that all looks good, then I would check each of the commands that reference your source_plate sequence to make sure that Auto increment is unchecked:


1 Like

thanks @EricSindelar_Hamilton . I double checked and found that all aspiration/dispencing steps have auto increment option enabled, so it must be something else. Tried rewriting the method with single steps instead of smart steps but encountered the same problem.

The Auto increment needs to be disabled, not enabled. The use of single, gold, or smart steps would not change the behavior.

appologies @EricSindelar_Hamilton , it’s been a long day :slight_smile:
I disabled the auto-increments and now it works as intended - thank you so much!

1 Like