BrainCard, putting neurons at work for the Intelligence of Things

BrainCard is a trainable pattern recognition board for IoT and smart appliances featuring a NeuroMem CM1K chip with 1024 neurons interfaced via SPI communication to Arduino and Raspberry Pi processor boards and ready to learn and recognize patterns.

Sensor data collected through Arduino shields and other plug-in modules can be assembled into feature vectors of up to 256 bytes. Their learning can be triggered by external user inputs, programmable time stamps, but also by the detection of novelties made by the neurons themselves. Once trained, the neurons can be continuously interrogated to report known patterns or events, or to report novelty. Depending on your application, the output of the neurons can control actuators, trigger a selective recording or transmission or else. Applications include identification, surveillance, tracking, adaptive control and more.

• CM1K chip (1024 neurons)
• Xilinx Spartan 6 FPGA
• Audio MEMS
• A/D converter

• Arduino connectors. Only supports 3.3v IOs.
• Raspberry Pi connector
• SD card slot
• Connector for NeurMem expansion
• Mini HDMI connector
• Power supply through the USB port or the Arduino power pins
• Connector for RaspiCam camera module

BrainCard API includes functions such as Learn pattern, Recognize pattern, Save neurons, Load neurons. SPI Read/Write functions give you full access to the neural network to change the mode of classification (RBF or KNN), activate multiple contexts, and more. Examples are supplied in Arduino and Python.

FPGA programmers can greatly expand the board configuration and optimize speed performance by programming direct interfaces between sensor stimuli and the neurons, extracting feature vectors in real-time and making a final decision in the FPGA.