Chords-Web#
Overview#
Chords-Web is an open-source web application designed for real-time signal visualization, particularly tailored for bio-potential signals like EEG, EMG, ECG and EOG. This tool serves as an advanced alternative to the standard Arduino IDE serial plotter, offering enhanced functionality for students, researchers and hobbyists alike who want to record biopotential data using BioAmp hardware.
Features#
Connection: Effortlessly compatible with BioAmp Hardware and automatically detects the development board running the Chords-Web Arduino Firmware, simplifying the setup process and ensuring a smooth and efficient workflow from data acquisition to visualization.
Board Support : You can check out Compatible Development Board.
Real-time Visualization: Experience smooth real-time visualization of incoming data rendered with WebGL-Plot. The system ensures smooth signal display, helping you monitor the signal flow without interruptions or lag.
Frame Buffer Feature: View and save up to the last five snapshots of your data. Snapshots are automatically captured per frame and can be navigated using left/right buttons. Adjusting the channel count resets snapshots for the new configuration. Plus, zoom in or out for a closer look!
Recording: You can record data in CSV format indefinitely or set a timer to stop recording automatically when it expires.
Download/Delete: You can manage recorded files more efficiently with a popover menu to download or delete individual files stored in IndexedDB. Additionally, buttons to download all files as a ZIP or delete them in one click.
Zoom: Zoom-in and zoom-out feature, gives you more control as now you can either zoom in to look at signal or zoom out for an overall view.
Filter: You can easily enhance biopotential signal quality with intuitive filter controls. select the muscle icon to apply a 70 Hz high-pass filter for EMG signals, improving their clarity. For ECG signals, click the heart icon to activate a 30 Hz low-pass filter for accurate heart rhythm visualization. The eye icon applies a 10 Hz low-pass filter to EOG signals, reducing high-frequency noise, while the brain icon enables a 45 Hz low-pass filter to enhance EEG signal analysis. Use the master button to apply these filters across all channels.
Channel: Supports plotting of multiple channels of data simultaneously in real time where each stream is color coded differently for easy identification.
Disconnect: Terminate the connection to the development board with a simple click. This functionality ensures a hassle-free disconnection process when you’re done with data collection or visualization.
Software Requirements#
You have to flash Chords-Web Arduino Firmware to your development board using Arduino IDE.
For now Chords-Web is compatible with chromium based browsers. To ensure compatibility with supported browsers, see Browser Compatibility.
Hardware Requirements#
A USB cable (type depends on board)
How to Use Chords-Web#
Uploading the Code#
Connect the Arduino board to your laptop using the USB cable.
Copy and paste the Arduino Firmware for your board into the Arduino IDE.
Select your board under Tools > Board.
Choose the correct COM port in the tools menu (the one that disappears when you disconnect the board).
Upload the code and open Chords-Web in your web browser.
Using the Software#
Click the
Connect
button to establish a connection with the Arduino and start streaming.Use the
ZoomIn/ZoomOut
button to adjust the data visualization.Use the
Play/Pause
button to control the data stream. Navigate the last five snapshots with theLeft/Right
buttons in the Frame Buffer feature.Click the
Record
button to start recording data into a CSV file.To save the recorded data, click the
Download
button.Click the
Delete
button to remove recorded data.Click
Filter
button for EMG, ECG, EOG and EEG filters withmuscle
,heart
,eye
andbrain
icons or master buttons for all channels. You can apply 50Hz or 60Hz filter to individual or all channel.Adjust the number of channels by using the
Plus/Minus
buttons.
Chords-Web Icons#
Browser Compatibility#
The web application is compatible with the Web Serial API, which is essential for its functionality. Supported browsers include the latest versions of:
Google Chrome
Microsoft Edge
Opera
If the user’s browser does not support the Web Serial API, a message will inform them of the incompatibility, recommending the use of a supported browser.
For more information, refer to MDN Web Docs on the Web Serial API.