Skip to content

drandyhaas/HaasoscopePro

Repository files navigation

HaasoscopePro

An Affordable 2 GHz 3.2 GS/s 12 bit open-source open-hardware expandable USB oscilloscope

haasoscope_pro_adc_fpga_board.png

Firmware overview: firmware schematic.pdf

Video tutorials

See this YouTube Playlist !

Versions

  • v27 is the firmware that shipped with the first round of units, in the "main" branch
  • v28 fixes trigger stability, in the "v28fixtrigger" branch
  • v29 adds some new GUI features etc., found in the "v29" branch
  • to use a different branch, do git pull && git checkout "branchname" or select the branch name in the drop down box on github and then download the zip file of the code, then run the new software, update the firmware on your board from that new software, and power cycle the board (automatic firmware reload in v29+)

Quick start (Windows/Mac)

  1. Download code and unzip it (or another zip file version like v29)
  2. Rename directory HaasoscopePro-main to HaasoscopePro (for consistency with git below)
  3. Install FTDI D2xx driver
  • for Windows: install by running the setup exe at HaasoscopePro/software/ftdi_setup.exe
  • for Mac: sudo mkdir -p /usr/local/lib; sudo cp HaasoscopePro/software/libftd2xx.dylib /usr/local/lib/
  • for Linux: sudo cp HaasoscopePro/software/libftd2xx.so /usr/lib/
  1. Plug Haasoscope Pro into your computer via USB
  2. Run HaasoscopeProQt in the HaasoscopePro/software/dist/(OS)_HaasoscopeProQt directory

Fuller way of running (Windows/Mac/Linux)

  1. Install python3 and git for your operating system
  2. Install dependencies:
    pip3 install numpy scipy pyqtgraph PyQt5 pyftdi matplotlib ftd2xx
  3. Get code:
    git clone https://github.com/drandyhaas/HaasoscopePro.git
  4. Install FTDI driver (see Quick start above)
  5. Plug Haasoscope Pro into your computer via USB
  6. Run:
    cd HaasoscopePro/software
    python3 HaasoscopeProQt.py

Tips

  • If not enough power is supplied or issues happen during readout, plug in via a powered USB hub, a USB-A to C cable, or use an external 12V power adapter
  • If you get security issues on Mac, do: xattr -cr Mac_HaasoscopeProQt
  • If the board is not found on Linux, use this udev rule and then plug it in: sudo cp HaasoscopePro/software/ft245.rules /etc/udev/rules.d/
  • If you get an error like "qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found", try: sudo apt install libxcb-xinerama0

To remake exe for quick start

  1. pip3 install pyinstaller
  2. cd HaasoscopePro/software
  3. .\windowspyinstaller.bat or ./macpyinstaller.sh

Repository structure

  • adc board: Design files and documentation for the main board, based on Eagle 9.6.2
  • adc board/Kicad: An import of the main board design files into KiCad 8
  • adc board firmware: Quartus lite project for the Altera Cyclone IV FPGA firmware (see README in there for more info)
  • case: Front and back PCB panels for the aluminum case
  • software: Python files for the oscilloscope program
  • sub boards: Eagle design files and documentation for smaller test boards that were used during development

2 GHz Active Probe

All designs for the accompanying active probe are in a separate repository

Editing the GUI

The Haasoscope Pro GUI can be edited using Qt Designer, on software/HaasoscopePro.ui or HaasoscopeProFFT.ui etc.

Other GUIs

  1. HaasoscopeProGUI is a PyQt6-based GUI aimed to provide a professional look and experience, but may not have all the latest features, like multi-scope support, oversampling, etc.
  2. ngscopeclient is a very powerful multi-instrument analysis suite. HaasoscopeProQt must be running, which then automatically opens the LAN port and accepts connections from ngscopeclient. See the ngscopeclient user manual for details.

About

Affordable 2 GHz 3.2 GS/s 12 bit open-source open-hardware expandable USB oscilloscope

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published