Redpitaya board for analog signal acquisition and generation as well as digital input/output

class pymeasure.instruments.redpitaya.redpitaya_scpi.RedPitayaScpi(adapter=None, ip_address: str = '', port: int = 5000, name='Redpitaya SCPI', read_termination='\r\n', write_termination='\r\n', **kwargs)

Bases: SCPIMixin, Instrument

This is the class for the Redpitaya reconfigurable board

The instrument is accessed using a TCP/IP Socket communication, that is an adapter in the form: “TCPIP::x.y.z.k::port::SOCKET” where x.y.z.k is the IP address of the SCPI server (that should be activated on the board) and port is the TCP/IP port number, usually 5000

To activate the SCPI server, you have to connect first the redpitaya to your computer/network and enter the url address written on the network plug (on the redpitaya). It should be something like “RP-F06432.LOCAL/” then browse the menu, open the Development application and activate the SCPI server. When activating the server, you’ll be notified with the IP/port address to use with this Instrument.

  • ip_address – IP address to use, if adapter is None.

  • port – Port number to use, if adapter is None.


ain1: AnalogInputFastChannel, ain2: AnalogInputFastChannel


ainslow0: AnalogInputSlowChannel, ainslow1: AnalogInputSlowChannel, ainslow2: AnalogInputSlowChannel, ainslow3: AnalogInputSlowChannel


aoutslow0: AnalogOutputSlowChannel, aoutslow1: AnalogOutputSlowChannel, aoutslow2: AnalogOutputSlowChannel, aoutslow3: AnalogOutputSlowChannel


dioN0: DigitalChannelN, dioN1: DigitalChannelN, dioN2: DigitalChannelN, dioN3: DigitalChannelN, dioN4: DigitalChannelN, dioN5: DigitalChannelN, dioN6: DigitalChannelN


dioP0: DigitalChannelP, dioP1: DigitalChannelP, dioP2: DigitalChannelP, dioP3: DigitalChannelP, dioP4: DigitalChannelP, dioP5: DigitalChannelP, dioP6: DigitalChannelP


led0: DigitalChannelLed, led1: DigitalChannelLed, led2: DigitalChannelLed, led3: DigitalChannelLed, led4: DigitalChannelLed, led5: DigitalChannelLed, led6: DigitalChannelLed, led7: DigitalChannelLed

property acq_buffer_filled

Get the status of the buffer(bool), if True the buffer is full

property acq_format

Set the format of the retrieved buffer data (str), either ‘BIN’, or ‘ASCII’ (default)

property acq_trigger_delay_ns

Control the trigger delay in nanoseconds (int) in the range [-8192, 8192] / CLOCK

property acq_trigger_delay_samples

Control the trigger delay in number of samples (int) in the range [-8192, 8192]

property acq_trigger_level

Control the level of the trigger in volts The allowed range should be dynamically set depending on the gain settings either +-LV_MAX or +- HV_MAX (dynamic)

property acq_trigger_position

Get the position within the buffer where the trigger event happened

property acq_trigger_source

Set the trigger source (str), one of RedPitayaScpi.TRIGGER_SOURCES. PE and NE means respectively Positive and Negative edge

property acq_trigger_status

Get the trigger status (bool), if True the trigger as been fired (or is disabled)

property acq_units

Control the output data units (str), either ‘RAW’, or ‘VOLTS’ (default)


Reset the voltage of all analog channels

property average_skipped_samples

Control the use of skipped samples (if decimation > 1) to average the returned acquisition array (bool)

property board_name

Get the RedPitaya board name

property buffer_length

Measure the size of the buffer, that is the number of points of the acquisition

property date

Control the date on board date should be given as a object

property decimation

Control the decimation (int) as 2**n with n in range [0, 16] The sampling rate is given as 125MS/s / decimation


Reset the state of all digital lines

property time

Control the time on board time should be given as a datetime.time object