Lab Talk

Implementations of the P300 BCI Speller

The P300 speller is a common Brain Computer Interface (BCI) application. It has many variations designed to improve its accuracy and speed. This article outlines three common implementations.

The P300 event-related potential (ERP) has proven to be a reliable method for controlling a brain computer interface (BCI) and one of the most popular/common application of this has been the P300 speller, which can be used as a communication tool by people with neuromuscular diseases such as the lock-in syndrome.

In this blog we will look at some of the commonly used BCI spellers – 1) The row-column speller 2) The checkerboard speller and 3) Region-based speller.

Farwell-Donchin or Row-Column Paradigm

P300-based speller was originally introduced in [1] by Farwell and Donchin and is also known as the row-column (RC) paradigm. This paradigm involves a 6X6 matrix consisting of all 26 letters and 10 digits (0-9) presented on the computer screen as shown below, where the rows and columns are flashed randomly.

Figure 1 : A standard CB paradigm where rows and columns are flashed randomly. Only the intersection of the target row and column is unique to the target character [1]. If the target or intended character is O, then only the flashing of row no 3 and column no 3 should elicit P300 response, in theory.

Let’s assume that the subject wants to spell the word ‘THE’. The subject would start first with the task of focusing on the letter ‘T’. If the row (or column) containing ‘T’ is flashed, a P300 wave is generated. Assume that after a series of few more flashes, if the column (or row) containing ‘T’ is flashed, again a P300 wave is generated. This way we can infer that the character the subject has focused on is ‘T’ as it lies at the intersection of the row and column flashes that generated the P300 response! In a similar fashion, the next two characters ‘H’ and ‘E’ can be inferred when the subject focuses on these two characters.


One of the drawbacks of the RC paradigm is that non-intended characters that are typically adjacent to the intended characters can get selected. For example, in [2] it was shown that out of 42 intended characters, 27 characters (approx 65%) were detected correctly and 15 characters (approx 35%), were not detected correctly due to incorrect identification of their row or column (or both). The results are shown in the table below, where the target words were: BOWL, CAT, DOG, FISH, FISH, GLOVE, HAT, HAT, RAT, SHOES, and WATER, with HAT and FISH presented two times. If the row (or column) below (or above) the target row (or column) generated a P300 response, a error score of +1 (or -1) is given. For correctly identified row (or column) the error score is zero. For example, in the case of the word BOWL, the characters B, O, and W are correctly identified but instead of L, F is selected, which is present in the row above the row containing L. Such perceptual error occurs because P300 occurs for all the characters in the column containing L. Thus when the row containing D (adjacent to the target) is flashed, this could wrongly attract the subjects attention and thus evoke the P300. Such errors are known as adjacency-distraction errors [3]. Errors can also occur if the target character flashes twice in succession (for example when a row flash is followed by a column flash and the target character is at the intersection of that particular row and column) and the second flash goes unnoticed. It has also been reported that, even if the second flash is noticed or perceived, the P300 amplitude might be reduced due to temporal overlapping and there could also be changes to P300 wave shape [4]. Errors occurring due to successive flashes are known as double – flashing errors [3]. Other drawbacks include attentional blink and repetition blindness, which can lead to incorrect character selection if the flashing interval between two targets is less than 500 milliseconds.

Table 1 . Error scores for target characters due to adjacency-distraction error [2].

Checkerboard paradigm

To overcome the perceptual errors that can occur with the RC paradigm, the checkerboard (CB) paradigm was proposed [3]. In the checkerboard (CB) paradigm, a virtual CB (i.e. the subject never sees this CB) is imposed on a standard 9 X 8 matrix (Figure 2, left) that contains the required characters. The characters that are placed in the white and black cells of the CB are populated into two 6 X 6 matrices in a random manner (Figure 2, middle). Now what the subject would see is the characters from row (or column) of the white (or black) 6X6 matrix flashed onto the 9X8 matrix (Figure 2, right where the first row of the white 6X6 matrix is flashed). Due to the CB layout, adjacent items will not be included in the same flash group (for example L and T will never be included in the same flash group so that HAT cannot be inferred as HAL), thus avoiding the adjacency-distraction error that occurs in the RC paradigm.

Figure 2: The CB paradigm as proposed in [3]

The CB paradigm also avoids the double – flashing problem as it uses randomized rows of each (white and black) 6X6 matrix flash first (12 flashes) and then the columns of each (white and black) matrix flash (12 flashes). Thus, any given matrix item cannot flash again for a minimum of six intervening flashes and a maximum of 18 intervening flashes, avoiding the double-flash problem. After all rows and columns in both white and black 6X6 matrices have flashed (considered as one complete sequence), the program re-randomizes the positions of the items in each white and black matrix and the next sequence of flashes begins. Note that in this paradigm, the subject only sees 9 X 8 matrix (Figure 2, right), in which a group of characters (chosen as explained above) are flashed.

Region-based paradigm

In the region-based speller, introduced in [5], the selection is done in two levels just like the RC paradigm. A group of seven characters are flashed randomly and the user focuses on the group which has the desired character. Once this group is selected, the characters within this group are singly distributed into the seven regions and the region the user attends is elected, which is a single character in this case. The region-based speller also solves the problem of adjacent flashes and is reported to have better accuracy compared to RC spellers [3].

Figure 3 : RB paradigm proposed in [5].

In addition these speller, several other spellers have been proposed over the decades, which also include predictive spellers which are shown to make the spellers faster and more efficient. For a comprehensive review on this topic as well as comparison between the spellers see [6].


[1] Farwell, Lawrence Ashley, and Emanuel Donchin. “Talking off the top of your head: toward a mental prosthesis utilizing event-related brain potentials.” Electroencephalography and clinical Neurophysiology 70.6 (1988): 510-523.
[2] Fazel-Rezai, Reza. “Human error in P300 speller paradigm for brain-computer interface.” 2007 29th Annual International Conference of the IEEE Engineering in Medicine and Biology Society. IEEE, 2007.
[3] Townsend, George, et al. “A novel P300-based brain–computer interface stimulus presentation paradigm: moving beyond rows and columns.” Clinical neurophysiology 121.7 (2010): 1109-1120.
[4] Martens, S. M. M., et al. “Overlap and refractory effects in a brain–computer interface speller based on the visual P300 event-related potential.” Journal of neural engineering 6.2 (2009): 026003.
[5] Fazel-Rezai, Reza, and Kamyar Abhari. “A region-based P300 speller for brain-computer interface.” Canadian Journal of Electrical and Computer Engineering 34.3 (2009): 81-85.
[6] Rezeika, Aya, et al. “Brain–computer interface spellers: A review.” Brain sciences 8.4 (2018): 57.

Leave a Reply