LabJack U3 Dashboard Project in Python

Not radiation detection? Then discuss it here!
Post Reply
User avatar
Sesselmann
Posts: 943
Joined: 27 Apr 2015, 11:40
Location: Sydney
Contact:

LabJack U3 Dashboard Project in Python

Post by Sesselmann » 03 Oct 2021, 14:57

Hi All,

Some of you might be interested this project I have been working on. I recently uncovered my old FICS Fusion project which has been in storage for a couple of years and decided to give it another go. Apart from redesigning the actual fusion chamber I also wanted to change the remote control which was a National Instruments DAQ and ran on Windows only (I find it hard to work when Microsoft has one hand in my pocket).

To cut a long story short I bought a Labjack U3 and installed Linux Ubuntu on the laptop. Unfortunately the LabJack didn't come with any useful GUI for Linux, only some basic drivers written in Python which I had no experience with. Anyway, encouraged by my son who is a Python fan I decided to try and write a program for the Labjack. It was a steep learning curve and I spent far more time than I anticipated, but I finally have something that works.

I call this a beta version, it works but expect to make improvements as I start using it.

Python
The program is written in Python using Dash Plotly modules and it opens in a browser, the instruments are relatively easy to change if the user wants a different look. Some knowledge of Python is necessary.

Functionality
The program handles 4 analogue inputs (0-5Volts), one digital counter input and two analogue outputs (0-5 volts). Cheap modules are available from Labjack if you need 0-10 volts output. The sampling happens at up to 50 kHz, but it only records averages at around 10 times a second.

Settings
I have included options in the settings to customise the program for any experiment and it is easy to change the text fields, instrument names, instrument scales and factors, making the program useful for any kind of data logging experiment.

Output
When the program is run for the first time it creates an SQLite database into which the data is saved. there are two main tables in the database, one temp_readings table and one dac_readings, when the recording switch is set to NOT_RECORDING data is written to the temp table and when it is set to RECORDING data is written to the DAC table. The temp data is overwritten every time you change the switch. Each permanent recording gets a new sequential run number.

CSV Download
Post run analysis can be done by doing a data dump to CSV and opening the file in a spreadsheet.

Installation
As the program is written in Python and essentially runs in a browser, it will run on all platforms including Windows, Mac or Linux. The installation process is relatively simple although some command line prompts are necessary in order to install the drivers necessary.

The latest version can be downloaded from the Github repository here: https://github.com/ssesselmann/labjack-dash

Labjack U3 can be found here: https://labjack.com/products/u3

Just for the record, I have no association with LabJack or their products. With my sons help I put a lot of work into this and just want to share this with anyone who might find it useful 😊.

Now I have some grip on Python it would be interesting to try and write a simple MCA 👀.

Steven
LabJack U3
LabJack U3
Dashboard
Dashboard
Chart 1
Chart 1
tab2.png (63.73 KiB) Viewed 322 times
Chart 2
Chart 2
CSV Download
CSV Download
tab3.png (33 KiB) Viewed 322 times
Settings
Settings

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest