It is possible to customize waveforms that, due to their complexity, cannot be created using a linear combination of tDCS, tACS and/or tRNS (eg. rectangular waveform). The customized stimulation is defined for each stimulation channel, and it can be optionally combined with the regular waveform generated by NIC. Follow the steps below to customize the stimulation waveforms for Starstim:


  1. Create a text file (.txt) that contains the samples of the stimulation waveforms that correspond to the multi-channel stimulation. The file should contain the following specifications:

    1. The number of columns should correspond to the number of stimulation channels used in the protocol.

    2. Each row corresponds to a multi-channel sample with a 1ms resolution (e.g. 1 second waveform requires a file with 1000 rows).

    3. The stimulation values are defined in micro-ampere (µA)


  1. Open NIC2. After connecting to a Starstim via WiFi or USB, in the MY DEVICES pane load the text file previously created. NIC2 will show an error message in case there is a problem with the file structure (Figure1).


Figure 1. Load the text file to create the custom waveform


  1. Make sure that the number of stimulation channels is equal to the number of columns of the text file.


  1. The user has the option to apply the custom waveform once (Single) or repeated time (Loop) during the total duration of the stimulation step. If the tab is maintained in the None position, the custom waveform will not be applied even if loaded.



To create a .txt file you can use the Matlab to achieve the custom wave desired. The .txt file must have the following structure:

  • The amplitude of the pulse (A), expressed (uA);

  • And each row is 1 ms of time.


Example of Custom Waveform:




Create a protocol in NIC2:

Within the PROTOCOL pane, all the parameters regarding the experiment can be defined. Three types of experiment can be created: 

  • EEG monitoring experiment 

  • Stimulation-only experiments

  • Hybrid experiments


The steps are the following:

  1. Click on ADD NEW PROTOCOL to create a new protocol or on IMPORT to import an existing one (Figure 3).

Figure 3

  1. Define Protocol Name and Step List. For each step, you can define name and duration (Figure 4). 

Figure 4


  1. Build the electrode montage. To assign EEG (Figure 4) or stimulation (Figure 5) function to a specific channel, first click on the EEG or STIMULATION button, then click on the desired scalp position and drag it from the Head Diagram to the workspace on the right. Stimulation protocols NIC2.0 includes three types of tCS: 


• Transcranial Direct Current Stimulation (tDCS) 

• Transcranial Alternate Current Stimulation (tACS) 

• Transcranial Random Noise Stimulation (tRNS)


The user has the option to apply the custom waveform once (Single) or repeated time (Loop) during the total duration of the stimulation step. If the tab is maintained in the None position, the custom waveform will not be applied even if loaded (Figure 5).


Figure 5


  1. When using a custom waveform, please ensure that the stimulation mode is set to Advanced Configuration and that all channels are set to Stimulation mode with 0 μA. NIC2 will load the waveform values from the .txt file in ascending order of the channel numbers configured for stimulation. For example, if channels 3, 5, and 6 are enabled in stimulation mode, column 1 of the file will be applied to channel 3, column 2 to channel 5, and so on. (Figure 6).


  1. Click on FINISH and SAVE to save the last modifications or on CANCEL to leave without applying the last changes.