{"id":15903695,"url":"https://github.com/diepala/wicope","last_synced_at":"2025-03-20T20:30:54.895Z","repository":{"id":41838579,"uuid":"334686498","full_name":"diepala/wicope","owner":"diepala","description":"Wicope is a Fast Arduino Oscilloscope GUI application.","archived":false,"fork":false,"pushed_at":"2023-10-20T13:21:15.000Z","size":388,"stargazers_count":41,"open_issues_count":2,"forks_count":11,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-13T12:25:58.872Z","etag":null,"topics":["arduino","electronics","electronics-hobbyists","electronics-tools","oscilloscope","pyside6","python","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/diepala.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-01-31T15:20:46.000Z","updated_at":"2024-09-12T18:47:55.000Z","dependencies_parsed_at":"2022-07-19T14:39:21.537Z","dependency_job_id":null,"html_url":"https://github.com/diepala/wicope","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diepala%2Fwicope","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diepala%2Fwicope/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diepala%2Fwicope/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diepala%2Fwicope/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/diepala","download_url":"https://codeload.github.com/diepala/wicope/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221801699,"owners_count":16882764,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","electronics","electronics-hobbyists","electronics-tools","oscilloscope","pyside6","python","python3"],"created_at":"2024-10-06T12:03:48.467Z","updated_at":"2024-10-28T07:41:38.892Z","avatar_url":"https://github.com/diepala.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Wicope\nWicope is a fast oscilloscope GUI application that makes use of Arduino to acquire signals.\n\nThis is not a professional oscilloscope, but it can be useful\nfor electronics enthusiasts and for education.\n\n![wicope_waveform](assets/wicope_screenshot.png)\n\n### Main features\n\nThis oscilloscope is compatible with Arduino boards based on the Atmega 328P microcontroller. These are mainly Arduino UNO and Arduino Nano. Although the limitations of this microcontroller, the oscilloscope is capable of:\n\n- Acquire up to 100 kSamples/s\n- Have a refresh rate up to 75 frames per second\n- Use an external trigger\n\n## Disclaimer\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nDealing with electronics can be dangerous if you do not know what you are doing and the authors cannot guarantee the correctiveness of the information provided here. \n\nYou should double check what you are doing in order to avoid damaging equipment (including but not limited to computers, laptops, Arduinos...) or harming yourself or other people. Authors do not take any responsibility of any kind of damage.\n\nUse the software, instructions and tutorials at your own risk.\n\nSome general tips to avoid damage include:\n\n- Only plug signals into the Arduino between 0 and 5 volts.\n- Always use the same ground for Aruino and the circuit you are measuring. Do not connect the ground of the Arduino (which is connected to the ground of your computer) to any external device connected to mains.\n- The safest thing is to only measure isolated circuits which are powered by the same Arduino used as oscilloscope.\n\n## Installation and usage\n\n#### 1. Install\n\nFirst thing you need is to install `wicope`:\n\n```bash\npip install wicope\n```\n\nYou can also install the last development version with:\n\n```bash\npip install git+https://github.com/diepala/wicope@master\n```\n\n#### 2. Load firmware to Arduino\n\nUsing the Arduino IDE, upload the file `firmware/firmware.ino` to your Arduino UNO / Nano board.\n\n#### 3. Connections\n\nPrepare your circuit to measure and make the necessary connections with the Arduino board. The pin uses of the Arduino are:\n\n- Analog Pin 0 (PC0): Input signal\n- Digital Pin 6 (PD6): Trigger signal\n- Digital Pin 7 (PD7): Analog trigger threshold level\n\nMost of the time you will want the trigger signal to be the same as the input signal. In this case connect digital pin 6 and analog pin 0 together.\n\nWhen using trigger in the GUI, make sure to have a threshold set on digital pin 7 and that a signal triggers it on digital pin 6, otherwise the Arduino will be blocked until it gets a trigger.\n\nIf you want to use 3.3 V as a threshold level, just connect digital pin 7 to the Arduino 3.3 V pin.\n\nAn example schematic of the connections of the Arduino, with the trigger threshold set to 3.3 V, is:\n\n![arduino_connections_example_1](assets/arduino_connections_example_1.png)\n\nYou can also control the trigger threshold level using a potentiometer, as shown in the following example:\n\n![arduino_connections_example_2](assets/arduino_connections_example_2.png)\n\nFinally connect the Arduino to your computer via USB.\n\n#### 4. Use the Wicope App\n\nTo launch the app, in your terminal execute:\n\n```bash\nwicope\n```\n\nClick the `Refresh` button and select the port your Arduino is connected to. Then press `Connect` and wait a couple of seconds for the Arduino to reset.\n\nYou are ready to use the oscilloscope!\n\nClick `RUN` for continuous acquisition or `SINGLE` for a single capture.\n\n## Acknowledgements\n\nSpecial thanks to [Caffeinomane](https://www.instructables.com/member/Caffeinomane/) for building [Girino - Fast Arduino Oscilloscope](https://www.instructables.com/Girino-Fast-Arduino-Oscilloscope/) which inspired to build this project. The firmware of this project is also based on Girino's firmware.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiepala%2Fwicope","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiepala%2Fwicope","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiepala%2Fwicope/lists"}