Author Topic: DCA75Pro: an alternative OSS library/tool for the PeakElec semiconductor tester  (Read 532 times)

0 Members and 3 Guests are viewing this topic.

Offline klausmanTopic starter

  • Regular Contributor
  • *
  • Posts: 128
  • Country: ch
I had always been annoyed by having to use the Windows app for the DCA75 to get the data out (yeah, I can copy it down off the display, but typos and all that)

So I reverse-engineered the USB protocol between PeakElec's Windows app and the USB device and turned it into a Go* library:

https://codeberg.org/klausman/dca75pro

Here's what using the command line utility looks like:



I am also working on a fancier tool, but it is not quite ready yet:



Feel free to test and play with it, patches/PR and pull requests as well as data for new devices welcome!

Important: this does not (yet) support the curve-tracing stuff the Windows app does, but it is on my radar

If you want to read up on the reverse engineering I did, I have done a few blog posts on the matter:

https://rev-amp.i-no.de/articles/03_dca75pro_re_pt1/
https://rev-amp.i-no.de/articles/04_dca75pro_re_pt2/
https://rev-amp.i-no.de/articles/05_dca75pro_re_pt3/

The final installment of that (pt.4) will be ready sometime this week.
* I used Go because it's what I know and it seemed a good fit. Given the documentation I also wrote about the protocol, it shouldn't be too hard to implement it in whatever language you fancy.
 
The following users thanked this post: KeBeNe, TheDefpom, bateau020, dibro, porter

Offline bateau020

  • Frequent Contributor
  • **
  • Posts: 446
  • Country: fr
Nice work!

I already mentioned elsewhere in this forum that keeping up with the changing firmware versions risks being a challenge. Note that 29 is the latest now, and you are on 28.

I discussed with them, but as you said, their IT staff is limited, and they do not seem to be interested in closer collaboration with outside software people.

Curve tracing would be really beneficial. I can see myself developing a VXI-11 front for this.

In your post #4 you mentioned missing germanium and TVS measurements. I can see if I can get you that one of these days (on FW 29)
 

Offline klausmanTopic starter

  • Regular Contributor
  • *
  • Posts: 128
  • Country: ch
Nice work!

Thank you!

I already mentioned elsewhere in this forum that keeping up with the changing firmware versions risks being a challenge. Note that 29 is the latest now, and you are on 28.

I think we're now at the point where they're not going to fundamentally change how the protocol works (except maybe for curve tracing), so I think the worst case scenario is them adding a bunch of new devices that I need to reverse engineer, but I don't think that's very likely. As for v29, I plan on having a go with that sometime this week. Judging form the changelog, it shouldn't change anything from the library's POV.

Curve tracing would be really beneficial. I can see myself developing a VXI-11 front for this.

I think the trickiest bit there will be to figure out the right/safe tracing parameters (min/max voltages and amperpages). I haven't looked too deeply into what the app chooses for various devices, but given the low-ish voltage of the tester 12V max, I think), I suspect it'd be hard to actively destroy the average part. Edge case, however.... I am in contact with one of their guys, and once he's back from vacation, I can hopefully extract some knowledge :)

In your post #4 you mentioned missing germanium and TVS measurements. I can see if I can get you that one of these days (on FW 29)

That would be fantastic, thanks in advance!
 

Offline bateau020

  • Frequent Contributor
  • **
  • Posts: 446
  • Country: fr
TVS diodes: all that I have tested show up either as zener or as simple junction diodes. No detection of the "TVS" specialitiy.
Still looking for my germanium transistors, have them somewhere......


EDIT:
my germanium transistors must be in some box in the back of my garage, couldn't find them in the various 'old parts' bins. I'm afraid they will surface only (or not) when I move houses. Sorry.
« Last Edit: August 09, 2026, 11:01:28 am by bateau020 »
 
The following users thanked this post: klausman

Offline Langdon

  • Frequent Contributor
  • **
  • Posts: 340
  • Country: ca
    • My website + My software
I wonder if the company would be interested in your project.

"Unix CLI interface" is a good sales pitch (at least for me!).
"It's a small world, but not if you have to clean it."—Barbara Kruger
 

Offline klausmanTopic starter

  • Regular Contributor
  • *
  • Posts: 128
  • Country: ch
I wonder if the company would be interested in your project.

"Unix CLI interface" is a good sales pitch (at least for me!).

Oh they know, I've been in contact with them. But I doubt they want it in any sense of doing support for it --- I suspect they're already not super hyped about having to support the Windows version: it's not really their line of business. That's fine, though, it's OSS for the very reason of giving people options.

Thing is, once a portable USB abstraction layer was in my lib, you could probably build whatever GUI app you wanted ontop, and compile for Linux, Windows... hell, Android if you wanted to.
 
The following users thanked this post: Langdon


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf