CEREBRO is a system that provides rudimentary translation of signals captured from a consumer EEG device into a lighting display output. As my final project for 6.115 (MIT’s “microcomputer” class), this project required use of an 8051-based class labkit, with code written in assembly.
CEREBRO’s 8051 is responsible for computing a lighting display pattern in realtime and driving a light fixture similar in design to that of ACRIS.
A few simple signal processing algorithms were built to showcase CEREBRO. An analog equalizer board could be used to adjust the algorithm behavior.
As a large assembly project, elegant infrastructure and coding practices were critical to successful implementation and testing. I established a number of conventions that allowed for modularization of the code. Careful documentation of interface definition and accounting of register usage were crucial. CEREBRO’s modules enabled a variety of functionality, such as: