LabNet hardware control software for the Raspberry Pi

Single-board computers such as the Raspberry Pi make it easy to control hardware setups for laboratory experiments. GPIOs and expansion boards (HATs) give access to a whole range of sensor and control hardware. However, controlling such hardware can be challenging, when many experimental setups run...

Full description

Bibliographic Details
Main Authors: Alexej Schatz, York Winter
Format: Article
Language:English
Published: eLife Sciences Publications Ltd 2022-12-01
Series:eLife
Subjects:
Online Access:https://elifesciences.org/articles/77973
_version_ 1828084196375003136
author Alexej Schatz
York Winter
author_facet Alexej Schatz
York Winter
author_sort Alexej Schatz
collection DOAJ
description Single-board computers such as the Raspberry Pi make it easy to control hardware setups for laboratory experiments. GPIOs and expansion boards (HATs) give access to a whole range of sensor and control hardware. However, controlling such hardware can be challenging, when many experimental setups run in parallel and the time component is critical. LabNet is a C++ optimized control layer software to give access to the Raspberry Pi connected hardware over a simple network protocol. LabNet was developed to be suitable for time-critical operations, and to be simple to expand. It leverages the actor model to simplify multithreading programming and to increase modularity. The message protocol is implemented in Protobuf and offers performance, small message size, and supports a large number of programming languages on the client side. It shows good performance compared to locally executed tools like Bpod, pyControl, or Autopilot and reaches sub-millisecond range in network communication latencies. LabNet can monitor and react simultaneously to up to 14 pairs of digital inputs, without increasing latencies. LabNet itself does not provide support for the design of experimental tasks. This is left to the client. LabNet can be used for general automation in experimental laboratories with its control PC located at some distance. LabNet is open source and under continuing development.
first_indexed 2024-04-11T04:21:18Z
format Article
id doaj.art-0f3cb9a22b7c4d0a841ebbb03dd5d0b7
institution Directory Open Access Journal
issn 2050-084X
language English
last_indexed 2024-04-11T04:21:18Z
publishDate 2022-12-01
publisher eLife Sciences Publications Ltd
record_format Article
series eLife
spelling doaj.art-0f3cb9a22b7c4d0a841ebbb03dd5d0b72022-12-30T14:05:07ZengeLife Sciences Publications LtdeLife2050-084X2022-12-011110.7554/eLife.77973LabNet hardware control software for the Raspberry PiAlexej Schatz0https://orcid.org/0000-0002-2664-2103York Winter1Humboldt Universität, Berlin, GermanyHumboldt Universität, Berlin, GermanySingle-board computers such as the Raspberry Pi make it easy to control hardware setups for laboratory experiments. GPIOs and expansion boards (HATs) give access to a whole range of sensor and control hardware. However, controlling such hardware can be challenging, when many experimental setups run in parallel and the time component is critical. LabNet is a C++ optimized control layer software to give access to the Raspberry Pi connected hardware over a simple network protocol. LabNet was developed to be suitable for time-critical operations, and to be simple to expand. It leverages the actor model to simplify multithreading programming and to increase modularity. The message protocol is implemented in Protobuf and offers performance, small message size, and supports a large number of programming languages on the client side. It shows good performance compared to locally executed tools like Bpod, pyControl, or Autopilot and reaches sub-millisecond range in network communication latencies. LabNet can monitor and react simultaneously to up to 14 pairs of digital inputs, without increasing latencies. LabNet itself does not provide support for the design of experimental tasks. This is left to the client. LabNet can be used for general automation in experimental laboratories with its control PC located at some distance. LabNet is open source and under continuing development.https://elifesciences.org/articles/77973softwarehardwarebehaviour
spellingShingle Alexej Schatz
York Winter
LabNet hardware control software for the Raspberry Pi
eLife
software
hardware
behaviour
title LabNet hardware control software for the Raspberry Pi
title_full LabNet hardware control software for the Raspberry Pi
title_fullStr LabNet hardware control software for the Raspberry Pi
title_full_unstemmed LabNet hardware control software for the Raspberry Pi
title_short LabNet hardware control software for the Raspberry Pi
title_sort labnet hardware control software for the raspberry pi
topic software
hardware
behaviour
url https://elifesciences.org/articles/77973
work_keys_str_mv AT alexejschatz labnethardwarecontrolsoftwarefortheraspberrypi
AT yorkwinter labnethardwarecontrolsoftwarefortheraspberrypi