Pyripherals: A Python Package for Communicating with Peripheral Electronic Devices

  • Stroschein A
  • Bonequi I
  • Koerner L
N/ACitations
Citations of this article
1Readers
Mendeley users who have this article in their library.

Abstract

This DAQ system and the pyripherals software are crucial components of a digital feedback amplifier being developed for ion channel electrophysiology (Koerner et al., 2022) and more generally comprise an open-source system for microsecond latency real-time feedback experiments. Similar DAQ systems (Leibrandt & Heidecker, 2015; Yu et al., 2018) create MHz bandwidth servos for physics experiments but the host software is either not publicly available or not generalizable. Many Python packages for lab automation and electrical instrument control have been developed (Allan et al., 2019; Casagrande, 2020; Jermain & Rowlands, 2020) yet do not support real-time control. In our system, the FPGA controller fills a need for microsecond level latency by interfacing directly to analog-to-digital converters and digital-to-analog converters while pyripherals organizes the configuration of these chips. The pyripherals software can be expanded to control and read data from other electronic sensors, such as accelerometers, and is currently in use in our lab with a time-of-flight depth sensor (AMS TMF8801) for rapid readout of photon return time histograms. Similar to pyripherals, the Python package registerMap (Smiley, 2019) creates a framework for register map organization in embedded systems. However, it lacks the interconnection between register data and hardware communication controller offered by pyripherals. The Opal Kelly XEM7310 FPGA that we use for communication controllers to demonstrate pyripherals is common in research environments such that our pyripherals software may accelerate developments of FPGA to electronic chip interfaces in other labs.

Cite

CITATION STYLE

APA

Stroschein, A., Bonequi, I. D., & Koerner, L. J. (2022). Pyripherals: A Python Package for Communicating with Peripheral Electronic Devices. Journal of Open Source Software, 7(79), 4762. https://doi.org/10.21105/joss.04762

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free