Lewis-Kitchingman / VIC-HACK-2024

Repository for VIC-HACK 2024 projects
0 stars 1 forks source link

[Project] Serial Scope: Making an easy way to view real-time sensor data #4

Open dangallichan opened 4 months ago

dangallichan commented 4 months ago

Title: Serial Scope: Making an easy way to view real-time sensor data Project Leader(s): Daniel Gallichan, gallichand@cardiff.ac.uk

Project Description: When collecting sensor data, especially via a microcontroller, the easiest way to 'see' the data is to send it via USB serial stream to a computer. Arduino and Micro:bit examples often include streaming data this way, and both provide a rudimentary way to view the data 'live', but with very limited functionality. The idea for this project is to develop software that can function as an easy-to-use 'oscilloscope' for these kinds of datastreams, where various settings from an oscilloscope (timing, no. of channels, triggering) are simple to adjust - and data can be recorded and save as a text file. The primary interest is in having a good working version of such a 'Serial Scope' within Python, but if a version could also be created using WebUSB that would be a great extension as it could allow it to be used without any installation.

Ideal Participant Characteristics: Interest in programming with Python (very little prior knowledge required!) and/or interest in developing inteface with WebUSB (this requires more prior knowledge from participants, as Project Leader has no experience in this area!). Interest in working with microcontrollers - such as Arduino, Micro:bit, etc

Resources:

Libraries/Software: Python (could use PyQt, pysimplegui, pygame (or other!) for the real-time viewing element. PySerial. Data: None required. Hardware: Project Leader has plenty of Micro:bits that can be used for testing as serial streaming devices.

First Tasks and Issues:

[First Task]: Goal: Evaluate exisiting solutions Steps: There are already some similar ideas available online. These should be tested and evaluated for pros and cons.

[Second Task]: Goal: Identify functionality wishlist Steps: What features should the software definitely have, and which things would be nice to have.

[Third Task]: Goal: Develop Python Serial Scope software Steps: Write the code and test it :). We also need to think of a good name for it, as all the obvious ones seem to be taken already...

[Bonus Task]: Goal: Develop WebUSB version of the Serial Scope Steps: Write the code and test it :)

dangallichan commented 3 months ago

Our final code from this project: https://github.com/dangallichan/waveMage-SerialScope