The Pico SCPI labTool (PST) allows you to connect your PC to equipment to control and monitor all sorts of things. It runs on a Raspberry Pico. |
What's new?
Release 3 adds these new SCPI functions:
get input pin status | query the state of an input pin (can be a digital signal, switch status, ...) |
set analogue output | Control a Pico pin's output value with variable duty cycle |
get analogue output value | query the current set duty cycle of a Pico pin |
DIGI:IN - The device can now be used to detect a get the status of a logic signal on 3 inputs. The Pico GPIO input signal limits apply. If you use this to detect a mechanical switch' state, add debouncing hardware.
ANA:OUT - You can generate a variable duty cycle signal on 3 pins. With the right filtering, you can create a 0 - 3.3 V signal. There's a helper function to retrieve the set value.
Other functionality added:
unique Pico ID in USB string | The TMCUSB resource string now uses the unique Pico ID as serial number in the VISA enumeration info. This allows flows to use multiple PSTs. |
reserved persistent storage area | Part of Flash is reserved for future functionality: persist settings and calibration values |
refactoring | Factor out i2c initialisation from Adc16 module. Now part of core device duties |
The LabVIEW release adds blocks for the new SCPI functions, and 3 examples:
How to get the software
check this post for a "how to install firmware and run the first LabVIEW process" video.
download link | info |
Pico firmware | backwards compatible with previous versions. includes the .uf2 file to program your Pico right away |
LabVIEW driver | backwards compatible with previous versions. driver blocks for new functionality and extra examples |
Command reference
This section describes the added commands. It lists
- the SCPI syntax,
- LabVIEW Virtual Instrument driver block
- the pins that are used,
- parameters, return values.
get digital input | query the state of a digital input | 0: GP20 1: GP21 2: GP27 |
SCPI | DIGItal:INPut#? |
example: DIGI:INP0? #: pin |
VI |
Public/Data/Read Digital In |
inputs: pin (int) outputs: state (bool 0|1) |
set analog output | control pin of Pico with variable duty cicle | 0: GP16 1: GP17 2: GP18 developed by shabaz |
SCPI | ANAlog:OUTPut#:RAW <0-4095> | inputs: pin (int) Duty cycle value (integer 0-4095) outputs: na |
VI |
Public/Action-Status/Analog Out Control |
inputs: pin (int) duty cycle (integer 0-4095) outputs: na |
get analog output | query the set duty cycle set on a pin of Pico | 0: GP16 1: GP17 2: GP18 developed by shabaz |
SCPI | ANAlog:OUTPut#:RAW? | inputs: pin (int) outputs: Duty cycle value (integer 0-4095) |
VI |
Public/Data/Read Analog Out |
inputs: pin (int) outputs: duty cycle (integer 0-4095) |
For the compete reference: PST.. Program the Pico SCPI labTool?
New LabVIEW examples
You can run all examples with a Pico programmed with the PST firmware.
- Generate an analogue output signal and read its value back
- Check the speed of digital output switching
- A pass / fail scenario demo (see also PST.. A little project for the Pico SCPI labTool: resistor pass / fail test bed)