Contributions:RippleADC: Difference between revisions
No edit summary |
|||
| Line 2: | Line 2: | ||
RippleADC is a source module that allows for neural recording and stimulation using Ripple's Grapevine Neural Interface Processor. It supports high-channel-count recording and precise electrical stimulation capabilities. See the [https://rippleneuro.com/ Ripple site] for more information. | RippleADC is a source module that allows for neural recording and stimulation using Ripple's Grapevine Neural Interface Processor. It supports high-channel-count recording and precise electrical stimulation capabilities. See the [https://rippleneuro.com/ Ripple site] for more information. | ||
==[https://scribehow.com/page/Using_a_Ripple_device_with_BCI2000__fqrBfPskSSGBQPLttTlx2A Detailed installation instructions]== | |||
==Versioning== | ==Versioning== | ||
Revision as of 05:48, 18 June 2025

RippleADC is a source module that allows for neural recording and stimulation using Ripple's Grapevine Neural Interface Processor. It supports high-channel-count recording and precise electrical stimulation capabilities. See the Ripple site for more information.
Detailed installation instructions
Versioning
Authors
- Nicholas Luczak (luczak@neurotechcenter org)
Version History
- 04/29/2025 - Initial version
- 06/10/2025 - Added stimulation support
Source Code Revisions
- Initial development: XXXX
- Tested under: XXXX
- Known to compile under: XXXX
- Broken since: --
Source Parameters
These parameters can be found in the "Source" tab of the BCI2000 config window.

SourceCh
The total number of digitized and stored channels. This can be set manually or left as "auto" to detect all available channels.
SampleBlockSize
Samples per channel per digitized block. Together with the sampling rate, this parameter determines how often per second data are collected, processed, and feedback is updated.
SamplingRate
The sample rate of the system. Supported rates are:
- 30,000 Hz (RAW)
- 15,000 Hz (HiFreq)
- 2,000 Hz (HiRes/EMG)
- 1,000 Hz (LFP)
SourceChOffset
Offset for each channel in raw A/D units.
SourceChGain
Gain for each channel in physical units per raw A/D unit (typically µV).
ChannelNames
Names of each channel in the format "FrontendName_ChannelNumber".
SourceChList
List of channels to actually transmit (subset of available channels).
Stimulation Parameters
These parameters can be found in the "Stimulation" tab of the BCI2000 config window.
StimEnable
Enable/disable stimulation functionality (0 or 1).
StimElectrode
Electrode number (0-based index) to stimulate on.
StimFrequency
Frequency of stimulation pulses in Hz (1-1000 range).
StimDuration
Duration of each stimulation phase in milliseconds (0.01-10 range).
StimAmplitude
Stimulation amplitude in arbitrary units (1-127 range).
StimTrainLength
Total length of stimulation train in milliseconds.
StimDelay
Delay before stimulation starts in milliseconds.
Device Parameters
DeviceInfo
This parameter cannot be edited and is automatically populated with information returned from the device, including:
- Processor type
- Firmware version
- Network address
- Available front ends
ConnectionSettings
Advanced TCP/IP connection settings for the Grapevine processor.
States
The states encode auxiliary information about the system status and stimulation events.
Timestamp
32-bit state containing the processor timestamp for each sample block.
StimulusCode
16-bit state that records the amplitude of active stimulation.
StimulusType
16-bit state that indicates stimulation status (0 = off, 1 = on).
ConnectionStatus
8-bit state reporting the network connection quality.
Technical Details
Supported Front Ends
| Front End Type | Channels | Resolution | Supported Sampling Rates |
|---|---|---|---|
| Stimulation | 32 | 22 nV | HiRes (2kHz), HiFreq (15kHz) |
| Raw | 32 | 250 nV | LFP (1kHz), HiRes (2kHz), Raw (30kHz) |
Stimulation Waveforms
The module supports symmetric biphasic stimulation pulses with precise timing control. Pulse parameters are converted to Ripple's stimulation command format as described in XippStimCmd.h.

Network Protocol
The module uses Ripple's xipplib library to communicate with the Grapevine processor over TCP/IP. All data is transmitted in real-time with timestamps for synchronization.