Skip to content

Chords is a web application that transforms your Arduino board into a powerful bio-potential signal acquisition tool, allowing you to visualize and record ECG, EMG, EOG, and EEG data directly in your browser.

Notifications You must be signed in to change notification settings

upsidedownlabs/Chords-Web

Repository files navigation

Chords Default

Chords is an application based on Web Serial connection, you can connect boards like Arduino Uno, Arduino Nano after uploading the ArduinoFirmware.ino code to it, you'll recieve data signals from the board which can be visualized on web using Chords. Users can visualize ECG and EMG signals.

Note

Flash Arduino code to your hardware from Chords Arduino Firmware to use it with Chords.

Features

  • Connection: Experience a smooth connection/disconnection with board in single click.
  • Real-time Visualization: Visualize incoming data without any jitter from the board in real-time.
  • Recording: Record the signals data and download data in csv file.

How to use

  1. Connect the Arduino to your computer using a USB cable.
  2. Open the Arduino IDE and flash the provided firmware onto the Arduino.
  3. Open Chords in a web browser.
  4. Click the "Connect" button to establish a connection with the Arduino and stream.
  5. Click the "Zoom" button to zoom in on data visualization.
  6. Click the "Play/Pause" to control data flow and navigate frames with forward/backward buttons.
  7. Click the "Record" button to record data.
  8. Click the "download" button to download the recorded data.
  9. Click the "Delete" button to delete recorded data.
  10. Click the "Plus/Minus" button to increase/decrease channel.
  11. Click "Theme" button which is present in navbar to change theme.
  12. Click the "Disconnect" button to terminate the connection with the Arduino and stop the data stream.

Technologies Used

  • Next js: A framework build on top of React.js.
  • TypeScript: Statically typed superset of JavaScript.
  • Tailwind CSS: Utility-first CSS framework.
  • Shadcn UI: Provides Reusable and customizable components, built with radix UI.
  • WebGl Plot: Real time charting library.
  • IndexedDB Browser-based database for storing recorded data.

Resources

Roadmap for upcoming update

  • Data Filtering : We will be adding bio-potential signal filtering options which includes 50/60 Hz notch filter to remove AC interference noise and highpass/lowpass remove artefacts from ECG, Emg ,Eog and EEg. Under filters, we will be adding different highpass and lowpass filters for specific bio-potential signals this feature will further enhance the user experience to record even more clear biopotential signals.

  • Frame Buffers of data : We will add Frame Buffer Feature this option to show upto 5 snapshots of length each of 4 seconds, you can now view upto last five snapshots of your data and save them as images.

  • Multiple file download support : We’re excited to enhance your options for downloading recorded data! Currently, you can record a file and choose to save or delete it. Soon, you’ll be able to download multiple files at once and have the flexibility to download or delete individual recorded files as needed.

  • Raspberry Pi Pico support : We will be releasing Raspberry Pi Pico support for chords which by the way works very well with our new Heart BioAmp Candy. Let us know your favorite board in the comments section below and we will make sure to add chords support for your board in the upcoming updates.

  • CSV compatibility with Chords Python : we will update the CSV data format and file names for both chords-web and chords-python so that you can use csvplotter.py to easily plot the recorded data.

Contributors

Thank you for contributing to our project! Your support is invaluable in creating & enhancing Chords-Web and making it even better. 😊

About

Chords is a web application that transforms your Arduino board into a powerful bio-potential signal acquisition tool, allowing you to visualize and record ECG, EMG, EOG, and EEG data directly in your browser.

Topics

Resources

Stars

Watchers

Forks

Languages