Author Topic: 2020 Lockdown -Made a General Purpose PCB Test Jig and Python Powered USB DAQ  (Read 4381 times)

0 Members and 1 Guest are viewing this topic.

Offline seanEETopic starter

  • Contributor
  • Posts: 15
  • Country: nz
Hi Everyone,

As an EE, I often have to make custom end of line test fixtures (bed of nails) test jigs for PCBs. I found that the measurement requirements for these jigs are often the same (current measurement, voltage measurement, temp measurement, load switching, variable voltage power output, etc.)

As such, I have created a general purpose test module that can be used for a variety of test and automation applications. You can see details at MagicDAQ.com.

Also, I like Python - so I made an easy to use Python API for a 14 bit USB DAQ. You can see the documentation website I made here:
https://magicdaq.github.io/magicdaq_docs/

I'm keen to hear your thoughts and feedback. I'm very happy to answer any technical questions you may have.

Though I'm offering these devices to engineering firms at commercial rates on my website, it occurs to me they may be of interest to people for hobby / educational purposes. If you're interested in getting one for personal use - flick me a DM and I can sell you the USB DAQ and/or test module for $100 USD each + shipping.

Cheers,
Sean


 
The following users thanked this post: thm_w, electrolust, InductorbackEMF

Offline mjkuwp

  • Supporter
  • ****
  • Posts: 269
  • Country: us
  • mechanical engineering defector
    • The Mz Lab
It's a good idea.  We use a Python at work for in house R&D test and also to make factory production equipment.  It has worked really well to hang various devices off the USB ports or Ethernet.

It took me a while investigating the site to figure out that the instrument is two things, one connected to the other.  I am not totally sure why it is built this way.

To build a system, would it be $100 + $100 ?

and one thought off the top of my head. in long running systems, especially if there is a bit of a challenge with hardware a device can fall off the USB bus/ the driver may crash.  It is helpful to have the code that talks to the serial port catch the errors and have a loop that re-connects the instrument.  In other words, one should be able to pull the on the USB and then re-plug the USB and it would continue running.  on the other hand this is quite rare especially when there is isolation built into the hardware.
 

Offline seanEETopic starter

  • Contributor
  • Posts: 15
  • Country: nz
mjkuwp - thanks for the feedback!

The primary reason the M&A Board (analog circuitry for signal acquisition) is a separate compatible product from the USB DAQ is I wanted to accommodate engineers that already have a favorite USB DAQ. The M&A Board has a well documented interface that could be used with any professional grade USB DAQ out there.

Good idea about gracefully catching a bus / driver error and continuing on. All of the MagicDAQ functions in the Python API do a bit of error checking and have the ability to raise exceptions in Python. The reason for the exception is specified of course. Just use a Try, Except block to catch an error. In the Except block, just close_daq_device() and open_daq_device() again.

To be honest though, in all of my testing with the MagicDAQ - it has been very stable. The mostly likely cause of failure is actually the USB cable being pulled out / not fully plugged in.

Yes  - I was thinking $100 USD for the USB DAQ and $100 USD for the M&A board.

BTW, I realized I did not post the MagicDAQ website link in my original post, so here are the links again in all their glory:
https://www.magicdaq.com/

https://magicdaq.github.io/magicdaq_docs/

Cheers,
Sean
 

Offline voltsandjolts

  • Supporter
  • ****
  • Posts: 3843
  • Country: gb
How does the MagicDAQ hardware compare to a similar looking AliExpress item?
https://www.aliexpress.com/item/33039808072.html
 

Offline seanEETopic starter

  • Contributor
  • Posts: 15
  • Country: nz
Voltsandjolts-
Oooh - I'm so glad someone asked that!

So when I was designing this thing, I started with the M&A Board - that's all custom hardware I designed myself and have had built.

I realized that I wanted a super easy to use Python based USD DAQ to pair with it. I found the other USB DAQs out there had an instillation / learning curve that was a little too steep for my taste.

USB DAQ hardware is not that revolutionary - no sense in re-inventing the wheel. So I went and found good quality (14 bit, etc.) USB DAQ hardware at the best possible price. The item you link to is most likely a derivative off the same base hardware I am using.

I contacted the supplier and got them to agree to sell me the base hardware. Now here is the fun part - the base hardware had no applications API available, so I wrote the entire Python API for the MagicDAQ from scratch. Additionally, I found that though the base hardware used good components - it badly needed calibration and end of line testing. So I built a calibration mechanism and encoded a custom data type into the embedded memory of the DAQ to uniquely calibrate each device.

Given that I had to introduce custom calibration to get good data out of the hardware - that unfortunately means my MagicDAQ Python API is only compatible with DAQs I calibrate. I would have liked it to be generally compatible - but that's the best I could do.

Cheers,
Sean
 

Offline voltsandjolts

  • Supporter
  • ****
  • Posts: 3843
  • Country: gb
I like your idea of taking commodity hardware, improving it somewhat and making an easy to use hardware interface (your M&A board) and software interface (your Python API).
Your PDF datasheets look the business, presenting it all so well is a considerable effort too, nice work.
 

Offline seanEETopic starter

  • Contributor
  • Posts: 15
  • Country: nz
voltsandjolts - cheers! Thanks so much for the positive feedback!

The main hurdle I am now facing is distribution. Being in New Zealand - getting the message out there is a bit difficult. I can't even post on Ebay or Amazon for worldwide sales at the moment.

If anyone in a major country (US or UK for example) would like to help with distribution - I'd be more than happy to setup a mutually beneficial arrangement. Flick me a DM if your interested. Just posting on Ebay or Amazon in your country would be of enormous assistance.  I could provide all necessary photos and text for the posting (have already prepared).

Cheers,
Sean

 
 

Offline Hydron

  • Super Contributor
  • ***
  • Posts: 1633
  • Country: gb
Not something I'd use for myself, but I'll show the site to the guys at work who do the test fixtures (I've mostly avoided that job so far).

I hope you're having better luck with the post than I did in late June - took 6 weeks to get an economy air mail package from Auckland to London! NZ post had increased their time estimate due to covid but it was still double their new estimate. Worst was I was getting sent something I was planning to pick up in March or April but couldn't due to level 4.
 

Offline seanEETopic starter

  • Contributor
  • Posts: 15
  • Country: nz
Hi Hydron - thanks so much, I hope the guys at work like it.

Yes, I had something stuck in the post during level 4 as well - seemed to take forever.
 
The post seems to be working fine now though. I ship regularly to the UK for work - it is currently taking about 6 days at the cheapest rate.

Cheers,
Sean
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf

 

-->