element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Test & Tools
  • Technologies
  • More
Test & Tools
Blog Keithley DMM6500: Software Control Options Pt 3 - VSCode TSP Toolkit
  • Blog
  • Forum
  • Documents
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Test & Tools to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: Jan Cumps
  • Date Created: 25 Jul 2026 10:23 AM Date Created
  • Views 90 views
  • Likes 6 likes
  • Comments 3 comments
  • RoadTest
  • VS Code
  • keithley
  • tsp
  • keithley dmm6500
Related
Recommended

Keithley DMM6500: Software Control Options Pt 3 - VSCode TSP Toolkit

Jan Cumps
Jan Cumps
25 Jul 2026

Follow up on my road test of the  Keithley Bench Digital Multimeter DMM6500.
I proposed in my application to focus the review on instrument automation. In this post, the VSCode TSP Toolkit plugin. The plugin was released a few years after the road test.

image

TSP

TSP is one of the 2 scripting options for the Keithley DMM6500 (the other one is SCPI). It's using the programming language Lua.
You can write scripts that automate anything you can do via the touch screen. It also has functions to manipulate that screen. And you can use any function that's available in Lua.

The typical use is to write a script to automate instrument setup or to do a set of measurements. You can also write complete apps for the DMM.

TSP Toolkit for VSCode

Tektronix released version 1.5 of their VSCode TSP plugin. It supports TSP script development from the IDE, and gives you some remote control options.

Development

The look and feel is similar to developing for Python in VSCode. You set up a workspace, write scripts, and you can execute or debug them.
If you also install a Lua plugin (such as Lua Helper), you get additional language support, such as syntax highlighting and code completion.

image

Execute and Debug

The plugin allows you to execute the code directly on your DMM. Text output and error messages are routed to the VSCode terminal window. 
Remote debug is also supported. You can load the script in the DMM6500's memory and then step through the code. Variables and watch expressions are supported. For both options, the DMM has to be reachable from your development PC. More on that in the next section.

image

Remote options

The plugin lets you connect to your instrument. This is not really an option. It's required to be able to do anything useful. The easiest way to connect, is when you know the VISA connect string of your instrument or its IP address. This version of the toolkit supports USB and tcpip connected devices. For this review, I connected a DMM6500 via USB, and used the connect string I retrieved from my NIVisa install: 

image

Once connected, you can execute and debug scripts as idicated above, but there are more options:

  • update firmware from VSCode
  • download the instrument's data buffers
  • record actions done on the instrument and save them as a script
  • retrieve system configuration
  • send direct commands via the VSCode terminal

What I didn't find: an option to permanently store scripts on the DMM's disk. This is supported by Lua commands, though. So you can use the VSCode terminal to store a script.

Don't know TSP or Lua? Google AI does.

image

image

 

Related Blog
Software Control Options Pt 1 - TSP Script Builder, LabVIEW, Web Interface
TSP Script Example - Measure Power
How to Create a Bitmap for a Custom App
Verify a µCurrent Manually
Verify a µCurrent in an Automated Setup
Measure Amp-Hours of a microcontroller with a µCurrent
Trigger from External Trigger Input
Trigger from External Trigger Input in LabVIEW
Software Control Options Pt 2 - Test Commands with Communicator
App to Hold Measurements
Store Multiple Measurements Manually
Keithley DMM6500: Script Example - Externally Triggered Measurements

 Keithley DMM6500: Software Control Options Pt 3 - VSCode TSP Toolkit 

  • Sign in to reply
  • DAB
    DAB 3 days ago

    Nice post Jan.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Jan Cumps
    Jan Cumps 3 days ago in reply to colporteur

    I do. Everything repeatable is worth automating.

    In this example, 5 different measurements (2 temperatures and 3 voltages, at different range) are made in less than half a second. If you listen carefully, you can hear the clicks. This is done by a script.

    You don't have permission to edit metadata of this video.
    Edit media
    x
    image
    Upload Preview
    image

    (this was for a road test: https://community.element14.com/products/roadtest/rt/roadtests/679/become-a-tester-of-the-vishay-microbrick174-synchronous-buck-regulator-evb#pifragment-18971=4&pifragment-18972=7&pifragment-19828=11)

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • colporteur
    colporteur 3 days ago

    JC after playing with the programming did you find anything that is useful?

    I'm a bit of a cynic when it comes to automating some testing. I fail to see the benefit on a VOM multimeter.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube