BioTek Synergy HTX Backend

Greetings!:vulcan_salute:

Happy new year! Hopefully 2026 will be better than 2025 in every respect.

Thank you for developing PLR, it is a great initiative! I was very happy to discover that it already implements support for some Agilent (BioTek) plate readers, including the Synergy H1. I would like to ask whether there is a plan to support the Synergy HTX multimode reader, and if not, whether I could lend a hand to implement the backend for it. I am not sure how different it is from the Synergy H1.

Cheers, and thank you again for the effort that you are putting into this library.

4 Likes

Hello!

My name is Nat, and I was the one who developed the Synergy H1 backend :slightly_smiling_face: .

I haven’t personally heard if anyone is working on the Synergy HTX, but if not, the first test I would do is to see if the current BioTekPlateReaderBackend or SynergyH1Backend will work with the HTX, such as testing out the door and reading functions. After all, that was how I was able to develop the SynergyH1Backend by testing it with the CytationBackend, since both plate readers are controlled by the Gen5 software, which is what the PLR code is based on.

And who knows, hopefully, the HTX shares the same base codes as well, except for some minor modifications that may be needed to make it fully work. :crossed_fingers:

3 Likes

note that the backends currently in PLR, the one @Nat wrote, works for v1.01 but not for firmware version 2.24 (that we currently know about). this is because no one with a device running 2.24 has contributed it yet. and unfortunately the api is not the same

2 Likes

Hi Nat,

Apologies, I should have introduced myself - I’m Alex, and I’m currently working on an automation project with a lab that has the Synergy HTX. Thank you for implementing the Synergy H1 backend and for the insight. It did occur to me that the base BioTekPlateReaderBackend might already be able to interface with the HTXsince, as far as I can tell, it implements most of the functionality of the `H1`. I will try it at the lab, and I will let you know how it goes!

1 Like

I see, that’s good thing to know - I hope that our firmware is v1.01:crossed_fingers:, but if it’s not, I would be keen to work on it. When you say that nobody has contributed it, do you mean the firmware itself, a pcap file or something else? How do you normally approach this? Do we need to get Agilent involved?

At any rate, if the current backend (mostly) works, this would already be a huge step forward for us, so thank you both @rickwierenga @Nat.

I’ve done a few tests with the Synergy H1 backend on our Synergy HT - we can connect to the instrument, get the serial number, open the door, and close the door. None of the read commands are working for the Synergy HT though :face_with_peeking_eye: so some work to be done there

3 Likes

Hi @jordan, that is good to hear, as you already got your foot in the door!

Is there a specific error you are running into when you try to send the read commands? Is the plate reading anything at all, or is the script terminating too soon before you get your data?

I only ask this because the SynergyH1Backend references 99% of the code from the BioTekPlateReaderBackend. The only modification is the _read_until function utilized in each read function (absorbance, luminescence, and fluorescence). Therefore, I would suggest testing the BioTekPlateReaderBackend to see if it could fix the problem, if you haven’t already.

After all, the same thing happened to me when I was first implementing the SynergyH1Backend. Back then, there was only the Cytation5Backend, and I tested that with our Syngery H1. Everything worked, except for the read commands. Therefore, with @rickwierenga’s help, the Cytation5Backend was separated into the BioTekPlateReaderBackend as the base class, and the SynergyH1Backend and CytationBackend as the subclasses.

2 Likes