PyPSUcurvetrace: a flexible, open-source curve tracer using programmable power supplies

PYPSU using standard power supplies is a excellent idea (brilliant?) but without any ability for pulsed measurements there is a lot that can not be measured on higher power devices.
That's why I made the heater block for use with pypsucurvetrace. See here. This enables testing high-power DUTs with pypsucurvetrace.

It would open the door to developing open source uTarcer like pulsed measurement system projects where the hardware and all the firmware are open source. That to me sounds like a fun and useful project.
You are most welcome to start an open-source code project for the uTracer, and maybe it even makes sense to get some inspiration from pypsucurvetrace. Is there any documentation for the uTracer communication protocol?
 
You are most welcome to start an open-source code project for the uTracer, and maybe it even makes sense to get some inspiration from pypsucurvetrace. Is there any documentation for the uTracer communication protocol?
Yes Ronald the designer of the uTracer
https://www.dos4ever.com/
has kindly provided a wealth of information on the hardware and a fair bit of information on the firmware's communication protocol. There certainly is enough information to develop software to drive the uTracer.
The protocol is pretty simple and seems in clear text.
I have done a bit of testing with a simple ASCII terminal successfully sending it commands.
A few others have developed alternative user interfaces for the uTracer but none are open source and none are available for other users to make changes to.
 
All the software developed to date is based on GUIs.
This really limits the automation available in testing with all the pointing and clicking required to pull up a setup file, run the measurements and then save the resulting data file. GUIs in my experience are poorly suited to repetitive tasks like data acquisition.

I would prefer to drive the measurement system from a basic script that pulls in a text file for the settings and measurement to be done, calls a command line program to get the measurements done, then having the results written to a simple text file.
Really the Linux (Unix) way, several smaller simple programs working together with clear text to get done what is needed with no large complex monolithic software involved.

Also as soon as a GUI is introduced porting to other platforms or being made stand alone becomes far too complicated for my low programming skills.
 
Last edited:
Member
Joined 2011
Paid Member
Build your own hardware and write your own software. Attach it to whatever computing platform you like. Now you're fully decoupled from the nonsense pirouettes and arbitrary whimsies of Microsoft or Oracle/Java or FSF/Linux. Accumulate spares, run regular backups, and sleep soundly.
 
@Bluesystems I had a very quick look at the µTracer website, but I could not find the documentation of the communication protocol within 10 seconds, so I gave up ;-) Judging from your experience with talking to the µTracer through a terminal, it should not be too difficult to write some code to do what you described (btw, I agree 100% with your general approach).

I don't think that pypsucurvetrace would be ideal as a basis to get the measurements from the µTracer. pypsucurvetrace does a lot of things needed for use with normal power supplies that would interfere and need workarounds with the µTracer (checking for stable voltage / current settings, idling between readings, etc.). I guess it would be a lot easier and cleaner to implement the data acquisition part starting some litte program/code from scratch. If the data file output (ASCII format) is the same as with that used in pypsucurvetrace, you could use the plotting and processing parts from pypsucurvetrace directly.
 
I went through the pypsucurvetrace code last night and I agree with you that the architecture is very different as to what is needed to drive a uTracer.
There is for me, a hardware designer that does code as needed a lot of very good stuff in pypsucurvetrace to use as a starting base.
Things like working examples of file I/O, comms I/O, variable use and good instruction on getting the whole working environment in Linux going.
The example of plotting data curves is excellent also.
In my case there is great value in pypsucurvetrace as a learning tool and starting point. I thank you for sharing your skill with the community.