P300 Speller
1 language| Type | Interactive demo |
|---|---|
| Origin | BCI Competition III dataset II |
| Developer | David |
| Written in | Python, Keras, NumPy, SciPy, TypeScript, Canvas |
| Tests | Row and column decoding logic ported to TypeScript and fixture-tested |
| Built with | Triton Neurotech ML team study of the open-source p300-speller codebase |
| Hosted on | David-Internet/demos/p300 |
| Website | https://david-internet.vercel.app/demos/p300 |
P300 Speller is an interactive demonstration of a brain-computer-interface speller that classifies an evoked potential over a flashing character matrix.[1] It is based on work studied on Triton Neurotech's ML team, using the open-source p300-speller project by Carzaniga and Gualniera on BCI Competition III dataset II.
A 6 by 6 matrix flashes rows and columns at 100 milliseconds on and 75 milliseconds off, for 15 repetitions, over scrolling synthetic eight-channel EEG. Target flashes carry a P300 that only becomes visible as epochs average.
Overview
The page maps a 1D-CNN family (CNN1 through CNN3 and MCNN1 through MCNN3) onto a 64-electrode head map and quotes committed notebook outputs: roughly 73 to 80 percent window accuracy, with character accuracy climbing from 37 percent to 94 percent as repetitions accumulate.
Speller
Visitors pick a target letter and watch row and column scores accumulate until the letter locks in. An SNR slider shows why more repetitions help. The decoding logic is a TypeScript port of the original letter-scoring path rather than a simplified reimplementation.
Development
Row and column decoding logic ported to TypeScript and fixture-tested. Results panels quote the notebooks rather than re-training the CNNs in the browser.
See also
References
- ^
content/p300/README.md, David's Internet.
- Interactive demos
- Neurotechnology
- 2026 establishments