qoscope
Qoscope is a fork of Wicope rewritten for PySide 6.3 using QML. It's a oscilloscope app with GUI that uses Arduino for signal acquisition. The app was created purely for educational purposes and for electronic enthusiasts.
The communication is realized via AVR USART. The oscilloscope is capable of acquiring up to 100 kSamples/s. I currently have a double speed asynchronous mod (U2X) set up in the firmware for my own testing and purposes. So there is a smaller error at the expense of the number of samples. To turn it off, just delete the U2X setting line in the USART initialization and change 8UL to 16UL in the baud prescaler.
Requirements
qoscope requires Python >= 3.8, and PyQt6 or PySide6.
Installation
Install qoscope with pip
pip install qoscope
or install the latest dev version with:
pip install git+https://github.com/sokolmarek/qoscope@main
You also need to upload the included firmware to your Arduino board using the
Arduino IDE (or other software). This is the following file firmware/firmware.ino.
Usage/Examples
After uploading the firmware to the Arduino, its pins are used as follows:
- Analog Pin 0 (PC0): Input signal
- Digital Pin 6 (PD6): Trigger signal
- Digital Pin 7 (PD7): Analog trigger threshold level
When using the trigger function it is necessary to have the threshold set on digital pin 7 and the signal on digital pin 6 otherwise the arduino will be blocked until it receives the trigger. An example circuit with the threshold set to 3V3 might look like this:
Appendix
If anyone wonders about the equation I used for baud prescale (to avoid rounding error) or wants useful literature for AVR and USART, for example AVR articles are a pretty good source within a few topics.
Metadata
Release files for qoscope 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qoscope-1.0.0.tar.gz | 11.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qoscope-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.6 kB
Release files / qoscope-1.0.0.tar.gz
| Download URL | qoscope-1.0.0.tar.gz |
|---|---|
| Size | 11.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
961e952441ece6873cde62a8aa4d0fa15f92d0c7dffac64de4ab46e71031fd3b
|
|
BLAKE2b-256 checksum How to use checksums |
8ab4a66f23c3b2feb2183b70a0f67186702c4a0a84d8d749c266271c210c1f64
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.10.4
|
Release files / qoscope-1.0.0-py3-none-any.whl
| Download URL | qoscope-1.0.0-py3-none-any.whl |
|---|---|
| Size | 12.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1589d17d49de2012dae289446cff91f9e6186d42f8f3ac35cc8fe4646af32064
|
|
BLAKE2b-256 checksum How to use checksums |
c551e2c45d641fe3fc5a209d235a2109f970d34dae8bdfd5212bfd94bc7fee89
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.10.4
|