Giter Site home page Giter Site logo

ThunderScope

Low-Cost Four Channel 1GSPS Oscilliscope using Thunderbolt/USB4 to stream data to PC for processing and display.

Join our development discord server

We are now at #thunderscope:matrix.org on matrix or #thunderscope:libera.chat on IRC as well!

Some older long-form documentation is on the Hackaday.io project page

Get the hardware through our crowdsupply page when we launch:

Catch up with these videos on the project:

TEARDOWN 2023 - Open Sourcing the Secrets of Oscilloscope Design

Hackaday Supercon 2023 - A Circuit to Measure Circuits: How do Oscilloscopes do it?

Teardown Session 39: ThunderScope

Quick Start Guide

These are instructions for the XDMA gateware, which is currently the most stable gateware and driver.

  1. Install the XDMA driver for Linux or Windows
    • On Windows, first run Bcdedit.exe -set TESTSIGNING ON in administrator powershell and restart your computer
      • Then use the MSI installer, when asked if you want to use polling, click no
    • On Linux, run sudo make install in the xdma directory
      • Run make in the tools directory
      • Create a udev rule so you don't have to run everything acessing the hardware as root:
        • create /etc/udev/rules.d/70-thunderscope.rules file with the line ACTION=="add", SUBSYSTEM=="xdma", TAG+="uaccess"
      • With a TS connected, run sudo ./load_driver.sh in the tests directory
        • Output should be The Kernel module installed correctly and the xmda devices were recognized.
  2. Build TS.NET.Engine using the build scripts
    • Dependences for build scripts on Debian/Ubuntu Linux: sudo apt-get install -y dotnet-sdk-8.0 libgdiplus
    • On Windows, should just need Visual Studio with the C# plugins
    • Copy appsettings.json and thunderscope.yaml into the same directory as the TS.NET.Engine application
  3. Install ngscopeclient, following the instructions in their user manual
  4. Run TS.NET.Engine and ngscopeclient
  5. Add ThunderScope in ngscopeclient under Add -> Oscilloscope with "thunderscope" Driver, "Twinlan" Transport and "Localhost:5025:5026" for the Path

Troubleshooting

If you are getting under ~1000MB/s throughput on Linux, try turning off VT-d (Intel) or IOMMU/AMD-Vi (AMD) in BIOS or using "intel_iommu=off" in GRUB (Intel)

Baseboard Hardware

Revision Label Status Location
Rev.1 N/A DEPRECATED Hardware/Altium/Thunderscope_E
Rev.2 N/A DEPRECATED Hardware/Altium/Thunderscope_Rev2
Rev.3 Alpha DEPRECATED Hardware/Altium/Thunderscope_Rev3
Rev.4 Beta 1 ACTIVE Hardware/Altium/Thunderscope_Rev4
Rev.4.1 Beta 2 ACTIVE Hardware/Altium/Thunderscope_Rev4.1

FPGA Module Hardware

Revision Status Location
TE0712 ACTIVE Trenz Electronics TE0712 Module, 100T or 200T Varients
Rev.1 DEPRECATED Hardware/Altium/FPGA_Module
Rev.2 ACTIVE Hardware/Altium/FPGA_Module_Rev2 or Hardware/KiCad/FPGA_Module_Rev2

Firmware

We have two types of firmware, LiteX and XDMA. We are in the process of updating the LiteX firmware to work on the latest hardware, and we will use it moving forward. Until then, use the XDMA firmware if you are not working on LiteX.

TODO: Table of Beta Unit serial numbers with module types and firmware locations

Serial Numbers Module Type XDMA Firmware Location
TS0004, TS0006, TS0015 TE0712 100T Firmware/XDMA/output/xdma_prj_100t_full.mcs
TS0007, TS0008, TS0011-TS0014 TE0712 200T Firmware/XDMA/output/xdma_prj_200t_full.mcs
TS0009, TS0010, TS0016-TS0018 Custom Rev.2 Firmware/XDMA/output/xdma_prj_50t_full.mcs

Follow the instructions in the Software/xdma_driver_linux or Software/xdma_driver_win_src_2018_2 folders to install the XDMA linux or windows driver before proceeding with installing the rest of the software.

For LiteX developers, the Linux driver is stable. Windows and Mac drivers are in development.

Software

Our primary software is TS.NET, which takes in data from the hardware, triggers on it, and sends the triggered data over to ngscopeclient

eevengers's Projects

libtslitex icon libtslitex

This is a C library to interface with the LiteX Firmware on Thunderscope over PCIe

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.