All Projects → Suyash458 → SoftwareOscilloscope

Suyash458 / SoftwareOscilloscope

Licence: other
A software oscilloscope for Arduino made with Python and PyQtGraph

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to SoftwareOscilloscope

wavebin
∿ Oscilloscope waveform capture viewer and converter.
Stars: ✭ 31 (-68.37%)
Mutual labels:  oscilloscope, pyqtgraph
oscilloscope
A Flutter package that can display an Oscilloscope type graphical display
Stars: ✭ 17 (-82.65%)
Mutual labels:  oscilloscope
xinu-avr
the Xinu OS for AVR atmega328p devices (e.g. Arduino)
Stars: ✭ 18 (-81.63%)
Mutual labels:  arduino-uno
tiny scope
Tiny Scope for Arduino
Stars: ✭ 34 (-65.31%)
Mutual labels:  oscilloscope
websynth
Web Synthesizer From Space
Stars: ✭ 16 (-83.67%)
Mutual labels:  oscilloscope
music visualizer
Shader viewer / music visualizer for Windows and Linux
Stars: ✭ 137 (+39.8%)
Mutual labels:  oscilloscope
oscilloscoper
Creates oscilloscope videos from WAV files
Stars: ✭ 23 (-76.53%)
Mutual labels:  oscilloscope
sps30
Sensirion SPS30 driver for ESP32, SODAQ, MEGA2560, UNO, ESP8266, Particle-photon on UART OR I2C coummunication
Stars: ✭ 57 (-41.84%)
Mutual labels:  arduino-uno
SidWizPlus
Oscilloscope view audio renderer originally based on SidWiz
Stars: ✭ 94 (-4.08%)
Mutual labels:  oscilloscope
sisco.lv2
Simple Scope
Stars: ✭ 40 (-59.18%)
Mutual labels:  oscilloscope
Girinoscope
A simple Java graphical user interface for Girino, a Fast Arduino Oscilloscope.
Stars: ✭ 48 (-51.02%)
Mutual labels:  oscilloscope
PyKinect2-PyQtGraph-PointClouds
Creating real-time dynamic Point Clouds using PyQtGraph, Kinect 2 and the python library PyKinect2.
Stars: ✭ 42 (-57.14%)
Mutual labels:  pyqtgraph
RTGraph
A simple Python application for plotting and storing data in real time
Stars: ✭ 45 (-54.08%)
Mutual labels:  pyqtgraph
ScopeMCU
虚拟示波器 MCU端
Stars: ✭ 59 (-39.8%)
Mutual labels:  oscilloscope
px-fwlib
open source bare-metal C firmware and documentation for microcontrollers
Stars: ✭ 247 (+152.04%)
Mutual labels:  arduino-uno
digital-electronics-2
AVR course at Brno University of Technology
Stars: ✭ 12 (-87.76%)
Mutual labels:  arduino-uno
LibreCO2
Simple CO2 meter using Arduino UNO-Mega board and popular CO2 sensors (SenseAir S8, Sensirion SCD30, Winsen MH-Z14 or 19 and Cubic CM1106). Operation modes: Normal, Calibration 400ppm, Alarm adjust and Altitud compensation adjust
Stars: ✭ 31 (-68.37%)
Mutual labels:  arduino-uno
discord-arduino-bot
Easy to discord control your arduino with commands
Stars: ✭ 13 (-86.73%)
Mutual labels:  arduino-uno
NASSCOM-MHRD-IOT-Practical-Module 1-2
Arduino on TinkerCad
Stars: ✭ 26 (-73.47%)
Mutual labels:  arduino-uno
oscilloscope.js
A small javascript plugin to create an oscilloscope of an audio-context
Stars: ✭ 28 (-71.43%)
Mutual labels:  oscilloscope

Software Oscilloscope

A python project which takes in data from any stream(Serial port, TCP socket or any generic stream) and plots it in real time using PyQtGraph. The stream must implement open(), close() and readline() methods to work with the package.

Installation

  • Works with Python 2/3
  • Clone the repo or download the zip
  • Install VC++ for Python from here
  • cd to the folder
  • run pip -install -r "requirements.txt"

Dependencies

  • pyqtgraph
  • PySide or PyQt 4.8+
  • numpy
  • pySerial

Usage

  • The stream has to implement open(), close() and readline() methods
  • Data from multiple sources has to be space separated and each reading must be on a new line
    source1_value1 source2_value1
    source1_value2 source2_value2
    and so on
  • X/Y axis limits, Frame interval, Autoscaling(True by default) and the number of lines(1 by default) to read can be specified via kwargs.
'''
Uses the SocketPlot-Test example to plot a sine wave.
Run SocketPlot-Test.py on a different console window
'''
>>>from SoftOscilloscope import SocketClientPlot
>>>plot = SocketClientPlot('localhost', 5000)
>>>plot.start()

'''

Example for serial plots
'''
>>>from SoftOscilloscope import SerialPlot
>>>plot = SerialPlot('COM_PORT_NUMBER', BAUD_RATE)
>>>plot.start()

'''
Takes a generic stream and sets custom parameters
'''
>>>from SoftOscilloscope import GenericPlot
>>>plot = GenericPlot(
	myStream, 
	xlim=(-100,100),
	ylim=(-50, 50),
	interval=1, 
	autoscale=False,
	read_size=1)
>>>plot.start()

Demos

alt tag
Plotting x,y,z data from a 9DOF IMU over a serial port.

Contributions

If you want to add features, improve them, or report issues, feel free to send a pull request!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].