Byonoy Luminescence 96 Automate#
Communication Protocol / Hardware: HID / USB-A/C
Communication Level: Firmware
VID:PID
16d0:119bTakes a single SLAS-format 96-wellplate on the base unit, enables movement of the reader unit over it, and reads all 96 wells simultaneously.
Setup Instructions (Physical)#
The Byonoy Luminescence 96 Automate (L96A) is a luminescence plate reader consisting of…
a
base_unitwhich holds the plate,a
reader_unitcontaining the light sensors that sits on top of the base unit.
Communication#
It requires only one cable connection to be operational:
USB cable (USB-C at
reader_unitend; USB-A at control PC end)
Setup Instructions (Programmatic)#
%load_ext autoreload
%autoreload 2
from pylabrobot.plate_reading.byonoy import byonoy_l96a
base_unit, reader_unit = byonoy_l96a("Luminescence96 Automate")
reader_unit
ByonoyLuminescence96Automate(name='Luminescence96 Automate_reader', location=Coordinate(000.000, 000.000, 006.300), size_x=138, size_y=97.5, size_z=41.7, category=plate_reader)
await reader_unit.setup()
Measure Luminescence#
Before you can do a plate reading measurement in PLR, you need to assign a plate to the reader.
from pylabrobot.resources.corning.plates import Cor_96_wellplate_360ul_Fb
demo_plate = Cor_96_wellplate_360ul_Fb(name="plate")
reader_unit.assign_child_resource(demo_plate)
data = await reader_unit.read_luminescence(
focal_height=1,
use_new_return_type=True,
)
print(f"Time: {data[0]['time']}")
print(f"Temperature: {data[0]['temperature']}")
print("Data")
print(data[0]['data'])
Time: 1770236622.314785
Temperature: None
Data
[[200552272.0, 201907664.0, 218108208.0, 234161952.0, 251950976.0, 8104904.0, 1781678.0, 1690456.0, 2708988.0, 2377269.0, 5855379.0, 289570432.0], [183959648.0, 183223568.0, 186845840.0, 187736528.0, 3184948.0, 1934996.0, 1431882.0, 1225921.0, 1186311.0, 1238371.0, 1392693.0, 3190326.0], [209724544.0, 200640128.0, 4695649.0, 2133116.0, 2067423.0, 1974764.0, 1769515.0, 1576723.0, 1396270.0, 1392762.0, 1163494.0, 1340111.0], [8631671.0, 2948252.0, 1878185.0, 1944314.0, 1928056.0, 1818789.0, 1538142.0, 1391728.0, 1203908.0, 1180876.0, 1094184.0, 1385255.0], [2561222.0, 2007909.0, 2202352.0, 2187162.0, 2016595.0, 1628429.0, 1532333.0, 1342909.0, 1310737.0, 1187646.0, 1123093.0, 1284595.0], [2612154.0, 2109698.0, 2374385.0, 2376566.0, 2073923.0, 1862185.0, 1761917.0, 1637089.0, 1429714.0, 1279758.0, 937221.0, 1471533.0], [3401529.0, 2545716.0, 2582033.0, 2696296.0, 2458846.0, 2448346.0, 2106862.0, 1956427.0, 1705456.0, 1578239.0, 1126263.0, 1378166.0], [6511548.0, 5467399.0, 6249315.0, 6408278.0, 5996644.0, 5163665.0, 5879837.0, 5222682.0, 4798715.0, 4238464.0, 3052718.0, 1889772.0]]
Disconnect from Reader#
await reader_unit.stop()
Resource model#
In the example above, we instantiated the Byonoy Luminescence 96 Automate reader using the byonoy_l96a function, which automatically creates the necessary resources for the reader.
base_unit.reader_unit_holder.resource is reader_unit
True