Combining JS110 capture with UART data

Hi,

I have the JS110, and I would like to capture voltage and current data together with some debug data coming from the DUT. The debug data is captured through a second USB-UART device and available on a system serial port.

Is there a way to capture data coming in on a system serial port at the same time and have them correlated even if the timing is not 100% accurate?

Thanks for making this amazing tool.

Cheers,
Piotr

I did some more digging and I am pretty sure this is not currently supported. I might be wrong and I would love to be corrected. :slight_smile:

I opened a feature request on GitHub: Add Serial Port support · Issue #344 · jetperch/pyjoulescope_ui · GitHub

Cheers,
Piotr

Hi @esden, and welcome to the Joulescope forum! Great to hear that you are still putting your JS110 to work! You are correct that the Joulescope UI does not currently support external UARTs. It only supports 115200 N81 decoding on a GPI signal.

The GitHub feature you created is clear and makes sense to me. I just kicked off claude code, so we’ll see what comes back:

The Joulescope UI currently has serial decoder support on the general purpose inputs. See joulescope_ui/devices/serial_generator.py and joulescope_ui/widgets/serial_console/. I have a customer request to support external serial interfaces:
Add Serial Port support · Issue #344 · jetperch/pyjoulescope_ui · GitHub
Combining JS110 capture with UART data

Can you inspect the issue, inspect the code, architect this feature, and plan the implementation? I think that we will need to add joulescope_ui/devices/serial, and optional way to manually add & open a serial device in the UI, and a way to associate it with the SerialConsoleWidget. For the time being, it can all be done through the SerialConsoleWidget. Perhaps right-click → external can bring up a dialog that works on Linux, macOS, and Windows? It can allow you to open & close external serial ports and optionally assign them more convenient names for use in right-click → source.

1 Like

The source code now contains very basic external serial port support:

While this will be in the next official UI release, you will need to run from source in the meantime. For instructions see the README

I only tested on Windows, but it uses the cross-platform pyserial package. It will hopefully “just work” on macOS and Linux.

1 Like

Fantastic! Thank you. I will give it a try and report how it goes! :slight_smile:

1 Like

I forgot to mention that it currently only supports N81 and parses “lines” based on \n (10). It ignores \r (13). Feel free to hack and improve:

Will accept PRs :wink:

1 Like