Patent Publication Number: US-2020298005-A1

Title: Brain-machine interface (bmi)

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application claims the benefit of U.S. Provisional App. No. 62/831,575, filed Apr. 9, 2019; and is a continuation-in-part of U.S. application Ser. No. 15/988,315, filed May 24, 2018, which claims the benefit of U.S. Provisional App. No. 62/534,671, filed Jul. 19, 2017, U.S. Provisional App. No. 62/560,750, filed Sep. 20, 2017, U.S. Provisional App. No. 62/658,764, filed Apr. 17, 2018, and U.S. Provisional App. No. 62/665,611, filed May 2, 2018; which is a continuation-in-part of U.S. application Ser. No. 15/495,959, filed Apr. 24, 2017; which claims the benefit of U.S. Provisional App. No. 62/326,007, filed Apr. 22, 2016, U.S. Provisional App. No. 62/353,343, filed Jun. 22, 2016, U.S. Provisional App. No. 62/397,474, filed Sep. 21, 2016, the contents of all of which are incorporated herein in their entirety. 
    
    
     BACKGROUND 
     The present invention relates to an implanted device that may provide the capability to receive neuronal signals from brain tissue and to transmit optical signals to brain tissue, as well as local and network-based processing to analyze and generate such signals. 
     According to the United Nations, roughly one billion people, nearly ⅙th of the world&#39;s population, presently suffer from some form of neurological disorder, with some 6.8 million deaths each year. During the past decades, a large amount of work on several brain diseases were unsuccessful, because they take neither the initial state of the neuronal—brain region nor the initial neuronal interplay into consideration, greatly limiting the validity of conclusions made. Because the data recorded are only a snapshot of a precise situation, conclusions must be made based mainly on assumption about the properties of neurons and networks. 
     The UN estimates that one in every four people will suffer from a neurological or mental disorder in their lifetime and the vast majority of these cases will remain undiagnosed. Of those who are diagnosed, the World Health Organization claims two-thirds never seek treatment (reference). Conventional systems cannot quantitatively detect and track the progression of a neurological disease (or the efficacy of a treatment). 
     The insertion of brain implants for neural monitoring or stimulation may lead to considerable scar tissue formation at the site of implant. The extent of the scar tissue scales with cortical tissue damage, caused directly by sharp non-compliant brain probes, or by straining the tissue by large volume implant. Both of these issues constrain the size and therefore the number of electrical brain-probing sites that may be embedded on brain probes since excessive scar tissue insulates the probe from the local neuronal environment degrading the electrical signals. 
     Accordingly, a need arises for a system that can quantitatively detect and track the progression of a neurological disease (or the efficacy of a treatment), provide the capability to receive neuronal signals from brain tissue and to transmit signals to brain tissue, as well as local and network-based processing to analyze and generate such signals, and enable long term use of such implants. 
     SUMMARY 
     Embodiments of the present invention may provide a general-purpose, relatively inexpensive, AI-driven implant that is able to adapt to and modulate any given region in the brain. Potential clinical applications may include cortical stimulation for treating psychiatric conditions such as disease and PTSD. By recording and stimulating the auditory cortex and mPFC to identify and manipulate stimulus attention and oscillatory synchronization deficits in PTSD we may be able to establish a path to experimental treatment for cognitive deficits. This technology may also advance research into brain tumor research, or be paired with other cellular technology such as transcriptomic, genomic, and proteomic. It may be possible to apply a similar BCP approach to the human nervous system. 
     To provide advantages, such as increasing the total number of electrically active brain-probing sites, and to enable chronic (10+ years) use, embodiments may include an implantable neural connecting probing system enabled by compliant, biocompatible, carbon nanotube (CNT) electrical wires. These contacts may directly stimulate and readout a high density of individual neural signals using, for example, mature read-out integrated circuit technology (ROIC) widely employed in focal plane arrays used in imaging applications. 
     In an embodiment, a system may comprise a computer system comprising a processor, memory accessible by the processor, and program instructions and data stored in the memory, the program instructions configured to implement a Brain Operating System to analyze an aggregate data stream and formulate instructions for neuromodulations in a closed loop feedback system, circuitry configured to receive digital data from an implant device, generate an aggregate data stream from the received signals, and transmit the aggregate data stream to the computer system and configured to receive instructions for neuromodulations from the computer system and transmit the received instructions to the implant device, and the implant device configured to be implanted within a body of a person for interacting with brain tissue comprising: a plurality of electrically conductive fibers adapted to receive electrical signals from electrophysiological neural signals of the brain tissue and to transmit electrical signals to provide electrophysiological stimulation of the brain tissue, the fibers electrically coupled to at least one readout integrated circuit, and at least one readout integrated circuit comprising a plurality of cells of circuitry, each cell electrically coupled to at least one fiber, each cell of circuitry comprising: circuitry adapted to receive the electrical neural signals from the plurality of fibers, to process the electrical neural signals to form digital data representing the neural signals, and to transmit the digital data, and circuitry configured receive the instructions for neuromodulations, convert the instructions for neuromodulations to electrical neural signals, and to transmit electrical neural signals through the plurality of carbon fibers so as to provide electrophysiological stimulation of the brain tissue. 
     In embodiments, the fibers may comprise carbon nanotubes. The device may further comprise a multiplexer, coupled to a plurality of cells of circuitry adapted to receive and process the electrical neural signals, adapted to select at least one of the electrical neural signals from the plurality of fibers, and an analog-to-digital converter, coupled to the multiplexer, adapted to form digital data representing the electrical neural signals. The analog-to-digital converter may have a resolution of up to 24 bits per sample. The analog-to-digital converter may have a resolution of from 8 bits per sample to 12 bits per sample. The analog-to-digital converter may have a variable resolution of from 8 bits per sample to 12 bits per sample. The device may further comprise a digital-to analog converter, coupled to a multiplexer, adapted to form an analog electrical signal based on digital data representing a stimulation signal and a multiplexer, coupled to the circuitry adapted to transmit electrical neural signals, adapted to select at least one of the plurality of fibers to receive the analog electrical signal. 
     In embodiments, the fibers may comprise graphene. The device may further comprise a multiplexer, coupled to a plurality of cells of circuitry adapted to receive and process the electrical neural signals, adapted to select at least one of the electrical neural signals from the plurality of fibers, and an analog-to-digital converter, coupled to the multiplexer, adapted to form digital data representing the electrical neural signals. The analog-to-digital converter may have a resolution of up to 24 bits per sample. The analog-to-digital converter may have a resolution of from 8 bits per sample to 12 bits per sample. The analog-to-digital converter may have a variable resolution of from 8 bits per sample to 12 bits per sample. The device may further comprise a digital-to analog converter, coupled to a multiplexer, adapted to form an analog electrical signal based on digital data representing a stimulation signal and a multiplexer, coupled to the circuitry adapted to transmit electrical neural signals, adapted to select at least one of the plurality of fibers to receive the analog electrical signal. 
     In an embodiment, a system may comprise a computer system comprising a processor, memory accessible by the processor, and program instructions and data stored in the memory, the program instructions configured to implement a Brain Operating System to analyze an aggregate data stream and formulate instructions for neuromodulations in a closed loop feedback system, circuitry configured to receive digital data from an implant device, generate an aggregate data stream from the received signals, and transmit the aggregate data stream to the computer system and configured to receive instructions for neuromodulations from the computer system and transmit the received instructions to the implant device, and the implant device adapted to be implanted within a body of a person for interacting with brain tissue comprising: a plurality of optically conductive fibers adapted to receive optical signals from electrophysiological neural signals of the brain tissue and to transmit optical signals to provide electrophysiological stimulation of the brain tissue, the fibers optically coupled to at least one readout integrated circuit; and at least one readout integrated circuit comprising a plurality of cells of circuitry, each cell electrically coupled to at least one fiber, each cell of circuitry comprising: circuitry adapted to receive the optical signals from the plurality of fibers and to process the optical signals to form digital data representing the neural signals, and circuitry adapted to transmit optical signals through the plurality of carbon fibers so as to provide electrophysiological stimulation of the brain tissue. 
     In embodiments, the fibers may comprise optical fibers. The device may further comprise an optical multiplexer, coupled to the circuitry adapted to receive and process the optical signals, adapted to select at least one of the optical signals from the plurality of fibers, circuitry, coupled to the multiplexer, adapted to convert the optical signals to analog electrical signals, and an analog-to-digital converter, coupled to the circuitry adapted to convert the optical signals to analog electrical signals, adapted to form digital data representing the analog electrical signals. The device may further comprise circuitry, coupled to a multiplexer, adapted to form an analog electrical signal based on digital data representing a stimulation signal and a multiplexer, coupled to the circuitry adapted to transmit the optical signals, adapted to select at least one of the plurality of carbon fibers to receive the optical signal. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The details of the present invention, both as to its structure and operation, can best be understood by referring to the accompanying drawings, in which like reference numbers and designations refer to like elements. 
         FIG. 1  illustrates an exemplary embodiment of a Biological Co-Processor System (BCP). 
         FIG. 2  illustrates an exemplary embodiment of an implantable signal receiving, processing, and transmitting device, shown in  FIG. 1 . 
         FIG. 3  illustrates an exemplary embodiment of Brain Code Collection System earbud, shown in  FIG. 1 . 
         FIG. 4  illustrates an exemplary embodiment of a cloud platform, shown in  FIG. 1 . 
         FIG. 5  illustrates an exemplary embodiment of an inductive powering system, shown in  FIG. 1 . 
         FIG. 6  illustrates exemplary advantages of aspects of technologies that may be utilized by embodiments. 
         FIG. 7  illustrates exemplary advantages of aspects of technologies that may be utilized by embodiments. 
         FIG. 8  illustrates an exemplary embodiment of an implant device. 
         FIG. 9  illustrates an exemplary embodiment of an implant device. 
         FIG. 10  illustrates an exemplary embodiment of a tile design for an implant device. 
         FIG. 11  illustrates an exemplary embodiment of a tile arrangement for an implant device. 
         FIG. 12  is an exemplary illustration of an approximate representation of how the optrode array could fit over a dense neural network. 
         FIG. 13  illustrates an exemplary embodiment of an implant device. 
         FIG. 14  illustrates an exemplary embodiment of an implant device. 
         FIG. 15  illustrates an exemplary embodiment of CNT connection for an implant device. 
         FIG. 16  illustrates an example of fast-scan cyclic voltammetry. 
         FIG. 17  illustrates an example of how carbon nanotube color changes with chiral index. 
         FIG. 18  illustrates an exemplary embodiment of a nanoengineered electroporation microelectrodes (NEM). 
         FIG. 19  illustrates an exemplary embodiment of an electrophysiological recording pipeline. 
         FIG. 20  illustrates an exemplary embodiment of an optical recording pipeline. 
         FIG. 21  illustrates an exemplary embodiment of an optical recording pipeline. 
         FIG. 22  illustrates an example of cyclically applied potential for cyclic voltammetry. 
         FIG. 23  illustrates an exemplary embodiment of recording pipelines and data processing circuitry. 
         FIG. 24  illustrates an example of spike trains of ChR2 and NpHR expressing neurons when subjected to light beams of different wavelengths. 
         FIG. 25  illustrates an example of Poisson trains of spikes elicited by pulses of blue light (dashes), in two different neurons. 
         FIG. 26  illustrates examples of a light-driven spike blockade for different neurons. 
         FIG. 27  illustrates examples of reaction events for different neurons. 
         FIG. 28  examples of the correlation between wavelengths (nm) and normalized cumulative charge for different Channel rhodopsins neurons. 
         FIG. 29  illustrates an exemplary embodiment of an optical stimulation pipeline. 
         FIG. 30  illustrates an exemplary embodiment of an optical stimulation pipeline. 
         FIG. 31  illustrates an exemplary embodiment of an optical stimulation pipeline. 
         FIG. 32  illustrates an exemplary embodiment of optical stimulation pipelines. 
         FIG. 33  illustrates an exemplary embodiment of an implant device. 
         FIG. 34  illustrates an exemplary embodiment of pseudocode for a process of data recording. 
         FIG. 35  illustrates an exemplary embodiment of pseudocode for a process of stimulation requests. 
         FIG. 36  illustrates an exemplary embodiment of a closed loop control system. 
         FIG. 37  illustrates an exemplary embodiment of pseudocode for a closed loop control system. 
         FIG. 38  illustrates an exemplary embodiment of pseudocode for a PID algorithm. 
         FIG. 39  illustrates exemplary data flow block diagram of a spike sorting technique. 
         FIG. 40 a    illustrates a portion of an exemplary embodiment of pseudocode for performing an SPC method. 
         FIG. 40 b    illustrates a portion of an exemplary embodiment of pseudocode for performing an SPC method. 
         FIG. 41  illustrates an exemplary embodiment of pseudocode for a Spike Sorting technique. 
         FIG. 42  illustrates an exemplary embodiment of pseudocode for bit encoding techniques. 
         FIG. 43 a    illustrates a portion of an exemplary embodiment of code for bit encoding techniques. 
         FIG. 43 b    illustrates a portion of an exemplary embodiment of code for bit encoding techniques. 
         FIG. 44  illustrates an exemplary embodiment of pseudocode for a Startup Procedure. 
         FIG. 45  illustrates an exemplary embodiment of pseudocode for a Provisioning Procedure. 
         FIG. 46  illustrates an exemplary embodiment of pseudocode for a Configuration Interface. 
         FIG. 47  illustrates an exemplary embodiment of pseudocode for a Stimulation Interface. 
         FIG. 48  illustrates an exemplary embodiment of pseudocode for a Recording Interface. 
         FIG. 49  illustrates an exemplary embodiment of pseudocode for a Status Interface. 
         FIG. 50  illustrates an exemplary embodiment of pseudocode for a temperature and power monitoring module. 
         FIG. 51  illustrates an exemplary embodiment of pseudocode for a Startup Procedure. 
         FIG. 52  illustrates an exemplary embodiment of pseudocode for a Provisioning Procedure. 
         FIG. 53 a    illustrates a portion of an exemplary embodiment of pseudocode for a command execution procedure. 
         FIG. 53 b    illustrates a portion of an exemplary embodiment of pseudocode for a command execution procedure. 
         FIG. 53 c    illustrates a portion of an exemplary embodiment of pseudocode for a command execution procedure. 
         FIG. 54  illustrates an exemplary embodiment of pseudocode for a data streaming procedure. 
         FIG. 55  illustrates an exemplary block diagram of a Gateway. 
         FIG. 56  illustrates an exemplary block diagram of the Cloud. 
         FIG. 57  illustrates an exemplary embodiment of pseudocode for a command message. 
         FIG. 58  illustrates an exemplary embodiment of pseudocode for a Configuration Command. 
         FIG. 59  illustrates an exemplary embodiment of pseudocode for a Stimulation Command. 
         FIG. 60  illustrates an exemplary embodiment of pseudocode for an Activation Command. 
         FIG. 61  illustrates an exemplary embodiment of pseudocode for an OTA Command. 
         FIG. 62  illustrates an exemplary embodiment of pseudocode for a Recording Control Command. 
         FIG. 63  illustrates an exemplary embodiment of pseudocode for a Status Command. 
         FIG. 64  illustrates an exemplary embodiment of pseudocode for a command message. 
         FIG. 65  illustrates an exemplary embodiment of pseudocode for a command message. 
         FIG. 66  illustrates an exemplary embodiment of pseudocode for a data message. 
         FIG. 67  illustrates an exemplary block diagram of an architecture for data ingestion and data processing. 
         FIG. 68  illustrates an exemplary embodiment of pseudocode for an API that may be used to specify the input for real time processing. 
         FIG. 69  illustrates an exemplary embodiment of pseudocode for an API that may be used to specify the pre-processing for real time processing. 
         FIG. 70  illustrates an exemplary embodiment of pseudocode for an API that may be used to specify the machine learning processing for real time processing. 
         FIG. 71 a    illustrates a portion of an exemplary embodiment of pseudocode for an API that may be used to specify the output for real time processing. 
         FIG. 71 b    illustrates a portion of an exemplary embodiment of pseudocode for an API that may be used to specify the output for real time processing. 
         FIG. 72  illustrates an exemplary embodiment of pseudocode for an API that may be used to specify the input for batch processing. 
         FIG. 73  illustrates an exemplary embodiment of pseudocode for an API that may be used to specify the machine learning for training new models for batch processing. 
         FIG. 74  illustrates an exemplary embodiment of pseudocode for an API that may be used to specify custom blocks for batch processing. 
         FIG. 75  illustrates an exemplary embodiment of pseudocode for an API that may be used for output from batch processing. 
         FIG. 76  illustrates an exemplary block diagram of an automatic pipeline. 
         FIG. 77  illustrates an exemplary embodiment of a module for autonomous processes. 
         FIG. 78  illustrates an exemplary embodiment of a cascading module for workflows. 
         FIG. 79  illustrates an exemplary embodiment of a pipeline for processing. 
         FIG. 80  illustrates an exemplary embodiment of a Machine Learning (ML) Toolbox. 
         FIG. 81  illustrates an exemplary embodiment of a pipeline for processing. 
         FIG. 82  illustrates an exemplary embodiment of a portion of a process of fabrication of CNT implant devices. 
         FIG. 83  illustrates an exemplary embodiment of a portion of a process of fabrication of CNT implant devices. 
         FIG. 84  illustrates an exemplary embodiment of a recording and stimulation signal and data flow on an implant device. 
         FIG. 85  illustrates an exemplary embodiment of a recording and stimulation signal and data flow on the Gateway and Cloud. 
         FIG. 86  illustrates an exemplary block diagram of an embodiment of an implant device electrical system. 
         FIG. 87  illustrates an exemplary embodiment of a portion of an implant device electrical system. 
         FIG. 88  illustrates an exemplary embodiment of a portion of an implant device electrode connection and firing distribution. 
         FIG. 89  illustrates an exemplary embodiment of a portion of triggering of the first ADC and the quantization of the action potential. 
         FIG. 90  illustrates an exemplary block diagram of multiplexer connections. 
         FIG. 91  illustrates an exemplary block diagram of a Gain Block. 
         FIG. 92  illustrates an exemplary block diagram of a Gain Block. 
         FIG. 93  illustrates an exemplary block diagram of an ADC. 
         FIG. 94  illustrates an exemplary block diagram of a DAC Block. 
         FIG. 95  illustrates an example of light scattering effects with wavelength. 
         FIG. 96  illustrates an exemplary block diagram of a computing device in which embodiments of the present systems and method may be implemented. 
         FIG. 97  illustrates an exemplary embodiment of an implant device. 
         FIG. 98  illustrates an exemplary embodiment of a Brain-Machine Interface system. 
         FIG. 99  illustrates an exemplary high-level system block diagram of an embodiment of a Brain-Machine Interface system. 
         FIG. 100  illustrates an exemplary high-level system block diagram of an embodiment of a Brain-Machine Interface system. 
         FIG. 101  illustrates an exemplary high-level system block diagram of an embodiment of a Brain-Machine Interface system. 
         FIG. 102  illustrates an exemplary embodiment of an integrated sliding support brace. 
         FIG. 103  illustrates an exemplary embodiment of a sign-in interface of a no-code drag-and-drop AI user interface. 
         FIG. 104  illustrates an exemplary embodiment of a project name definition interface of a no-code drag-and-drop AI user interface. 
         FIG. 105  illustrates an exemplary embodiment of a data upload interface of a no-code drag-and-drop AI user interface. 
         FIG. 106  illustrates an exemplary embodiment of a directed project definition interface of a no-code drag-and-drop AI user interface. 
         FIG. 107  illustrates an exemplary embodiment of an experiment definition interface of a no-code drag-and-drop AI user interface. 
         FIG. 108  illustrates an exemplary embodiment of an experiment data analysis interface of a no-code drag-and-drop AI user interface. 
         FIG. 109  illustrates an exemplary embodiment of a projects overview interface of a no-code drag-and-drop AI user interface. 
         FIG. 110  illustrates an exemplary embodiment of a data analysis interface of a no-code drag-and-drop AI user interface. 
         FIG. 111  illustrates an exemplary embodiment of a data analysis interface of a no-code drag-and-drop AI user interface. 
         FIG. 112  illustrates an exemplary embodiment of a results analysis interface of a no-code drag-and-drop AI user interface. 
         FIG. 113  illustrates an exemplary embodiment of a results analysis interface of a no-code drag-and-drop AI user interface. 
         FIG. 114  illustrates an exemplary embodiment of a BCCS earbud. 
         FIG. 115  illustrates an exemplary embodiment of a BCCS earbud. 
         FIG. 116  illustrates an exemplary embodiment of a BCCS earbud. 
         FIG. 117  illustrates an exemplary embodiment of a results analysis interface of a no-code drag-and-drop AI user interface. 
         FIG. 118  illustrates an exemplary embodiment of a BCCS earbud. 
         FIG. 119  illustrates an exemplary embodiment of a BCCS earbud. 
     
    
    
     DETAILED DESCRIPTION 
     The following patent applications are incorporated herein in their entirety: U.S. Provisional App. No. 62/831,575, filed Apr. 9, 2019, U.S. patent application Ser. No. 15/257,019, filed Sep. 6, 2016, U.S. patent application Ser. No. 15/431,283, filed Feb. 13, 2017, U.S. patent application Ser. No. 15/431,550, filed Feb. 13, 2017, U.S. patent application Ser. No. 15/458,179, filed Mar. 14, 2017, U.S. patent application Ser. No. 15/495,959, U.S. Provisional App. No. 62/214,443, filed Sep. 4, 2015, U.S. Provisional App. No. 62/294,435, filed Feb. 12, 2016, U.S. Provisional App. No. 62/294,485, filed Feb. 12, 2016, U.S. Provisional App. No. 62/308,212, filed Mar. 14, 2016, U.S. Provisional App. No. 62/326,007, filed Apr. 96, 2016, U.S. Provisional App. No. 62/353,343, filed Jun. 96, 2016, U.S. Provisional App. No. 62/397,474, filed Sep. 96, 2016, U.S. Provisional App. No. 62/510,498, filed May 24, 2017, U.S. Provisional App. No. 62/510,519, filed May 24, 2017, U.S. Provisional App. No. 62/511,532, filed May 26, 2017, U.S. Provisional App. No. 62/515,133, filed Jun. 5, 2017, U.S. Provisional App. No. 62/534,671, filed Jul. 19, 2017, U.S. Provisional App. No. 62/560,750, filed Sep. 20, 2017, U.S. Provisional App. No. 62/588,210, filed Nov. 17, 2017, U.S. Provisional App. No. 62/658,764, filed Apr. 17, 2018, and U.S. Provisional App. No. 62/665,611, filed May 2, 2018. 
     Embodiments may provide an implantable, miniaturized, for example, smaller than a pea, low-power, wireless probe with induction charging that may be used, for example, for treating neurodegenerative diseases like Parkinson&#39;s and Alzheimer through continual neuromodulation, as a Brain Machine Interface to monitor and prevent other medical condition, such as migraines, and to perform cognitive functions augmentation. Embodiments may provide a wireless and implantable probe with induction charge that may include carbon nanotube (CNT) probes that may facilitate a scaffolding for neuron growth and regeneration and may provide artificial intelligence (AI) Analytics 
     In embodiments, a carbon nanotube (CNT) based electrode array may serve as a building block enabling high-density neural connections in a manner that is non-destructive to tissue. These electrodes may be integrated with solid-state imager readout circuitry (ROIC). For example, modern imager ROIC devices may have pixel densities on a micron pitch scale, which may be configured for single neuron voltage readout. Likewise, CNT electrodes and LED diodes (for optical stimulation) may be heterogeneously integrated on single a ROIC that could both optically stimulate and read the electrical potential from individual neurons. 
     In embodiments, a large number of electrically active brain-probing sites may be provided, along with long-term use. In embodiments, an implantable neural connecting probing system may be enabled by compliant, biocompatible, carbon nanotube (CNT) electrical wires. In embodiments, these contacts may directly stimulate and readout a high density of individual neural signals using read-out integrated circuit technology (ROIC) similar to that employed in focal plane arrays used in imaging applications. 
     In embodiments, an ROIC may include a large array of “pixels”, each consisting of a photodiode, and small signal amplifier. In embodiments, the photodiode may be processed as a light emitting diode, and the input to the amplifier may be provided by the CNT connection to the neuron. In this manner, neurons may be stimulated optically, and interrogated electrically. In embodiments, CNT electrical connection to neural tissue may be provided. In embodiments, a small pitch (2-20 micron) CNT array may be compatible with ROIC designs. 
     An exemplary embodiment of a Biological Co-Processor System (BCP)  100  is shown in  FIG. 1 . In embodiments, BCP  100  may include a neuromodulatory system comprising one, two, or more inductively-recharged neural implants  102  (the implant device), two earbuds  106 , which may include wireless and various sensors, together known as the Brain Code Collection System (BCCS)  110 . These devices may work independently, but together may form a closed-loop system that provides the BCP  100  with bidirectional guidance of both internal (neural) and external (behavioral and physiological) conditions. The BCCS earbuds  106  may read the brain for oscillatory rhythms from internal onboard EEG and analyze their co-modulation across frequency bands, spike-phase correlations, spike population dynamics, and other patterns derived from data received from the implant devices  102 , correlating internal and external behaviors. The BCP may further comprise Gateway  111 , which may include computing devices, such as a smartphone, personal computer, tablet computer, etc., and cloud computing services, such as the Fundamental Code Unit (FCU)  112  cloud computing services, which is a mathematical framework that enables the various BCCS  110  sensor feeds and implant device  102  neural impulses to be rapidly and meaningfully combined. 
     The FCU  112  may provide common temporal and spatial coordinates for the BCP  100  and resides in all components of the system (implants, earbuds, app, cloud) ensuring consistent mapping across different data types and devices. FCU  112  algorithms may provide extremely high rates of data compression, association, and throughput, enabling the implant device  102  to transcribe neural signals in high volume. Each implant device  102  may have an embedded AI processor, optical neurostimulation capabilities and electrical recording capabilities. The implant device  102  may consist of two types of microfabricated carbon nanotube (CNT) neural interfaces, a processor unit for radio transmission and I/O, a light modulation and detection silicon photonic chip, an inductive coil for remote power transfer and an independent receiver system, where the signal processing may reside. The BCP  100  system may comprise four components: (1) the implant device  102  implant(s), (2) the BCCS  110  and (3) the cloud services (with API and SDK) and (4) an inductive power supply. 
     The implant device, an example of which is shown in  FIG. 2 , may be an ultra-low power computing device with interconnects that can attach to nerve and/or brain tissue and read signals/voltages and/or stimulate those tissues with electrical or optical pulses. This multi-physics interaction between the implant device and the tissue may be performed through two back-to-back arrays of optic fibers coated with single wall carbon nanotubes (CNTs). The CNTs may be chosen due to their structure, which has been shown to readily attach to tissue and also due to their remarkable electrical properties. Effectively, the CNTs may serve as electrochemical and optical sensors and measurement/stimulation electrodes. The device may be implanted in the brain or other parts of the body to attach to the nervous system, although this document focuses on attaching to the brain to treat neurological disorders. The implant device may include a communication module to transmit data to a Gateway device such as cell phone or other nearby computer which can in turn analyze data, give input to the implant device, and/or send the data to the Cloud for deep analysis. 
     The implant device may provide a revolutionary brain-computer interface for research in Neuroscience and medicine, being a closed-loop neural modulator informed by internal and external conditions. The possible therapeutic applications are numerous. For example, the implant device could be used for treatment of chronic pain, spinal cord injury, stroke, sensory deficits, and neurological disorders such as epilepsy, Parkinson&#39;s, Alzheimer&#39;s, and PTSD, all of which have evidence supporting the efficacy of neurostimulation therapy. 
     Turning briefly to  FIG. 2 , each implant device  102  implant may be, for example, an oblate spheroid (for example, 0.98×0.97×1.0 cm), a design inspired by the radial characteristics of an implant device  102  fruit. In the center of the implant is a nucleus surrounded by a fleshy membrane. The nucleus may house the processing, transmitting, and receiving circuitry  208 , including an embedded processor for local preprocessing, read and write instructions, the modulation scheme, and an optical FPGA dedicated for real time optical modulation. It may also contain a CMOS dedicated integrated front-end circuit developed for a pre-amplification and multiplexing of the neural signals recorded, 4G-MM for offline storage, wireless transceiver, inductive power receiver, and an optical modulation unit. Covering the nucleus are, for example, 1 million fibers  202  made of single walled carbon nanotubes (SWCNT) and, for example, 1100 geometrically distributed optical fibers coated with SWCNT, connected in the same manner as the SWCNT fibers, wrapping around a central primary processing nucleus. Fibers may be built on a flexible interface substrate and surrounded by a gel/flesh membrane. When implanted, the membrane casing will slowly dissolve, naturally exposing the probes to a cellular environment with limited risk of rejection. For example, the gel may be relatively solid at about 25° C. and liquid at about 37° C. The lubrication of the CNT probes will attract neurons to the implant. The implant device  102  implant will be able to record from pyramidal layers II-III down to layer VI of any brain cortex region. Also shown in  FIG. 2  are delay line devices  204 , light sources, such as vertical-cavity surface-emitting lasers  206  (VCSELs), and antenna  960 . 
     Returning to  FIG. 1 , the BCCS earbud  106 , also shown in  FIG. 3 , wirelessly communicates with the implant device  102 . The earbud contains a signal amplifier and a relay for modulation schemes, algorithms, and instructions to and from the implant. The BCCS earbud  106  also has additional functions, such as EEG and vestibular sensors, which will serve as crosscheck metrics to measure efficacy and provide global behavioral, physiological, and cognitive data along with neural data on the same timescale. 
     An exemplary embodiment of a BCCS earbud  11400  is shown in  FIG. 114 . In this example, device  11400  may include an inserted portion  11402  and a protruding portion  11404 . Inserted portion  11402  may be inserted in an ear canal during use, while protruding portion  11404  may protrude from the ear during use, as shown in  FIG. 115 . Inserted portion  11402  may include a plurality of protrusions  11406 , which may provide retention of device  11400  within the ear canal. Protrusions  11406  may be implemented as millimeter scale conductive rubber electrodes. In this example, a battery or power cell  11408  may be disposed within protruding portion  11404 . 
     BCCS earbud  11400  wirelessly communicates with the KIWI. The earbud contains a signal amplifier and a relay for modulation schemes, algorithms, and instructions to and from the implant. The BCCS earbud also has additional functions, such as EEG and vestibular sensors, which will serve as crosscheck metrics to measure efficacy and provide global behavioral, physiological, and cognitive data along with neural data on the same timescale. 
     In embodiments, BCCS earbud  11400  may be a non-permanent integrated solution for unobtrusive monitoring of activities of daily living. The device may be a platform for biometrics and may have two main embodiments—1) a hearing aid headset for hearing—impaired patients and 2) a wireless audio streaming device and hands-free headset. In conjunction with a smartphone, BCCS earbud  11400  may be capable of Neural activity monitoring (EEG), Performing electrocardiography (EKG), Measuring core body temperature, Breathing Monitoring, Activity Tracking, Blood oxygen saturation measurement (SpO2), Blood pressure monitoring, etc. 
     An exemplary embodiment of BCCS earbud  11400  in use is shown in  FIG. 116 . An exemplary embodiment of BCCS earbud  11400  including rubber probes arranged in a staggered fashion is shown in rear view in  FIG. 117  and in side view in  FIG. 118 . An exemplary mechanical drawing of an embodiment of BCCS earbud  11400  is shown in  FIG. 119 . 
     Embodiments may include features such as Rechargeable and replaceable Li—Po battery, Dry electrodes made of conductive rubber for adherence and comfort to perform ECG and EEG, Blood pressure measurement using PTT (Pulse Transit Time) and PWV (Pulse Wave Velocity), Tympanic membrane infrared temperature measurement, Accelerometer measuring of heart rate (HR), breathing rate (BR) and activity tracking, PPG (Photoplethysmography) optical measurement of blood volume changes, and may provide hearing aid and/or music streaming capabilities with noise cancellation. 
     A cloud platform  112 , also shown in  FIG. 4 , may include the parallel data flow and FCU  112  analytic engine powered by neuro-computational algorithms and extreme machine learning. EEG, ECG, and other physiological data (external and internal) will be uploaded to the cloud wirelessly from the BCCS  110  and implant device  102 . A suite of algorithms will analyze the aggregate data stream and formulate instructions for optimal electrical and/or optical neuromodulations in a closed loop feedback system. Integrated stimulation/control, recording/readout and modulated stimulation parameters will allow simultaneous optical and/or electrical recording and stimulation. 
     An inductive powering system  114 , also shown in  FIG. 5 , may be used recharge the implant device  102  implant (see  FIG. 1 ). Various wearable and/or kinetic inductive power technologies may be utilized during the design phase, including a retainer/mouthguard, a head-mounted cap to be worn at night, or an under the pillow charging mat. 
     As shown in  FIG. 97 , in embodiments, implant device  9702  may be directly powered by inductive power system  9704 , which connects to induction coil  9706  and powers implant device  9702  directly using magnetic induction  9708 . In embodiments, implant device  9702  may be directly powered by RF power system  9710 , which connects to RF antenna  9712  and powers implant device  9702  directly using RF waves  9714 . RF waves  9714  transmit power electromagnetically in a manner similar to a Radio-frequency identification (RFID) system. RFID systems are typically only powered on intermittently. In embodiments, implant device  102  may be powered intermittently by electromagnetic power, In embodiments, implant device  102  may be powered substantially continuously by electromagnetic power. Such embodiments of implant device  102  may have no batteries, or may have batteries of greatly reduced size. Embodiments that do not have a battery may be of reduced size. They may even be tiny, such as about the size of a grain of rice or smaller. Medical devices that can be ingested or implanted in the body may provide new ways to diagnose, monitor, and treat many diseases. For example, such devices may deliver drugs, monitor vital signs, and detect movement of the GI tract. In embodiments, implant device  102  may deliver electrical or optical signals, even though they may include no batteries, or only very small batteries. 
     An example of high-level system data flow in an embodiment of a Brain-Machine Interface system  9800  is shown in  FIG. 98 . In this example, multiple channels of probes may connect  9802  to an analog signal multiplexer  9804 , which may multiplex the multiple analog channels onto a lower number of multiplexed channels  9806 . Multiplexed channels  9806  may be input to multiple channels of analog-to-digital converter circuitry (ADC)  9808 , which may convert the analog signal to digital signals representative of the analog signals and may transmit  9810  the multiplexed digitized signals, for example, using a protocol such as Simple Peripheral Interface (SPI) to a gateway processor  9812 . Gateway processor  9812  may process and compress the multiplexed digitized signals and may transmit  9814  them to a computer system  9816  for analysis using, for example, Fundamental Code Unit (FCU), Brain Code (BC) and artificial intelligence (AI) algorithms. Further, gateway processor  9812  may perform real-time spike detection on the multiplexed digitized signals, probe calibration, and control of probes, such as probe channel selection  9818 . 
     An exemplary high-level system block diagram of an embodiment of a Brain-Machine Interface system  9900  is shown in  FIG. 99 . In this example system  9900  may include a plurality of probes  9902 , as described herein, gateway processor  9904 , computer system  9908 , and cloud computing resources  9910 . Gateway processor  9904  may process and compress the multiplexed digitized signals  9912  and may transmit  9914  them to a computer system  9908 . Further, gateway processor  9904  may perform real-time spike detection on the multiplexed digitized signals, probe calibration, and control of probes, such as probe channel selection. Computer system  9908  may perform analysis using, for example, FCU, BC, and AI algorithms, as well as reporting and plotting the analyzed signals, saving/retrieving data, for example in standard formats, filtering of data, temporal and spatial neural unit differentiation, and advanced AI processing. 
     Embodiments may include features such as: a mobile gateway of the size of a nickel (size limited by the battery), frontend analog interfaces, implemented as a system-on-chip (SoC) that includes, for example, ARM Cortex M3 processor, Bluetooth 5 Low Energy, for Wireless PC communication, DSP core for spike detection acceleration, support for multiple types of probes, such as those described herein, as well as commercially available probes, several days battery stand-by before recharging, and 8 hours in record mode, wired or wireless charging for the Gateway using a miniature power connector. Embodiments may include AI Systems, such as support for popular analytics platforms, AI based signal analysis, models of diseases diagnostics, etc. 
     An exemplary high-level system block diagram of an embodiment of a Brain-Machine Interface system  10000  is shown in  FIG. 100 . In this example system  10000  may include a plurality of probes  10002 , as described herein, gateway processor  10004 , computer system  10008 , and cloud computing resources  10010 . Gateway processor  10004  may process and compress the multiplexed digitized signals  10012  and may transmit  10014  them to a computer system  10008 . Further, gateway processor  10004  may perform real-time spike detection on the multiplexed digitized signals, probe calibration, and control of probes, such as probe channel selection, generation of stimulation signals, wireless communications, and charging, etc. Computer system  10008  may perform analysis using, for example, FCU, BC, and AI algorithms, as well as reporting and plotting the analyzed signals, saving/retrieving data, for example in standard formats, filtering of data, temporal and spatial neural unit differentiation, and advanced AI processing. 
     An exemplary high-level system block diagram of an embodiment of a Brain-Machine Interface system  10100  is shown in  FIG. 101 . In this example system  10100  may include a plurality of probes  10102 , as described herein, gateway processor  10104 , computer system  10108 , and cloud computing resources  10110 . Gateway processor  10104  may process and compress the multiplexed digitized signals  10112  and may transmit  10114  them to a computer system  10108 . Further, gateway processor  10104  may perform real-time spike detection on the multiplexed digitized signals, probe calibration, and control of probes, such as probe channel selection, generation of stimulation signals, wireless communications, and charging, etc. Computer system  10108  may perform analysis using, for example, FCU, BC, and AI algorithms, as well as reporting and plotting the analyzed signals, saving/retrieving data, for example in standard formats, filtering of data, temporal and spatial neural unit differentiation, and advanced AI processing. 
     As the length of insertion of the probes increases there will be increasingly large issues with buckling of the individual CNT fibers when pressed down during initial insertion. This is because the cross-sectional area and area moment of inertia of the a single CNT compared to its overall effective length is quite small. The larger this slenderness ratio (l/k) is the lower the critical force is before buckling. Accordingly, as shown in the example of  FIG. 102 , embodiments may include an integrated sliding support brace  10200  to be used in conjunction with the chip and CNT arrays that will cut the effective length of the CNT&#39;s during insertion this preventing this buckling phenomena. As pressure is applied  10202  onto the assembly to aid in CNT penetration the support brace will act like a comb or and support the CNT&#39;s much closer the outer surface of the brain. As the chip slides toward the comb  10204  it will feed more and more 10206 of the rest of the CNT fibers through the orifices in the comb, which will bend them downwards and inserted deeper into the cerebral cortex. Once the chip has been slid into position the CVT arrays will be fully straight and at maximum depth of insertion  10208 . In embodiments, the chip and comb may have a tight V-shaped tongue and groove connection to insure stability, accuracy and function of the probes and assembly both during insertion and after during the long term. 
     Embodiments may include microfluidic chamber drives. A CNT bundle may be pulled through a “pipe” like structure. To increase flow, the electrode may be pulled through a flow increasing jet. By frictional forces, the CNT bundle may be practically pulled towards the implantation area. In order to remove unwanted liquid, a liquid output port may follow the jet. 
     Combined electro and optogenetic approach enables precise (ON/OFF) control of specific target neurons and circuits. Unary controls in combination with rapid closed loop controls in the implant device&#39;s microchip will enable neural synapse firings with intensity, and frequency modulation. 
     Integrating SWCNT nanotechnology with optical fibers enables both optogenetic writing and electrical neurostimulation capabilities. 
     CNTs are biologically compatible, enabling the implant device to be stably implanted for long periods of time. 
     A dissolvable membrane, such as Dextrane, Gelatine, or Collicoat, will limit the risk of damaging sensitive surface tissue during surgery and minimize adverse tissue reactions following the implant insertion trauma. This will protect both the patient and the CNTs. 
     The implant device will be in the brain parenchyma, rather than tethering the implant to the skull, which can be a major contributor to adverse tissue reactions. 
     The implant device&#39;s open hardware architecture can record data from all pyramidal layers II-III down to layer VI offering several advantages in terms of data quality. 
     Closed loop architecture enables dynamic, informed response based on live internal and external conditions. 
     Big data approach utilizing smartphone apps, SDKs, and websites/APIs will provide visual, aggregate, and actionable real-time biofeedback and software modification capabilities. 
     Big data approach utilizing cloud API will provide storage to capture extremely large volumes of data. The cloud platform also provides the massive processing power required to analyze these huge data sets across subject profiles and a plurality of research databases (PPMI, PDRS, etc.). 
     Open software architecture SDK will allow the creation of new applications and different protocols for clinical and research use, by partners, researchers and third parties. 
     The BCCS will be able to synchronously capture EEG, ECG, PulseOx, QT intervals, BP, HR, RR, true body temperature, body posture, movement, skin conductance, vestibular data, and audio data to provide a rich set of multimodal data streams to dynamically correlate internal states read by the implant device and external states observed by the BCCS, a process which will help to effectively map neural pathways and function. 
     A passive inductive power unit and the BCCS earbud amplifier will be used external to the cranium, allowing the implant device to be small, low power and of low energy consumption. Any design for an extended-use implant without such an external component would need to be considerably larger (and of a finite lifespan). 
     The BCP data flow (internal and external) allows machine learning, prior experience, and real time biofeedback to autonomously guide implant device neuromodulation. Eventually the BCP will achieve an advanced level of sensitivity and will be able to autonomously sense neuron activity and guide light and/or electrical stimulation as needed. 
     Autonomous stimulation will be guided by intuitive algorithms and operational self-monitoring during awake state and sleep. Personal profiles and personalized signatures of neural activity will be learned and coded over time. 
     The BCP system takes two distinct but complementary approaches: a direct approach by means of recording brain activity and an indirect approach deduced from the multimodal aggregate analysis of peripheral effectors such as temperature, cardiac activity, body posture and motion, sensory testing etc. This simultaneous and coupled analysis of the interplay between the brain “activities and functions” (including physiological, chemical and behavioral activities) and its peripheral effectors and the influence of the effectors on the brain “activities and functions” has never been done before. 
     Simultaneous brain recording and stimulation of the same region allows us to take account of the initial state of the neurons and their environment, enabling comprehension of the neurons properties and network as well as brain functions (as the data are only valid for the specific conditions in which they were obtained). Methods which are forced to ignore this initial state have limited potential for understanding the full system. 
     implant device Development—in an embodiment, an approach to solving density challenges combines traditional photolithographic thin-film techniques with origami design elements to increase density and adaptability of neuronal interfaces. Compared to traditional metal or glass electrodes, polymers such as CNT are flexible, strong, extremely thin, highly biocompatible, highly conductive, and have low contact impedance, which permits bidirectional interfacing with the brain (Vitale et al., 2015). These properties are especially valuable for the construction of high-density electrode arrays designed for chronic and/or long-term use in the brain. Our approach to precision and accuracy supersedes the current state of the art (SOA), which is limited to only being able to fit certain regions of the brain. These limits are due both to the physical design of the interface inserted and also to the limits of tethered communication within deeper cortical areas. The implant device, on the other hand, is wireless and inductively powered, and so is implantable anywhere in the brain with a subdural transceiver, to allow reading of neurons both at the surface and in 3D. CNT fibers will allow for bidirectional input and output. CNTs will also enable more biocompatible, longer-lasting designs—current neural implants work well for short periods of time, but chronic or long-term use of neural electrodes has been difficult to achieve. The main reasons for this are: 1) degradation of the electrode, 2) using oversized electrodes to attain sufficient signal-to-noise ratio during recording, and 3) the body&#39;s natural immune response to implantation. Although there is a strong desire among neurologists to record chronic neural activity, electrodes used today can damage brain tissue and lose their electrical contacts over time (McConnell et al., 2009, Prasad et al., 2012). This is of particular concern in the case of deep cortical implants, so alternative materials, design principles, and insertion techniques are needed. CNT is a biocompatible material that has been studied for long-term use in the brain. 
     Optogenetics may be used to facilitate selective, high-speed neuronal activation; a technology in which light-sensitive ion channels are expressed in target neurons allowing their activity to be controlled by light. By coating optical fibers (˜8 μm) with dense, thin (˜1 μm) CNT conformal coatings, optical modulation units may be built within the nucleus of the implant device that can deliver light to precise locations deep within the brain while recording electrical activity at the same target locations. The light-activated proteins channelrhodopsin-2 and halorhodopsin may be used to activate and inhibit neurons in response to light of different wavelengths. Precisely-targetable fiber arrays and in vivo-optimized expression systems may enable the use of this tool in awake, behaving primates. 
     A suite of brain to digital and digital to brain (B2D:D2B) algorithms may be used for transducing neuron output into digital information. These algorithms may be theoretically-grounded computational models corresponding to the theory of similarity computation in Bottom-Up and Top-Down signal interaction. These neurally-derived algorithms may use mathematical abstractions of the representations, transformations, and learning rules employed by the brain, which will correspond to the models derived from the data and correspond to the general dynamic logic and mathematical framework, account for uncertainty in the data, as well as provide predictive analytical capabilities for events yet to take place. The BCP analytics may provide advantages over conventional systems in similarity estimation, generalization from a single exemplar, and recognition of more than one class of stimuli within a complex composition (“scene”) given single exemplars from each class. This enables the system to generalize and abstract non-sensory data (EEG, speech, movement). Combined, these provide both global (brain-wide) and fine detail (for example, communication between and within cytoarchitectonic areas) modalities for reading and writing across different timescales. 
     The implant device may be a microfabricated carbon nanotube neural implant that may provide, for example, reading from ≥1,000,000 neurons, writing to ≥100,000 neurons, and reading and writing simultaneously to ≥1,000 neurons. The BCCS may include multisensory wireless inductive earbuds and behavioral sensors and provide wireless communication with implant device, inductively recharge implant device, provide Bluetooth communication with a secure app on smartphones, tablets, etc., and may provide interfacing with cloud—API, SDK and secure website for clinicians, patients (users) 
     The implant device and BCCS devices may be used in combination with FCU, BC and IA algorithms to translate audial cortex output, matching internal and external stimulus (for example, output) to transcribe thought into human readable text. 
     The BCP may provide advantages over conventional systems by providing a closed loop neural interface system that uses big data analytics and extreme machine learning on a secure cloud platform, to read from and intelligently respond to the brain using both electrical and optical modulation. The FCU unary framework enables extremely high-speed compression, encryption, and abstract data representation, allowing the system to process multimodal and multi-device data in real-time. This capability is of great interest and benefit to both cognitive neurosciences and basic comprehension of brain function and dysfunction because: (1) it combines high dynamic spatiotemporal and functional resolution with the ability to show how the brain responds to demands made by change in the environment and adapts over time through its multiple relationships of brain-behavior and brain-effectors; (2) it assesses causality because the data streams are exhibited temporally relative to the initial state and each state thereafter by integrating physiological and behavioral factors such as global synchrony, attention level, fatigues etc. and (3) data collection does not affect, interfere, or disrupt any function during the process. 
     The BCP may provide advantages over conventional systems by recording from all six layers of the primary A1 cortex and simultaneously from the mPFC, with very high spatial resolution along the axis of the penetrating probe by combining CNT with fiber optic probes that wrap around a central nucleus. By including the principal input layer IV and the intra columnar projection layers, as well as the major output layers V and VI, brain activity can be monitored with unprecedented resolution. The recording array will be combined with optogenetic stimulation fibers, which are considerably larger and stiffer than electrode arrays. CNT fibers will be used as recording electrodes at an unprecedented scale and within a highly dense geometry. 
     Carbon nanotubes address the most important challenges that currently limit the long-term use of neural electrodes and their unique combination of electrical, mechanical and nanoscale properties make them particularly attractive for use in neural implants. CNTs allow for the use of smaller electrodes by reducing impedance, improving signal-to-noise ratios while improving the biological response to neural electrodes. Measurements show that the output photocurrent varies linearly with the input light intensity and can be modulated by bias-voltage. The quantum efficiency of CNTs are about 0.063% in 760 Torr ambient, and becomes 1.93% in 3 mTorr ambient. A SWCNT fiber bundle can be stably implanted in the brain for long periods of time and attract neurons to grow or self-attaching to the probes. CNT and optical fibers will be an excellent shank to wrap a polymer array around. 
     Returning to  FIG. 2 , the optical fibers  202  will be coated with SWCNTs and make electrical connections with the underlying delay line. The delay line  204  will be transparent to allow light from the vertical-cavity surface-emitting lasers  206  (VCSELs) to reach the optical fibers. The delay lines  204  potentially make the electrical signal position-dependent by comparing the time between pulses measured at the outputs. Provided the pulses are of sufficient intensity and individual pulses are sufficiently separated in time (&gt;1 μs or so), the difference between pulse arrival times could be related to the position on the array. Combining this with spatially controlled optical excitation (i.e., by turning on specific VCSELs  206 ) would further help to quantify position, as VCSEL pulses excite a small region at the end of the adjacent fiber. These pulses are measured at a position on the delay line close to this fiber, so if neighboring neurons fire, they are sensed by nearby fibers (i.e., the SWCNTs on the fibers) and would generate additional pulses that could then be tracked over time with the delay line, mapping out the path. The SWCNT coated fiber array  202  would be randomly connected to the underlying VCSEL array as we will not have control over the fiber locations in the bundle. The substrate connectors will be graphitic nano joints to a single-walled carbon nanotube, we will also utilize the IBM CNT connect technique for other connectors. 
     Carbon nanotubes are ideal for integration into a neural interface and the technical feasibility of doing so is well documented. The use of CNT allows for one unit to function as recording electrodes and stimulating optical fibers. The optical transceivers will be integrated as a separate die on a silicon substrate, tightly-coupled to logic dice (a.k.a. “2.5D integration”). The choice of materials reflects the positive results of recent studies demonstrating the impact of flexibility and density of implanted probes on CNNI tissue responses. CNTs are not only biocompatible in robust coatings, but they are supportive to neuron growth and adhesion. It has been found that CNTs actually promote neurite growth, neuronal adhesion, and viability of cultured neurons under traditional conditions. The nanoscale dimensions of the CNT allow for molecular interactions with neurons and the nanoscale surface topography is ideal for attracting neurons. In fact, they have been shown to improve network formation between neighboring neurons by the presence of increased spontaneous postsynaptic currents, which is a widely accepted way to judge health of network structure. Additionally, functionalization of CNT can be used to alter neuron behavior significantly. In terms of the brain&#39;s immune response, CNT have been shown to decrease the negative impact of the implanted electrodes. Upon injury to neuronal tissue, microglia (the macrophage-like cells of the nervous system) respond to protect the neurons from the foreign body and heal the injury, and astrocytes change morphology and begin to secrete glial fibrillary acidic protein to form the glial scar. This scar encapsulates the electrode and separates it from the neurons. However, carbon nanomaterials have been shown to decrease the number and function of astrocytes in the brain, which in turn decreases the glial scar formation. 
     Optogenetic tools may be used to enable precise silencing of specific target neurons. Using unary controls in combinations and in rapid closed loop controls within the implant device will enable neural synapse firings with highly precise timing, intensity, and frequency modulation. Optical neuromodulation has many benefits over traditional electrode-based neurostimulation. This strategy will allow precision stimulation in near real time. 
     The implant device uses a 3D design (and dissoluble membrane), both of which may provide advantages over conventional systems. The dissoluble membrane protects both the patient and the implant during surgery and the lubricant and contraction encourages neural encroachment and adherence to CNTs upon dissolution. This design maximizes neural connectivity and adhesion, while minimizing implant size. implant device size is further reduced through inductive charging. 
     The BCP system aims at producing a significant leap in neuroscience research not only in scale but also in precision. The method of optical reading and writing at the same time, using SWCNT optrodes, can be combined with current cell marking techniques to guide electrodes and optic fibers to specific regions of the brain. One of the biggest challenges facing neuroscientists is to know for certain if they are hitting the right spot when performing in vivo experiments, whether it is an electrophysiological recording or an optogenetic stimulation. Cell marking techniques, on the other hand, have made a lot of progress during the past 20 years with the use of new viral approaches as well as Cre-Lox recombination techniques to express cell markers in specific sites of the brain. This has allowed, for example, the expression of fluorescent Calcium indicators in target locations without affecting surrounding regions, which is commonly used in in vivo Calcium imaging. Our technique of simultaneous optical reading and writing makes it possible to insert optrodes and guide them through brain tissue until they “sense” optical changes corresponding to the activity of target cells that express a Calcium indicator. This will reduce, to a great extent, the probability of off-target recordings and stimulations. 
     The synchronous connection between the implant device and BCCS will likely lead to rapid advances in understanding the key circuits and language of the brain. The BCP provides researchers with a more thorough (and contextual) understanding of neural signaling patterns than ever before, enabling far more responsive brain-machine interfaces (for example, enabling a paralyzed patient to control a computer, quadcopter, or mechanical prosthetic). A wireless implanted device might allow a PD patient to not only quell tremors but actually regain motor capacity, even just minutes after receiving an implant. By combining these technologies with behavioral and physiological metrics, we hope to open up new horizons for the analysis of cognition. Our multimodal diagnostic and analysis allows for an approach of analyzing brain machinery at higher data resolution. The data method could be considered a first step in progressing medicine from snapshots of macro anatomo-physiology to continuous, in-vivo monitoring of micro anatomo-physiology. The in-vivo study of a brain&#39;s parcel may give us a real-time relationship of the different components and their functionality, from which the complex functional mechanism of the brain machinery could be highlighted. Giving rise to new medical approaches of diagnosis, treatment, and research. If the animal experiences of two implants prove efficacy and lack of any harm to animal or humans, the BCP may allow us to define a powerful new technique for brain-functional mapping which could be used to systematically analyze and understand the interconnectivity of each brain region, along with the functionality of each region. 
     Therapeutic aims may include use of the device as a brain stimulator, and indirect by data from recordings highlighting the mechanism(s) by which several diseases occur, owing to implant device&#39;s ability to record a basic global neuronal state of a brain region and the dynamic neuronal interplay. The modifications which occur during its normal activity enable us to understand the neuronal properties and the function of a given brain region. Our device is able to give us the dynamic continuum of the whole activity of the considered region and thus provide important insights into the fundamental mechanisms underlying both normal brain function and abnormal brain functions (for example, brain disease). The potential for these findings to be translated into therapies are endless because this device may be used in any region of the brain and represents the first synthesis of a closed-loop neural modulator informed by internal and external conditions. The BCP provides a large amount of information and could be used to explore any brain disease within a real dynamic, in vivo condition. If successful, the potential of this device for the diagnosis of organic brain diseases is enormous and it could be an important complement to MRI for the diagnosis of non-organic disease. The possible therapeutic use of this device may also include chronic pain, tinnitus, and epilepsy. The device could be used in focal epileptic zone owing to its optogenetic capacity to control excitability of a specific populations of neurons. Even if the device does not cure epilepsy, it may help to control otherwise refractory seizures and help to avoid surgery. Nonetheless optimizing the place of this device in therapy for epilepsy will require further study and clinical experience. 
     Recent demonstrations of direct, real-time interfaces between living brain tissue and artificial devices, such as with computer cursors, robots, and mechanical prostheses, have opened new avenues for experimental and clinical investigation of Brain Machine Interfaces (BMIs). BMIs have rapidly become incorporated into the development of ‘neuroprosthetics,’ which are devices that use neurophysiological signals from undamaged components of the central or peripheral nervous system to allow patients to regain motor capabilities. Indeed, several findings already point to a bright future for neuroprosthetics in many domains of rehabilitation medicine. For example, scalp electroencephalography (EEG) signals linked to a computer have provided ‘locked-in’ patients with a channel of communication. BMI technology, based on multi-electrode single-unit recordings, a technique originally introduced in rodents and later demonstrated in non-human primates, has yet to be transferred to clinical neuroprosthetics. Human trials in which paralyzed patients were chronically implanted with cone electrodes or intracortical multi-electrode arrays allowed the direct control of computer cursors. However, these trials also raised a number of issues that need to be addressed before the true clinical worth of invasive BMIs can be realized. These include the reliability, safety and biocompatibility of chronic brain implants and the longevity of chronic recordings, areas that require greater attention if BMIs are to be safely moved into the clinical arena. In addition to offering hope for a potential future therapy for the rehabilitation of severely paralyzed patients, BMIs can be extremely useful platforms to test various ideas for how populations of neurons encode information in behaving animals. Together with other methods, research on BMIs has contributed to the growing consensus that distributed neural ensembles, rather than the single neuron, constitute the true functional unit of the CNS responsible for the production of a wide behavioral repertoire (reference). 
     When designing an interface between a living tissue and an electronic device, there are important factors to consider. Particularly, the structural and chemical differences between these two systems; the electrode ability to transfer charge; and the temporal-spatial resolution of recording and stimulation. Traditional multi-electrode array (MEAs) for neuronal applications present several limitations: low signal to noise ratio (SNR), low spatial resolution (leading to poor site specificity) and limited biocompatibility (easily encapsulated with non-conductive undesirable glial scar tissue) which increases tissue injury and immune response. Neural electrodes should also accommodate for differences in mechanical properties, bioactivity, and mechanisms of charge transport, to ensure both the viability of the cells and the effectiveness of the electrical interface. An ideal material to meet these requirements is carbon nanotubes (CNTs). CNTs are well suited for neural electrical interfacing applications owing to their large surface area, superior electrical and mechanical properties, and the ability to support excellent neuronal cell adhesion. Over the past several years it has been demonstrated as a promising material for neural interfacing applications. It was shown that the CNTs coating enhanced both recording and electrical stimulation of neurons in culture, rats, and monkeys by decreasing the electrode impedance and increasing charge transfer. Related work demonstrated the single-walled CNTs composite can serve as material foundation of neural electrodes with chemical structure better adapted with long-term integration with the neural tissue, which was tested on rabbit retinas, crayfish in vitro and rat cortex in vivo. 
     Using long CNTs implanted into the brain has many advantages, for instance an optical fiber with CNTs protruding from it, but this technology has not been trialed in vivo or expanded to very large numbers of recording channels. Characterization in vitro showed that the tissue contact impedance of CNT fibers was lower than that of state-of-the-art metal electrodes, chronic studies in vivo in parkinsonian rodents also showed that CNT fiber microelectrodes stimulated neurons as effectively as metal electrodes. Stimulation of hippocampal neurons in vitro with vertically multiwalled CNTs electrodes suggested CNTs were capable of providing far safer and efficacious solutions for neural prostheses than metal electrode approaches. CNT-MEA chips proved useful for in vitro studies of stem cell differentiation, drug screening and toxicity, synaptic plasticity, and pathogenic processes involved in epilepsy, stroke, and neurodegenerative diseases. Nanotubes are a great feature for reducing adverse tissue reactions and maximizing the chances of high-quality recordings, but squeezing a lot of hardware into a small volume of tissue will likely produce severe astroglial reactions and neuronal death. At the same time, CNTs could extend the recording capabilities of the implant beyond the astroglial scar, without increasing the foreign body response and the magnitude of tissue reactions. Implantation of traditional, rigid silicon electrode arrays has been shown to produce a progressive breakdown of the blood-brain barrier and recruitment of an astroglial scar with an associated microglia response. 
     Neural implant geometry and design is highly dependent on animal model used, where larger animals will see a somewhat less dramatic deterioration in recording quality and quantity, so early trials in rats probably shouldn&#39;t be too focused on obtaining very long-term recordings on a very large number of channels. While loss of yield due to abiotic failures is a manufacturing process and handling problem, biotic failures driven hostile tissue reactions can only be addressed by implementing design concepts shown to reduce reactive astrogliosis, microglial recruitment and neuronal death (Prasad, A. et al., 2012; McGonnell, G C. et al., 2009). 
     Conventional thin film probes can fit hundreds of leads into one penetrating shank. Rolling up a planar design would come with several benefits: first, it would decrease the amount of tissue damage a wide 2D-structure would produce. This is essential for the very high densities we are aiming for. Second, it would stiffen the probe, making it easier to penetrate tissue. Thirdly, a round cross section is preferable for reducing the foreign body response in the brain parenchyma. Finally, this design allows for potentially extremely dense architectures, as by combining several of these probes into a 10×10 array of 1 cm 2 , an implant using this technology could potentially deploy several tens of thousands of leads in a multielectrode array, and could be conceivably combined with optical fibers for stimulation within an electronic-photonic microarray implant. A design of an implantable electrode system may be a 3D electrode array attached to a platform on the cortical surface. Said platform would be used for signal processing and wireless communication. 
     Why coatings or composites with CNT? The unique combination of electrical, mechanical and nanoscale properties of carbon nanotubes (CNT) make them very attractive for use in NE. Recent CNT studies have tried different CNT coatings or composites on metal electrodes and growing full electrodes purely from CNT. Edward W. Keefer et al., (2008) was the first to do a recording study using different coatings made with CNT on electrodes. They found that CNT can help improve the electrode performance during recording by decreasing impedance, increasing charge transfer, and increasing signal-to-noise ratio. CNT may improve the biological response to neural electrodes by minimizing risk of brain tissue rejection. 
     Why ICA for analysis? ICA signal separation is performed on a sample by sample basis where no information about spike shape is used. For this reason, it is possible to achieve good performance of sorting accuracy in terms of misses and false positives, especially in cases where the background noise is not stationary but fluctuate throughout trials, which is the fact based on biophysical and anatomical considerations but is ignored by most current spike sorting algorithms One assumption underlying this technique is that the unknown sources are independent, which is the case under the assumption that the extracellular space is electrically homogeneous, pairs of cells are less likely to be equidistant from both electrodes. The other assumption of this approach is that the number of channels must equal or greater than the number of sources, which can yield advantages for large-scaled recordings. 
     Exemplary tables of advantages of aspects of technologies that may be utilized by embodiments are shown in  FIGS. 6 and 7 . 
     The two-implant device&#39;s may be implanted within the mPFC in addition to the A1 primary auditory cortex because this cortical area may be implicated in the pathogenesis of PTSD. Dopaminergic modulation of high-level cognition in Parkinson&#39;s disease and the role of the prefrontal cortex may be revealed by PET, as may widely distributed corticostriatal projections. The mPFC may also be implicated in psychiatric aspects of other disorders, for example deficits in executive functions, anxiety, and depression. By recording from the selected sensory areas and implanting two kiwis at same time, the chance of needing further surgical corrections may be reduced, and data recording may be increased. Knowledge may be extracted that may lead to corrections of associated cognitive deficit in conditions like PTSD but in general to cognitive decline as it occurs for many unknown indicators. 
     In an embodiment, the BCP hardware may be fabricated using electronic components available on the market today. In an embodiment, the implant device may be made with a microfabricated carbon nanotube (CNT) neural interface, a light modulation and detection silicon photonic chip, and an independent Central Processing Unit (CPU) where all the processing will preside. RF communication between the implant device and BCCS may carried out either by making use of the processor&#39;s Bluetooth capability or by implementing an independent RF transceiver in each of the two devices. The BCCS device may be calibrated to and securely integrated with the implant device. Exemplary block diagrams of embodiments of an implant device  800  is shown in  FIGS. 8 and 9 , and are described further below. 
     As may be seen from  FIG. 2 , the implant device may be composed of two such hardware components in a back to back configuration, each one functioning independently. In embodiments, each of the two boards may be split into, for example, 100 tiles with 16 I/O pins. An exemplary embodiment of such a tile design is shown in  FIG. 10 . Each tile may include, for example, one Reference Pin  1002 , five Ground Pins  1004 , six Recording Pins  1006 , and four pins for either Recording or Stimulation  1008 . The specific function of each pin is described below. On one side the tile cells may be attached to CNTs, while on the other side, the tiles may interface with the hardware components needed to process the analog signals. 
     An exemplary embodiment of an arrangement of tiles is shown in  FIG. 11 . In this embodiment, the tiles may be physically arranged in a 10×10 matrix as shown. Each integrated circuit (application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), etc.) may be connected to a tile block that is composed of, for example, 10×10 tiles. Thus, the integrated circuit may simultaneously read 10×10×10=1000 channels and simultaneously stimulate up to 10×10×4=400 channels. In an embodiment, the implant device may include two integrated circuits and be able to read up to 2000 channels and write up to 800 channels simultaneously. 
     Channel types that may be supported may include Optrodes and Electrodes. Optrodes (optical electrodes), may perform optical and electrical recording and stimulation. Optrodes may be composed of optical fiber coated with single walled carbon nanotubes. The optical fiber may be used for transporting light signals bidirectionally. Electrodes may perform only electrical recording and stimulation. The carbon nanotubes may be used to transport electric signals. In embodiments, the configuration may depend on the goals of the device implant for each individual patient. Thus, in embodiments, the implant device may support different configurations in terms of channels (number and type (electrical, optical, or chemical) of stimulation and/or recording channels) and Computing Power. 
     In embodiments, the power budget of the implant device may be in the range of about 100 μW to 1 mW. Embodiments of battery options, assuming an implant device autonomy of 72 hours may include: 
     Rechargeable Li-ion Battery: In embodiments, the battery may be as small as a grain of rice. The energy of such a battery would be only 3 mWh, or maybe less in normal operating conditions. If a more likely nominal capacity of 2 mWh is considered, this equates to a power budget of 30 μW over a period of 72 hours, in the case that a custom integrated circuit is not needed. 
     Rechargeable Silver Oxide Battery: In embodiments, a cylindrical Silver Oxide battery with a volume of about 30 cmm (cubic millimeters) may have a nominal capacity of 11 mWh. Over a period of 72 hours this equates to a power budget of about 160 μW. However, due to the chemistry of the Silver Oxide battery, it can only allow a limited number of recharge cycles. 
     Rechargeable Li—Po Battery: While expensive compared to the other two options, the Li—Po batteries promise about 1200 Wh/L, which would equate to 36 mWh for the same volume of 30 cmm. Over a period of 72 hours, this equates to a power budget of about 500 μW. Due to its high power density, the Li—Po battery has since long been used for pacemakers and may be used in embodiments of this application as well. 
     For safety reasons, the battery should not heat up more than 1° C. during charging. 
     Typical implant methods and medical implications. In the field of neural modulation, DBS surgery has been used for the symptomatic treatment of Parkinson&#39;s disease for a long time. The intervention implies the drilling of the skull and the insertion of the stimulation electrodes deep within the brain. After this step, another intervention inserts the pulse generator under the skin of the patient&#39;s chest, close to the collar bone. Severe intraoperative adverse events included vasovagal response, hypotension, and seizure. Postoperative imaging confirmed asymptomatic intracerebral hemorrhage (ICH), asymptomatic intraventricular hemorrhage, symptomatic ICH, and ischemic infarction, and was associated with hemiparesis and/or decreased consciousness. Long-term complications of DBS device implantation not requiring additional surgery included hardware discomfort and loss of desired effect in 10. Hardware-related complications requiring surgical revision included wound infections, lead malposition and/or migration. component fracture, component malfunction, and loss of effect. 
     Under DARPA&#39;s Reliable Neural-Interface Technology (RE-NET) program, scientists have developed the stentrode, a chip that is far less invasive due to the fact that it is implanted to the brain through blood vessels without opening the skull. This approach was tested on sheep and the chip was inserted via a blood vessel in the neck and guided to the brain using real-time imaging. Once the chip reaches the target location it expands and attaches to the walls of the blood vessel to read the activity of the nearby neurons. 
     In embodiments, different implantation procedure may be used, and each has advantages and disadvantages. 
     Implant device Cyber Security. Billions of sensors that are already deployed lack protection against attacks that manipulate the physical properties of devices to cause sensors and embedded devices to malfunction. Analog signals such as sound or electromagnetic waves can be used as part of “transduction attacks” to spoof data by exploiting the physics of sensors. 
     A “return to classic engineering approaches” may be needed to cope with physics-based attacks on sensors and other embedded devices, including a focus on system-wide (versus component-specific) testing and the use of new manufacturing techniques to thwart certain types of transduction attacks. 
     Transduction attacks may target the physics of the hardware that underlies that software, including the circuit boards that discrete components are deployed on, or the materials that make up the components themselves. Although the attacks target vulnerabilities in the hardware, the consequences often arise in the software system, such as improper functioning or denial of service to a sensor or actuator. Hardware and software have what might be considered a “social contract” that analog information captured by sensors will be rendered faithfully as it is transformed into binary data that software can interpret and act on. But materials used to create sensors can be influenced by other phenomena—such as sound waves. Through the targeted use of such signals, the behavior of the sensor may be interfered with and even manipulated. 
     In embodiments, the implant device may take measures against vulnerability to accidental or malicious wave interferences. 
     Neuron Connection Interface. Due to their extraordinary properties, CNTs may be used in different roles, such as electrophysiological reading, electrophysiological stimulation, electrochemical detection, optical reading, and optical stimulation. Embodiments may include specialized implant devices that feature only one type of CNTs or hybrid implant devices with multiple types of CNTs, which may use artificial intelligence (AI) to manage them according to the nature of the application. 
     Carbon Nanotubes (CNTs) are a material with broad application, such as additives, polymers, and catalysts; in autoelectron emission, flat displays, gas discharge tubes, absorption and screening of electromagnetic waves, energy conversion, lithium battery anodes, hydrogen storage, composite materials, nanoprobes, sensors and supercapacitors. CNTs may be used as super-miniaturized chemical and biological sensors based on the fact that their voltage-current (V-I) curves change as a result of adsorption of specific molecules on their surface. Furthermore, the boundary (tip) of the CNT may be modified by functional groups, metal nanoparticles, polymers, and metal oxides to increase the selectivity of the detectors built based on them, adding filtering capabilities to it. 
     CNTs have remarkable mechanical, thermal, and electrical properties. For example, the Young&#39;s modulus of CNTs, which is a measure of axial tensile stiffness, may be over 1TPa (Aluminum has 70 GPa). CNTs may have a strength-to-weight ratio 500 times greater than Aluminum. The thermal conductivity of CNTs may be very high (approximately 3000 W/mK) in the axial direction and very small in the radial direction. CNTs may have a very high current carrying capacity and may have an electrical conductivity six orders of magnitude higher than copper. Due to their high mechanical and thermal stability and resistance to electromigration, CNTs may sustain current densities of up to 109 A/cm2. Depending on their chirality—the geometric orientation of the carbon atoms network—the electrical properties of the CNTs may change—they may behave either as conductors or semiconductors. In an electronic device this may allow both the active devices and interconnects to be made of CNTs. 
     In embodiments, CNTs may be used as Sensors, for functions such as Electrophysiological Recording, measuring the electrical potential in neural tissue by using CNTs as conductors, Electrochemical Recording, detecting neurotransmitters in neural tissue through fast-scan cyclic voltammetry (FSCV), Optical Recording, making CNTs sensitive to fluorescent substances by changing their chiral configuration, Neural Stimulators, Electrophysiological Stimulation, stimulating the brain neurons by using CNTs as conductors, Optical Stimulation, using Optogenetics techniques, and Electrochemical Stimulation. 
     Connection Method. When implant device is inserted in the brain, the CNTs may establish strong adhesive contact with the neuronal tissue, becoming able to measure the electrical field in their vicinity. The following approximate calculations provide an intuition on how the implant device CNTs will fit over the neural network. The brain cells may be in the range of 10-50 micrometers in diameter. The width of a CNT may be in the range of 0.7-50 nanometers. In embodiments, the optrodes (the CNT coated optic fibers) or electrodes (with CNT fiber) may be organized in 100 tiles arranged in a square configuration. Each tile may be made of a 4 by 4 array of optrodes. Therefore, the CNTs may be arranged in a 400×400 matrix. Given that one side of the KWI optrode array may be about 1 cm, the interaxial distance between the CNTs is about 25 micrometers. 
     An exemplary illustration of an approximate representation of how the optrode array could fit over a dense neural network is shown in  FIG. 12 . In this example, the following assumptions have been made. The brain cells  1202  have been represented as circles 30 microns in diameter and 50 microns apart (distance between centers). The centers of the optrodes have been represented as squares 25 microns apart. The diameter of the CNT may be about 1000 times smaller than the diameter of the brain cell, so the CNTs would hardly be visible if they were drawn to scale. For better readability, an array of only 10 by 10 optrodes has been represented. 
     In order to obtain a clear reading from one single point of contact with the brain tissue and avoid electrical short circuit, it is important for the CNTs to remain upright and not stick to each other, which would naturally happen due to the force of molecular adhesion (van der Waals interactions). Soft lubricant gel may be used to ensure their upright position, as shown in  FIG. 13 . After the implant, due to its size, position and optrodes configuration, the implant device may be able to connect to all neuron layers from I to VI, as shown in  FIG. 14 . At the other end, the CNTs  1502  may connect to the electrodes  1504  through which the neuron stimulation and reading will be performed, as shown in  FIG. 15 . 
     Electrophysiologic Detection of Voltage. In embodiments, CNTs may be used for deep brain recordings of voltages from neural tissues in their vicinities. For this task, CNT, based electrode arrays may be used that enable high-density neural connections in a manner that is non-destructive to the neuronal tissue. This method is feasible and efficient because of all the above-mentioned properties of CNTs—mechanical, thermal, and electrical. 
     Electrochemical Detection of Neurotransmitters. In embodiments, CNTs may be used in yarn macrostructures (which are several parallel CNTs) to detect neurotransmitters in vivo. Disk-shaped CNT yarns may detect electro-active transmitters, as shown in  FIG. 16 , which is a fast-scan cyclic voltammetry diagram of CNT yarn disk shaped (CNTy-D) microelectrodes and conventional microelectrodes detecting different neurotransmitter species. The method employed, fast-scan cyclic voltammetry (FSCV), is a technique by which changes in the extracellular concentration of electroactive molecules may be monitored when the electrode is ramped up to a certain threshold over time, and then it is ramped down to return to the initial potential. 
     Different surface structures (chirality) of the CNTs may result in different CV (Cyclic Voltage) responses towards each neurotransmitter species. The sensitivity of the CNT yarn microelectrodes may also be enhanced by different modification approaches: laser treatment may increase sensitivity towards dopamine, O 2  plasma etching may increase sensitivity towards dopamine, and anti-static gun treatment may increase surface area by increasing the roughness. 
     Fluorescent Carbon Nanotubes. The different geometries of the carbon atom network making up a CNT may determine different electronic properties. The different electronic properties may be correlated with different optical properties because their electronic band-gap between valence and conduction band may make the single walled CNTs fluorescent in the near infrared (NIR, 900-1600 nm). This property may enable the CNTs to be used for optical multiplexing because every chiral configuration could be used as a single color. An example of how carbon nanotube color changes with chiral index is shown in  FIG. 17 . The colors of the CNTs arise due to the absorption of light in the visible range. In this example, a sample with separated SWCNT of different chiralities and corresponding absorption and fluorescence spectra are shown, labelled with the main (n,m) chiral index component. Further, single walled CNTs used as optical sensors may exhibit a near Infrared emission range that coincides with the tissue transparency window. 
     The unique composition of the polymeric functionals used with single walled CNTs may enable them for the selective detection of neurotransmitters with high spatial resolution. For example, a fluorescent nanosensor array based on single-walled CNTs may be used for sensing dopamine from PC12 neuroprogenitor cells at high temporal (100 ms) and spatial (20.000 sensors per cell) resolution. 
     CNT arrays as a solution for spatially distributed current release. Techniques have been developed to map electrical microcircuits in the brain at far more detail than existing techniques, which are limited to tiny sections of the brain (or remain confined to simpler model organisms, like zebrafish). 
     In the brain, groups of neurons that connect up in microcircuits help us process information about things we see, smell and taste. Knowing how many neurons and other types of cells make up these microcircuits would give scientists a deeper understanding of how the brain computes complex information. 
     Nanoengineered microelectrodes. Embodiments may use “nanoengineered electroporation microelectrodes” (NEMs). Electroporation is a microbiology technique that applies an electrical field to cells to increase the permeability (ease of penetration) of the cell membrane, allowing (in this case) fluorophores (fluorescent, or glowing dyes) to penetrate into the cells to label (identify parts of) the neural microcircuits (including the “inputs” and “outputs”) under a microscope. Such electrodes may be used to map out cells that make up a specific microcircuit in a part of a brain for a particular function. The electrodes may include a series of tiny pores (holes) near the end of a micropipette, produced using nano-engineering tools. The new design distributes the electrical current uniformly over a wider area (up to a radius of about 50 micrometers—the size of a typical neural microcircuit), with minimal cell damage. An example of an embodiment of a NEM can be seen in  FIG. 18 . By releasing the current through multiple openings, multiple neuron layers may be stimulated using the NEM. Multiple release points mean the current will be distributed in a wider area so that neurons will not suffer from a local current concentration (which one would create to stimulate a larger volume of tissue) 
     In embodiments, the configuration and implant position of the implant device may provide conditions for multi-point electric stimulation. With regards to reaching multiple layers of neurons, the implant device may connect to layers I to VI, due also to the length and geometrical configuration of the CNTs. With regards to the electrical potential distribution in the tissue, due to the 2000+ CNT fibers populating it, the implant device may have a greater number of stimulation points, offering a superior spatial resolution. 
     Optical Fibers. In addition to embodiments of the implant device being able to read/write electric and electrochemical signals from/to the neurons through the CNTs, embodiments of the implant device may also have the capability of optically stimulating the neurons and reading optical signals from them. The optical interaction between the brain and the implant device may take place through an array of optical fibers in a process called optogenetics. 
     Optogenetics and fiber photometry are neuro-modulation technologies in neuroscience that utilizes a combination of light and genetics to control and monitor neurons in vivo. In embodiments, optogenetics and fiber photometry may provide the capability to map the amygdala, such as for fear conditioning, to perform studies for targeting pharmacotherapies and addiction via nucleus accumbens, for expression of pyramidal neurons in PFC, and for genetic components of social behavior and drug efficacy in neuropsychiatric disorders etc. 
     Optical Stimulation. Optogenetics is a technology in which light-sensitive ion channels may be virally expressed in target neurons allowing their activity to be controlled by light. By coating optical fibers with dense, thin CNT conformal coatings, embodiments may include optical modulation units within the nucleus of the implant device that may deliver light to precise locations deep within the brain, while recording electrical activity at the same target locations. As described below, the light-activated proteins Channelrhodopsin-2 and Halorhodopsin may be used to activate and inhibit neurons in response to light of different wavelengths and we are currently developing precisely targetable fiber arrays and in vivo-optimized expression systems to enable the use of this tools in awake, behaving primates. 
     The implant device software may be synchronized with optogenetic actuators and sensors and fiber photometry devices allowing for acquisition of behavioral data during experiments by using TTL (transistor-transistor logic) and a specially developed software interface. This brings research into a new realm with the possibility of simultaneous control of biochemical events of living freely behaving animals and the collection of this data in both high-throughput and real-time. 
     In order to be able to monitor and modulate the biochemical events in behaving animals, the animals must be able to move freely without being restricted by wires and tethers. Embodiments of the implant device may provide this capability due to the fact that all data exchanges and power delivery are wireless. 
     Embodiments of the implant device may be used for experiments mapping function of the amygdala such as fear conditioning, studies for targeting pharmacotherapies and addiction via nucleus accumbens, expression of pyramidal neurons in PFC and genetic components of social behavior and drug efficacy in neuropsychiatric disorders, etc. In embodiments, examples of optogenetic/fiber photometry systems that may be used may include SEIZURESCAN®, HOMECAGESCAN®, GROUPHOUSESCAN®, FREEZESCAN®, CHAMBERSCAN®, GAITSCAN®, TREADSCAN®, RUNWAYSCAN®, TOPSCAN®, AND SOCIALSCAN®. 
     Optical Sensing of Neurotransmitters. The optical sensing of neurotransmitters may have advantages over the electrochemical sensing techniques. For example, improved Lower limit of detection (the smallest substance concentration/quantity that can be detected), often reaching a nanomolar range or less (compared, for example, to 300 nM for dopamine detection using electrochemical sensing by CNT yarn microelectrodes. The broad range of optical spectrum may allow for the interference from other chemical species to be minimized. Optical sensing may provide high spatial resolution. The release and uptake of neurotransmitters may occur in a highly localized fashion, therefore the high spatial resolution refers to that fact that the sensors are small enough to identify which neurons are involved in these chemical interactions. Optical sensing may provide improved temporal resolution. The neurotransmitter release and uptake processes occur in a millisecond time range. Optical sensors may have a sampling rate that is high enough to detect the concentration changes. 
     Neuronal Data Recording. In embodiments, the implant device may include both optical fibers and CNTs that can have multiple roles. In such embodiments, the implant device may record neuronal activity data using, for example, any of the following three methods: Electrophysiological Recording, Optical Recording and Electrochemical Recording. In embodiments, specialized implant devices may be used that feature only one type of neural interaction, hybrid implant devices may be used that feature all types of interaction. In the latter case, complex AI algorithms may be used for CNT management according to their properties. 
     The Electrophysiological Recording functionality relies on the special current carrying capacity of the CNTs. The Optical Recording may, for example, be performed in two ways. First, the implant device may use an on-board light-source to activate fluorescent cells and may use the dedicated optical fibers to record and transmit the data to the circuitry. Second, the fluorescent CNTs (polymer functionalized CNTs) may be used to optically identify the release of certain neurotransmitters. 
     The Electrochemical Recording functionality of the implant device may provide for the detection of released neurotransmitters based on analyzing the shape of the curve obtained by plotting current intensity over electric potential in fast-scan cyclic voltammetry. 
     Recording Capacities. In embodiments, the implant device may record up to 2,000 channels simultaneously. For example, such an embodiment may use the tile architecture described above (implant device Design), which includes 2 electrode/optrode boards, 10×10 tiles per board, and up to 10 recording channels per tile. 
     In embodiments, the reading and stimulation circuitry may be in the form of a readout-integrated circuit (ROIC), which may be similar to or a modification of, for example, a solid-state imaging array. The ROIC may include a large array of “pixels”, each consisting of a photodiode, and small signal amplifier. In embodiments, the photodiode may be processed as a light emitting diode, and the input to the amplifier may be provided by the CNT connection to the neuron. In this manner, neurons may be stimulated optically, and interrogated electrically. The ROIC may include CCD or CMOS photodiodes or other imaging cells, to receive optical signals, electrical receiving circuitry, to receive electrical signals, light outputting circuitry, such as LED or lasers, to output optical signals, and electrical transmitting circuitry, to transmit electrical signals. 
     Electrophysiological Recording. In electrophysiology—the oldest strategy for neural recording, an electrode is used to measure the local voltage at a recording site, which conveys information about the spiking activity of one or more nearby neurons. The number of recording sites may be smaller than the number of neurons recorded since each recording site may detect signals from multiple neurons in the area. 
     An example of an electrophysiological recording pipeline  1900  is shown in  FIG. 19 . Pipeline  1900  may include a plurality N of electrodes  1902 , such as SWCNT fibers. The SWCNT fibers may each be connected to a preamplifier  1904 , which may convert the weak electrical signal coming from the neurons into an output signal that is strong enough to be noise-tolerant and processing ready. The output signal from each preamplifier  1904  of a plurality N of preamplifiers  1904  may be input into an electrical Multiplexing Unit (MUX)  1906  having N inputs. Between the processing circuitry  1910  and MUX  1906  is a Select Line  1907 , through which processing circuitry  1910  may communicate to MUX  1906  the channel to read through at that time. In order to be able to select from N inputs, the Select Line may specify log 2 (N) bits, which means that it may contain that many connections. In an embodiment, there may be 1000 or more recording channels. In such an embodiment, it may be difficult to have a single Multiplexer that can switch among all of the inputs. Accordingly, in embodiments, the circuitry may include, for example, with two layers of multiplexers with 16 input channels each, as follows: 64 multiplexers connected to the CNTs, which feed into 4 multiplexers. In embodiments, there may be another layer of multiplexing as well. Embodiments may include any convenient arrangement of multiplexers to handle the number of recording channels. 
     From MUX  1906 , the selected signal goes into Analog to Digital Converter (ADC)  1908 , which converts the received analog value into a digital value, for example, 8, 10 or 12 bits, which is then passed along to processing circuitry  1910 . Processing circuitry  1910  may include digital processing circuitry, such as one or more microprocessors, microcontrollers, digital signal processors (DSPs), custom or semi-custom circuitry, such as application specific integrated circuits (ASICs), field programmable circuitry, such as field programmable gate arrays (FPGAs), etc., or any other digital processing circuitry. 
     In order to minimize the interference between the recording and stimulation signals, in embodiments, the CNTs that are used for electrical recording may be used only for recording. Even so, given the proximity of all the CNTs, in embodiments, the recorded signal may be cleaned of the electric stimulation signal, which is may be much stronger than the signal input from the neurons. 
     Recording Formula. For calculating the recorded electrical voltage, embodiments may use the Ground that is closest to the Recording channel, and the Reference for negative values. Without the Reference, the negative values would be clipped to 0, and by this valuable information may be lost. 
     Optical Recording. In embodiments, the implant device may also record optically using optical properties of CNTs and/or optical fibers coated with CNTs. For Optical Recording, the neurons that have been modified, for example, genetically, to have fluorescent capabilities may be illuminated to trigger the fluorescence. The fluorescence may vary based on the voltage that is going through the membrane of the neuron. So, the recorded light intensities may correspond to the voltage strength of the neurons. In embodiments, the optic fiber in the optrode may be used for both optical stimulation and recording by way of a Beam Splitter, which may be positioned close to the optrode, to convert the two-way light circuit into two one-way light circuits. 
     An example of an embodiment of an optical recording pipeline  2000  is shown in  FIG. 20 . In this example, pipeline  2000  may include a plurality N of optrodes  2002 , such as SWCNT coated optical fibers. The signal that comes from each optrode  2002  goes through a beam splitter  2004  into an Optical Modulator  2006 , which may transform it from a baseband signal to a bandpass signal, that can be processed by the Optical processor  2010 . 
     From the Optical Modulator  2006 , the optical signal may be input to Optical Multiplexing Unit  2008 , where based on the selection signal on select line  2012  from the Optical processor  2010 , one channel may be selected to be read. The Select Line between Optical Multiplexing Unit  2008  and the Optical processor  2010  may, for example, be a digital electrical signal. The Optical processor  2010  may receive the selection instructions (which channel to read) from the processing circuitry  2014  over select line  2016 . 
     The selected light signal from Optical Multiplexing Unit  2008  may be input to Optical processor  2010  through an optical connection. Optical processor  2010  may convert the light signal into a digital electrical signal, for example, 8, 10 or 12 bits, and outputs the digital signal to processing circuitry  2014 . Processing circuitry  2014  may include digital processing circuitry, such as one or more microprocessors, microcontrollers, digital signal processors (DSPs), custom or semi-custom circuitry, such as application specific integrated circuits (ASICs), field programmable circuitry, such as field programmable gate arrays (FPGAs), etc., or any other digital processing circuitry. 
     An example of an embodiment of an optical recording pipeline  2100  is shown in  FIG. 21 . In this example, pipeline  2100  may include a plurality N of optrodes  2102 , such as SWCNT coated optical fibers. The signal that comes from each optrode  2102  goes into Optical Multiplexing Unit  2104 , where based on the selection signal on select line  2112  from processing circuitry  2114 , one channel may be selected to be read. The Select Line between Optical Multiplexing Unit  2108  and the Optical processor  2110  may, for example, be a digital electrical signal. 
     The selected light signal from Optical Multiplexing Unit  2108  may be input to Photodiode  2106 , which converts it into an analog electrical signal. This analog electrical signal may be passed than through a Signal Conditioning Unit  2108 , which may perform filtering and amplification on the analog electrical signal. The processed analog electrical signal may then be input into Analog to Digital Converter (ADC)  2110 , which may convert it into a digital electrical signal, for example, 8, 10 or 12 bits, and output the digital signal to processing circuitry  2014 . Processing circuitry  2114  may include digital processing circuitry, such as one or more microprocessors, microcontrollers, digital signal processors (DSPs), custom or semi-custom circuitry, such as application specific integrated circuits (ASICs), field programmable circuitry, such as field programmable gate arrays (FPGAs), etc., or any other digital processing circuitry. 
     Electrochemical Recording. Although called Electrochemical Recording, in embodiments, this functionality may rely on the ability of embodiments to electrically stimulate the neural tissue (stimulation) and compute the current intensity (processing) by knowing the electrical resistivity. Electrochemical recording may be performed through the CNTs and may be based on the fast-scan cyclic-voltammetry (FSCV) technique to detect the neurotransmitters&#39; release and uptake. The method involves subjecting neural tissue to an electric potential linearly increasing over time up to a certain threshold. After reaching the threshold, the electric potential is linearly ramped down to the initial value. 
     An example of a conceptual diagram of the cyclically applied potential is shown in  FIG. 96 . 
     The FSCV stimulation potential may be applied through a specific command given by the processing circuitry through the stimulation pipeline described below. The current at the working electrode is plotted versus the applied voltage to give the cyclic voltammogram trace. A few examples of how these cyclic voltammogram traces look are shown in  FIG. 22 . Therefore, the released neurotransmitters may be identified based on knowing the shape of their specific cyclic voltammogram trace. 
     Hybrid Recording: Justification and Specifics. Given that the Electrophysical Recording Pipeline may be built separately from the Optical Recording Pipeline, depending on the number of CNTs assigned to each one of the two methods, embodiments may be able to simultaneously record both electrophysically and optically. By combining both methods, embodiments may record more complex and novel insights about the functionality of the brain. 
     Pipeline Summary. An example of a high-level architecture  2300  of the pipelines presented above, as well as compression and data transmission to Gateway (Communication Platform) is shown in  FIG. 23 . The sense channels pipeline architecture highlights the components used for propagating the neurons recorded voltages to the Gateway component. As shown in this example, the architecture may include a plurality of sense channels  2302 , zone selection/controller circuitry  2304 , a plurality of recording pipelines  2306 A-M, a plurality of data compression engines  2308 A-M, and Parallel-In-Serial-Out Converter (PISO)  2310 . Sense channels  2302 , for example, electrical and/or optical sense channels including CNTs, SWCNTs, optical fibers, etc., may be input to zone selection/controller circuitry  2304 . Zone selection/controller circuitry  2304  may select groups or zones of sense channels  2302  for input to recording pipelines  2306 A-M. Recording pipelines  2306 A-M may convert analog electrical and/or optical signals to digital electrical signals. Each recording pipeline  2306 A-M may handle a plurality of sense channels  2302  and may include a plurality of instances of recording pipeline circuitry. For example, each instance of recording pipeline circuitry may include signal conditioning circuitry  2312 , such amplifiers, filters, variable gain stages, etc., N to 1 analog MUX  2314 , and ADC  2316 . Each instance of recording pipeline circuitry may convert analog electrical and/or optical signals to digital electrical signals at a rate of 20 Kilo-samples per second (Ksps) per input sense channel  2302 . Assuming, for this example, 10 bits per sample, each instance of recording pipeline circuitry may generate 200 Kilobits per second (Kbps) of data. As each analog MUX may multiplex N signals, ADC  2316  may generate 200N Kbps of data. The data from each recording pipeline  2306 A-M may be input to a data compression engine  2308 A-M, which may, for example, provide 100 times compression. Thus, in this example, each 200N Kbps data channel may be compressed to a 2N Kbps data channel. The outputs from each data compression engine  2308 A-M may be input to PISO  2310 , in which the M parallel 2N Kbps data channels may be serialized to form a single serial output data channel  2318 , which may be input to processing circuitry (not shown). In this example, with 1000 sense channels  2302 , serial output data channel  2318  may handle 2 Mega-bits per second (Mbps). The maximum sample rate and data rate may depend on the particular engineering design, such as the specifications of the processing circuitry, such as processor and memory. 
     Although in this example, ADC  2316  may provide 10-bit samples, any resolution ADC may be used. For example, ADCs with resolutions of 24 bits per sample are readily available. However, ADCs having less resolution may consume less power and may take up less space. Accordingly, ADCs having resolutions from 8 bits per sample to 12 bits per sample may provide a good tradeoff between resolution and power and space consumption. Likewise, ADCs having a variable number of bits per sample may be used. For example, such an ADC may provide a variable number of bits per sample of from 8 bits per sample to 12 bits per sample. 
     The measured data for each sense channel  2302  may represent the voltage from a small region of neural tissue. In embodiments, range of sample rates may be from about 1000 samples/second to about 20,000 samples/second. In embodiments, depending upon the number of sense channels  2302 , the maximum compressed data generated throughput may be about 4 Mbps. In embodiments, data representing simultaneously recorded voltages may be grouped into data frames, where the number of recorded values encapsulated in one data frame may depend on the number of simultaneously active reading channels  2302 , and on the transfer rate capabilities to the Gateway at that time. The recording process may adapt to the specific use case and the available transfer bandwidth to the Gateway using a recording rate and channel selection module. In embodiments, the same data sequential order within a frame may be maintained and the order of recordings in the frame may follow the physical distribution of the Recording Channels on the tile matrix. In embodiments, processing circuitry, such as input/output (I/O) Control circuitry and/or software may control and configure PISO  2318  and MUX  2314  capabilities. 
     Neural Activity Modulation. In embodiments, neural tissue may be stimulated using one or more of several techniques, such as Optical Stimulation (Optogenetics), Electrophysiological Stimulation, and Electrochemical Stimulation. 
     Optical Stimulation. Optogenetics is a method for brain stimulation/modulation by inducing well-defined neuronal events at a millisecond-time resolution, enabling optical control of the neural activity. The method may utilize physiological processes such as Channelrhodopsin-2 (ChR2): a light-sensitive ion channel, Halorhodopsin (NpHR): an optically activated chloride pump, and Archaerhodopsin (Arch): a proton pump. ChR2 and NpHR may be genetically expressed in neurons using a viral approach. Conventionally these viruses are injected in the neural tissue, but in embodiments, the virus vector may be carried on the tips of the CNTs. Due to their small dimensions, these viruses do not interfere with the reading and stimulation processes. 
     There are several types of Channelrhodopsins, each one responding to a particular wavelength. Some Channelrhodopsins stimulate neuronal activity (ChR2), while others inhibit it (NpHR). Therefore, the optical sensitivity of these proteins enables both the increasing/activation and decreasing/silencing of the voltage inside neurons, by targeted laser beams of blue and yellow light, respectively. The technique is deemed as safe, precise, and reversible. 
     Optogenetics may be used as a side-effect-free method for alleviating symptoms of neurological diseases which occur through either neuronal overexcitability, such as epilepsy, or underactivity, such as schizophrenia. One practical advantage is that optogenetics may have minimal instrumental interference with simultaneous electrophysiological techniques. 
     Examples of spike trains of ChR2 and NpHR expressing neurons when subjected to light beams of different wavelengths are shown in  FIG. 24 .  FIG. 24 , Ai shows an example of neuron expressing channelrhodopsin-2 fused to mCherry.  FIG. 24 , Aii shows an example of neuron expressing halorhodopsin fused to GFP.  FIG. 24 , Aiii shows an example of an overlay of Ai and Aii. 
     Optogenetics enable the optical control of individual neurons, but even neurons with no genetic modification have light sensitivity, such as in a circuit mediated by neuropsin (OPN5), a bistable photopigment, and driven by mitochondrial free radical production. This bistable circuit is a self-regulating cycle of photon-mediated events in the neocortex involving sequential interactions among 3 mitochondrial sources of endogenously-generated photons during periods of increased neural spiking activity: (a) near-UV photons (˜380 nm), a free radical reaction byproduct; (b) blue photons (˜470 nm) emitted by NAD(P)H upon absorption of near-UV photons; and (c) green photons (˜530 nm) generated by NAD(P)H oxidases, upon NAD(P)H-generated blue photon absorption. The bistable nature of this nanoscale quantum process provides evidence for an on/off (UNARY +/−) coding system existing at the most fundamental level of brain operation and provides a solid neurophysiological basis for the FCU. This phenomenon also provides an explanation for how the brain is able to process so much information with slower circuits and so little energy—quantum tunneling. Computers built from such material would be orders of magnitude faster than anything developed to date. The atomic scale of CNTs could potentially enable interfacing with this naturally optosensitive layer of the brain in the future, a system many orders of magnitude smaller than the neuron. 
       FIG. 25  illustrates an example of Poisson trains of spikes elicited by pulses of blue light (dashes), in two different neurons. 
       FIG. 26  illustrates an example of a light-driven spike blockade, demonstrated for (TOP) a representative hippocampal neuron, (BOTTOM) a population of 7 neurons. This example illustrates I-injection, neuronal firing induced by pulsed somatic current injection (300 pA, 4 ms). 
     This example illustrates light, hyperpolarization induced by periods of yellow light (bars). This example illustrates I-injection+Light, yellow light drives Halo to block neuron spiking, leaving spikes elicited during periods of darkness intact. 
       FIG. 27  illustrates an example of (TOP) an action spectrum for ChR2 overlaid with absorption spectrum for  N. pharaonis  halorhodopsin and (BOTTOM) Hyperpolarization and depolarization events induced in a representative neuron by a Poisson train of alternating pulses (10 ms) of yellow and blue light. 
       FIG. 28  illustrates examples of the correlation between wavelengths (nm) and normalized cumulative charge for a number of different Channelrhodopsins expressing neurons. From all the Channelrhodopsins discovered types, Chrimson red light stimulation is the most suited because in its case, the light intensity is proportional to how deep it travels in the brain. 
     In embodiments, the circuitry may be in the form of a readout-integrated circuit (ROIC), which may be similar to or a modification of, for example, a solid-state imaging array. The ROIC may include a large array of “pixels”, each consisting of a photodiode, and small signal amplifier. In embodiments, the photodiode may be processed as a light emitting diode, and the input to the amplifier may be provided by the CNT connection to the neuron. In this manner, neurons may be stimulated optically, and interrogated electrically. The ROIC may include CCD or CMOS photodiodes or other imaging cells, to receive optical signals, electrical receiving circuitry, to receive electrical signals, light outputting circuitry, such as LED or lasers, to output optical signals, and electrical transmitting circuitry, to transmit electrical signals. 
     An example of an embodiment of an optical stimulation pipeline  2900  is shown in  FIG. 29 . In this example, pipeline  2900  may include processing circuitry  2902 . Processing circuitry  2902  may include digital processing circuitry, such as one or more microprocessors, microcontrollers, digital signal processors (DSPs), custom or semi-custom circuitry, such as application specific integrated circuits (ASICs), field programmable circuitry, such as field programmable gate arrays (FPGAs), etc., or any other digital processing circuitry. 
     Processing circuitry  2902  may encode stimulation commands for modulation of optical signal. For example, such commands may be 5 bits, for up to 32 different modulation commands. Processing circuitry  2902  may send one of the 32 possible commands and the data identifying the channel to be stimulated. Each command may be mapped into a wavelength and a light intensity, which may be encoded digitally and sent to optical processor  2904  on its digital in/out port, together with the channel on which the light may be transmitted. 
     Optical processor  2904  may transform the input digital electrical signal into an optical signal of the appropriate wavelength and intensity. Optical processor  2904  may then transmit the light signal to Optical Demultiplexing Unit (DEMUX)  2906 , along with the desired channel on the Select Line  2914 . 
     Optical Demultiplexing Unit  2906  may forward the light signal on the appropriate channel. Each light signal may pass through a Delay Line  2908  and then through an Optical Modulator  2910 , which may adjust and amplify the signal to its appropriate values. The light signal then be transmitted through optrodes  2912 , through the fibers, to the neurons. 
     An example of an embodiment of an optical stimulation pipeline  3000  is shown in  FIG. 30 . In this example, pipeline  3000  may include processing circuitry  3002 . Processing circuitry  3002  may include digital processing circuitry, such as one or more microprocessors, microcontrollers, digital signal processors (DSPs), custom or semi-custom circuitry, such as application specific integrated circuits (ASICs), field programmable circuitry, such as field programmable gate arrays (FPGAs), etc., or any other digital processing circuitry. 
     Processing circuitry  3002  may encode stimulation commands for modulation of optical signal. For example, such commands may be 5 bits, for up to 32 different modulation commands. Processing circuitry  3002  may send one of the 32 possible commands and the data identifying the channel to be stimulated. Each command may be mapped into a wavelength and a light intensity, which may be encoded digitally and sent to DAC  3004 , in which the digital electrical signal may be converted to an analog electrical signal. 
     The analog electrical signal may be amplified by a Signal Conditioning Unit  3006 , to increase its amplitude to useful levels. From Signal Conditioning Unit  3006 , the analog electrical signal may be input to an electrical Demultiplexing Unit (DEMUX)  3008 . Based on the signal that comes from the processing circuitry  3002  on Select Line  3020 , DEMUX  3008  may transmit the analog electrical signal on an appropriate channel to the LED  3010  that generates an optical signal of the required wavelength. LED  3010  may generate an optical signal, which may be transmitted through a Delay Line  3012 , to an Optical Modulator  3014 . From the Optical Modulator  3014 , the optical signal may travel through an Optical Demultiplexing Unit, which, based on the received signal on select line  3022  from processing circuitry  3002 , may forward the light beam to the correct optrode  3018 . 
     In this exemplary embodiment, there are two demultiplexing units: an electric one  3008 , which leads to the LED of the right wavelength, and an optical one  3016  which sends the light down the correct channel. Accordingly, embodiments may have as many light sources as wavelengths to be generated. 
     Electrophysiological Stimulation. Alzheimer&#39;s disease produces irreversible degradation to the brain to the point where there are not many treatment options. There are only a few medications available, which unfortunately cannot stop the symptoms from getting progressively worse or even fatal. 
     However, one potential treatment for diseases such as Alzheimer&#39;s may be deep brain stimulation. Deep brain stimulation works by continuously tickling neurons in the frontal lobe of the brain with electrodes. Patients who have these electrodes implanted may maintain more of their mental faculties than a group of control patients, who started out at similar stages of the disease. 
     Electrophysiology is a tool for deep brain stimulation in which electrical current is applied via electrodes implanted on/in the brain parenchyma. While optical stimulation is able to target specific neurons very precisely, electrical stimulation implies current dissipation in the surrounding area. 
     Electrophysiological Stimulation may be used for neuron stimulation by applying electrical current via CNTs that are connected to nanoelectrodes and are implanted directly in the brain parenchyma. 
     An example of an embodiment of an optical stimulation pipeline  3100  is shown in  FIG. 31 . In this example, pipeline  3100  may include processing circuitry  3102 . Processing circuitry  3102  may include digital processing circuitry, such as one or more microprocessors, microcontrollers, digital signal processors (DSPs), custom or semi-custom circuitry, such as application specific integrated circuits (ASICs), field programmable circuitry, such as field programmable gate arrays (FPGAs), etc., or any other digital processing circuitry. 
     Processing circuitry  3102  may encode stimulation commands for the output signal. For example, such commands may be 5 bits, for up to 32 different modulation commands. Processing circuitry  3102  may send one of the 32 possible commands and the data identifying the channel to be stimulated. Each command may be mapped into a stimulation voltage, which may then be sent out from processing circuitry  3102  to Digital to Analog Converter (DAC)  3104 , which converts the digital electrical signal to an analog electrical signal. The analog electrical signal may be amplified by Signal Conditioning Unit  3106 , to provide the proper amplitude signal. From Signal Conditioning Unit  3106 , the signal may be input into an electrical Demultiplexing Unit (DEMUX)  3108 . Based on the signal that comes from processing circuitry  3102  on Select Line  3112 , the DEMUX  3108  may transmit the stimulation signal to the corresponding CNTs  3110 , which will stimulate the neurons in their vicinity. 
     Pipeline Summary. An example of a high-level architecture  3200  of the stimulation pipelines described above is shown in  FIG. 32 . In embodiments, electrical stimulation CNTs may be mixed with optical stimulation and recording CNTs, as there may be little interference between them. As shown in this example, the architecture may include a Serial-In-Parallel-Out converter (SIPO)  3202 , a plurality of stimulation pipelines  3204 A-M, and zone selection/controller circuitry  3206 . 
     Processing circuitry (not shown) may transmit a serial stream of digital electrical stimulation signals to SIPO  3202 . The processing circuitry may translate stimulation commands into a stimulation operation having a particular stimulation signal. SIPO  3202  converts the serial stream to a plurality of parallel digital electrical signals, which may be transmitted to one or more stimulation pipelines  2306 A-M. Each stimulation pipeline  2306 A-M may convert its input digital electrical signals to electrical or optical neuro stimulation signals  3208 , as described above. Neuro stimulation signals  3208  may then be transmitted to zone selection/controller circuitry  3206 , which may route each neuro stimulation signal  3208  to an appropriate electrical stimulation electrode or optical stimulation optrode. 
     Embodiments may contain two units with 100 tiles each. Each tile may contain four selectable stimulation channels which may be controlled independently. In embodiments, up to 400 channels may be used for stimulation at any time. In embodiments, command values may be arranged in a matrix format that corresponds to the physical representation of the stimulation channels. In embodiments, each stimulation command may include the channel reference which represents the address of the optrode that will be used for stimulation. In embodiments, each stimulation command may include the commands array which represents the stimulation values. In embodiments, the commands array may contain the type of stimulation and the stimulation pattern (potential/intensity, timing). In embodiments, the intensity of the light beam may depend upon how far the neuron is in the tissue (and therefore how strong the light source should be in order to reach it). In embodiments, each stimulation command may depend on its specific goal, which will dictate whether the task is to increase or decrease voltage inside the targeted neuron(s). In embodiments, the optical stimulation commands shall specify the features of the stimulation pattern (light wavelength, light intensity, frequency, and duration). In embodiments, the electrical stimulation commands may specify the discrete voltage values to be applied through the stimulation channels at each time step. In embodiments, the command values may be arranged in a matrix format (10×10 commands for tile) that corresponds to the physical representation of the stimulation channels. In embodiments, a DAC may convert the digital signal into an analog signal. In embodiments, a stimulation light may have wavelengths between 400-650 nm. In embodiments, each stimulation command may be encoded as 5 bits, resulting in a total of 32 different possible stimulation commands. 
     Architecture Overview. An exemplary block diagram of an embodiment of an implant device  3300  is shown in  FIG. 33 . In this example, implant device  3300  may include neuronal recording circuitry  3302 , neuronal modulation or stimulation circuitry  3304 , control module/processing circuitry  3306 , compression module  3308 , closed loop control module  3310 , gateway communication module  3312 , temperature and power management module  3314 , and status and configuration module  3316 . In this example, implant device  3300  may further be electrically, optically, and/or communicatively connected to neural tissue neurons  3318  and gateway  3320 . It is to be noted that the circuitry shown in  FIG. 33  may also include, or be associated with, software to cause the circuitry to perform the desired functions. 
     Neuronal recording circuitry  3302  may include circuitry, such as that described above, for recording electrical and/or optical signals from neurons  3318 . Neuronal modulation or stimulation circuitry  3304  may include circuitry, such as that described above, for generating and transmitting electrical and/or optical stimulation signals to neurons  3318 . Control module/processing circuitry  3306  may include circuitry, such as that described above, for receiving data from neuronal recording circuitry  3302  representing recorded electrical and/or optical signals from neurons  3318  and for generating and transmitting command data neuronal modulation or stimulation circuitry  3304  to generate and transmit electrical and/or optical stimulation signals to neurons  3318 . Compression module  3308  may include circuitry for receiving recorded data from control module/processing circuitry  3306  and compressing the recorded data. Closed loop control module  3310  may include circuitry for receiving neural recording data and updating stimulation command data based on the received neural recording data to achieve closed-loop control of the stimulation process. Gateway communication module  3312  may include circuitry for communicating data to and from gateway  3320 . Temperature and power management module  3314  may include circuitry for monitoring and controlling implant device temperature, power consumption, battery charging and discharging, etc. Status and configuration module  3316  may include circuitry for monitoring implant device status and for managing the configuration of the implant device. 
     Software Architecture. 
     Neuronal Recording Interface. Control module/processing circuitry  3306  may make reading requests to the neuronal recording circuitry  3302  specifying the desired sampling rate and the target CNTs. An example of pseudocode for data recording is shown in  FIG. 34 . 
     Neuronal Modulation Interface. Control module/processing circuitry  3306  may make neuron modulation requests to the Neuronal modulation or stimulation circuitry  3304 . An example of pseudocode for stimulation requests is shown in  FIG. 35 . 
     Control Module/Processing Circuitry Input/Output (I/O) Interactions. 
     Stimulation Scheduler. In embodiments, there are options regarding what circuitry will be responsible for keeping track of the stimulation command duration. In an embodiment, closed loop control module  3310  may be responsible for keeping track of time. In this case, closed loop control module  3310  may send a stimulation command to control module/processing circuitry  3306 , which may apply that stimulation recipe until otherwise instructed. An advantage of this approach is that control module/processing circuitry  3306  does not have to feature a function for stimulation time management. However, control module/processing circuitry  3306  still may have to deal with timing issues for recording (the sampling rate). 
     In an embodiment, the time management function may be implemented in control module/processing circuitry  3306 . In this case, closed loop control module  3310  may send a stimulation command to control module/processing circuitry  3306 , along with a time period value. Control module/processing circuitry  3306  may apply that stimulation recipe for the specified duration. When the specified stimulation time ends, the stimulation on that channel may stop and the control module/processing circuitry  3306  may waits for further instructions. If a new command is received while the previous one is active, the previous one may be overwritten. The advantage of this approach is that closed loop control module  3310  is entirely free from managing time and can focus on I/O management. 
     In embodiments, modules may modify the list of active channels for recording, such as closed loop control module  3310  and gateway communication module  3312 . Gateway communication module  3312  may modify the list of active channels for recording in order to read a different set of channels than the ones that are in use by closed loop control module  3310 . 
     Throttling Side-channel. Control module/processing circuitry  3306  may also communicate with temperature and power management module (TPMM)  3314 . In embodiments, when TPMM  3314  detects that the temperature of the implant device is rising, approaching the thermal safety limits, it may send a SLOW signal to control module/processing circuitry  3306  to start throttling the I/O activity. When receiving the SLOW signal, control module/processing circuitry  3306  may decrease the recording sampling rate and communicate to closed loop control module  3310  to reduce the rate of stimulation commands. If the temperature exceeds the thermal safety threshold, TPMM  3314  may send a STOP signal (by flipping another bit) to control module/processing circuitry  3306 , which may then cease all recording and stimulation activities. 
     TPMM  3314  may also monitor the battery level of the implant device. If the battery level falls below a threshold B 1 , TPMM  3314  may send a SLOW signal to control module/processing circuitry  3306  to start throttling the I/O activity. If the battery level falls below a lower threshold B 2 , TPMM  3314  may send a STOP signal to control module/processing circuitry  3306  in order to preserve battery life. 
     In embodiments, this side channel may be focused only on activity and process control, therefore no neural data may be sent or received on it. 
     Data Flow. In embodiments, an efficient data flow between the modules may be implemented, which will take into account the constraints in terms of memory and processing resources. 
     For example, in embodiments, control module/processing circuitry  3306  may place the recorded data in a memory buffer (an array) from which data will be shared with the other modules, according to the protocol described above. Closed loop control module  3310  may store the stimulation commands in a memory buffer (an array) from which the commands may be used by the control module/processing circuitry  3306  for stimulation. 
     TPMM  3314  may send signals to control module/processing circuitry  3306  by flipping a corresponding bit in memory. This bit may also be shared with closed loop control module  3310  and may trigger the slowing down of the stimulation activities. 
     Closed-Loop Control (Command &amp; Recording). In embodiments, brain stimulation may be more effective when it is applied in response to specific brain states, via Closed Loop Monitoring, as opposed to continuous, open loop stimulation. An example of a conceptual sketch of a closed loop control system  3600  is shown in  FIG. 36 . In this example, a target signal  3602 , which may indicate a desired output  3610  from system  3600 , may be input to system  3600 . An error circuit  3604  may determine a difference (error signal) between target signal  3602  and a measurement  3612  of output  3610 . The error signal may be input to a controller  3606 , which may generate a control input signal  3608  to control system  3609  to generated the desired output  3610  indicated by target signal  3602 . Output  3610  may be measured  3612  and feedback to error circuit  3604 . In overall operation, closed loop control system  3600  may continuously adjust its operation so that the actual desired output  3610  corresponds to the desired output indicated by target signal  3602 . 
     Closed-loop, activity-guided control of neural circuit dynamics using optical and electrical stimulation, while simultaneously factoring in observed dynamics in a principled way may be a powerful strategy for causal investigation of neural circuitry. In particular, observing and feeding back the effects of circuit interventions on physiologically relevant timescales may be valuable for directly testing whether inferred models of dynamics, connectivity, or causation are as accurate in vivo testing. 
     In embodiments, Neuronal Response Latency (NRL) may measure a time-lag between the extracellular stimulation and the intracellularly recorded evoked spike. The NRL of the same neuron may vary among extracellular stimulating electrodes depending on their position; however, for a given stimulating electrode it may be reproducible qualitatively (for low stimulation frequencies). For example, the NRL may range between about 1-15 ms. 
     In embodiments, spike-detecting, closed-loop Single Input Multiple Output (SIMO) control may use template matching to do online spike detection on 32-channel tetrode recordings (system outputs) and may use detected spikes to control optogenetic stimulation through a single fiber optic (system input) at ˜8 ms closed-loop latency in awake rats. Further, simulated closed-loop control in an all-electrical Multiple Input Multiple Output (MIMO) systems for Electrical Deep Brain Stimulation (EDBS) may raise key points directly relevant to closed-loop optogenetics for MIMO systems, showing that a properly designed MIMO feedback controller may control a subset of simulated neurons to follow a prescribed spatiotemporal firing pattern despite the presence of unobserved disturbances. Such disturbances may be typical in neural systems of interest, as most of the brain will remain unobserved. Further, a simplified linear-nonlinear model may be quite effective in controlling firing rates, despite strong simplifying assumptions (this is important for systems where speed dictates hard computational constraints). In addition to the practical goal of safer, more effective deep-brain stimulation, the resulting spatiotemporal patterns identified may themselves be of intrinsic value in providing new insights into how neural circuits process information. 
     Additional theoretical work may involve optimal control theory to design control inputs that evoke desired spike patterns with minimum-power stimuli in single neurons and ensembles of neurons using electrical current injection. Robust computational models may use similar methods for optimal control of simple models of spiking neural networks and for individually controlling coupled oscillators using multilinear feedback. Given that converging evidence suggests that abnormalities in synchronized oscillatory activity of neurons may have a role in the pathophysiology of some psychiatric disease and considering their established role in epilepsy, it may be fruitful to continue considering oscillations themselves as a direct target of closed-loop optogenetic control alongside control of spiking neurons. 
     As described above, in closed-loop optogenetics, the control input  3608  may be a structured, time-varying light stimulus that is automatically modulated based on the difference between desired and measured outputs. Measured outputs may include behavioral, electrophysiological, or optical readouts of activity generated by the subject. 
     In embodiments, optrodes-MEA are may be used as a hybrid approach for optical neuron stimulation and electrophysiological neuron recording. Embodiments may use optical fibers ‘coated’ with CNTs in order to support this hybrid approach, being able to record and stimulate both optically and electrically. 
     The advantage of optical over electrical interaction with the neurons is that, while electrical stimulation implies current dissipation in the surrounding area, optical stimulation is able to target specific neurons with greater precision, and it incurs minimal interference with simultaneous electrophysiological recording techniques. 
     Control Techniques. Depending on the specific neural modulation task associated to the disease that is being treated, embodiments may use different closed loop control packages, which may be uploaded to the implant device. These may be implemented in the control module/processing circuitry. 
     In embodiments, different types of control techniques may be used for closed loop control. For example, such techniques may include simple on/off control, Proportional Integral Derivative (PID) control, Model Predictive Control (MPC), robust control, adaptive control, and optimal control. Each of these techniques may have different tradeoffs, for example, between obtaining more accurate results and being more computationally costly. The control technique may be chosen based on both the available hardware resources and on the task at hand. In embodiments, the closed loop controller module may use a simple on/off technique, or any other closed-loop control technique. 
     The control technique may rely on machine learning models trained both offline and online. For example, offline, gathered data may be processed in the Cloud with the purpose of deriving new insights for treatment and encapsulated in new models. This task may be advantageously performed remotely from the implant device due to the greater processing power and memory resources that may be available remotely, such as in the Cloud. 
     Online, the models obtained in the Cloud may be used on the implant for neuron modulation. In this way, computationally costly but necessary processing may be run offline, yielding new models appropriate for fast online conditional stimulation of the neural activity. In addition to the implant device applying the models computed in the Cloud, it may also be able to run simpler machine learning techniques on a dedicated hardware component. However, in embodiments, the models computed offline may have priority over those computed online due to the Cloud&#39;s ability to process larger amounts of data and use more advanced machine learning techniques. 
     In embodiments, models used by the control algorithm may be personalized for each individual user employing transfer learning. A general model may be trained on a large amount of data gathered from a large number of patients and may then be refined by training on data recorded from each individual patient. In this way, each patient may have their own personalized model, with the same generic architecture, but unique weights. Hence, transfer learning may be used to enable use of large amounts of general collected data for the benefit of individual patients and model personalization may be an appropriate approach due to the fact that neural activity has features that are specific to each patient depending on several factors (e.g. age, health condition, etc.) 
     Closed Loop Module. In embodiments, the closed-loop controller module may have a well-defined interface, common to all the controller modules, which may be used to read data and to send commands. In embodiments, the closed-loop controller module may have a simple on/off algorithm, for example, sketched in pseudocode shown in  FIG. 37 . For example, in the memory improvement task, the calculate_next_state function may run a logistic regression model to predict whether the currently heard word will be remembered, while the calculate_duration function would return a constant duration of X ms. 
     An example of a PID algorithm is shown in pseudocode  FIG. 38 . In this example, The KP, KI, KD and bias are constants that may be tuned for every implant. 
     Closed Loop Control Conditions. In embodiments, decisions to stimulate taken by the implant device may be sent to the Gateway/Cloud for further processing and fine-tuning of the online model. Due to time constraints (for example, &lt;8 ms latency may be required), the decision to stimulate may be taken internally by the implant device. Using machine learning techniques, the implant device may also compute the optimal optic or electric response that minimizes the difference between current and ideal neural activity. The closed loop control module may monitor voltage levels inside neurons through electrical and optical recording. 
     In embodiments, the closed loop control module may output the appropriate stimulation pattern in less than 8 ms from when the neuronal measurement was taken. The implant device may allow the Gateway to replace or update the closed feedback loop technique (controller) according to what best fits the task at hand. The task-specific technique may be used to process the recorded data to determine the appropriate stimulation pattern. The closed loop control module may output (to the Stimulation Module) the appropriate stimulation pattern encoded in one of, for example, 32 control commands. All the controller modules may take into account the safety thresholds described below. 
     Control Module/Processing Circuitry. The raw data as it comes from the CNTs may not be interpreted directly. It may be preprocessed and filtered for noise removal. Before it can be sent to the Cloud, it also may be compressed. Also, for processing with the Closed Loop Control Module, first the state of the neurons (spiking or not) may be identified. 
     Data Types. 
     Neuronal Recording. In embodiments, the measured data may be stored in 10-bit variables for both electrical and optical reading. The electrical recording may represent a potential measurement with values between, for example, about −100 mV and 100 mV. These values may be normalized to a floating-point value between [0, 1]. 
     In the case of optical reading, light intensity emitted by the fluorescent substance may be measured. This reading may be correlated linearly with the voltage going through the neuron&#39;s membrane and may be represented as between, for example, about −100 mV and 100 mV. These values may also be normalized to a floating-point value between [0, 1]. 
     Neuron Stimulation. In embodiments, stimulation commands may be encoded with 5-bit data. As a result, the implant device may be able to trigger a total of 32 different stimulation patterns. For example, the first bit may specify the type of stimulation (electrical or optical), and the last 4 bits may describe the actual patterns, resulting in 16 combinations for each type of stimulation. In the case of electrical stimulation, the patterns may vary in terms of applied electrical potential and timing. In the case of optical stimulation, the patterns may vary in terms of light wavelength, intensity, and timing. 
     Data Buffering. The compression module may process blocks of recorded data, hence, in embodiments, the recorded values may be buffered until an entire block is filled. The required size of the input buffer may be at least 100*10=1000 bits=125 bytes. 
     In embodiments, for the output, a second buffer may account for any potential problems in data transfer to the Gateway, such as packet loss over the Wi-Fi signal or unexpected transfer rate changes. Using a buffer for the output channel may also make the transfer process more robust, as sending data may be more efficient if data is first gathered in a data frame before being transferred to the recipient. In embodiments, the minimum required buffer size may be determined by the size of the largest Wi-Fi frame, for example, 2304 bytes. 
     Spike Sorting. An exemplary data flow block diagram of a spike sorting technique  3900  is shown in  FIG. 39 . As shown in this example, when data arrives in a data buffer  3902 , spike detection  3904  may be performed, using, for example, an adaptive threshold  3906  to recognize spiking events, template memory  3908  to identify neurons, and correlation detector  3910  to identify overlapping spikes. 
     The obtained spiking data may then be compressed  3912  so that it can be buffered  3914  and sent. In the spiking compression process predictive filters  3916  may be used to correct for potential erroneous measurements and Run Length Encoding  3918  and Huffman Coding  3920  may be used to compress the data encoded in zeroes (for when neurons are not spiking) and ones (when neurons are spiking). 
     In embodiments, the electrical potential data recorded from the CNTs may contain signals from multiple nearby neurons. Many neurons, however, have a distinctive spiking pattern, which enables their identification from these recordings. The neurons that are the closest (up to, for example, about 100 microns) to the CNT tip may be identified individually, while for neurons that are between, for example, about 100 and 150 microns, their spikes may be detected, but the background noise may be too strong for individual identification. 
     Noise Filtering. In embodiments, the first step in processing the data may be to apply a filter in order to remove noise. A band pass filter between 300 and 3000 Hz may be employed for electrical signals recorded from neurons. 
     Spike Detection. In embodiments, a spike may be detected when the electric field potential exceeds a given threshold. Because different neurons have different thresholds, the threshold value may be set through an adaptive method. For example, 
     
       
         
           
             Thr 
             = 
             
               5 
                
               
                   
               
                
               
                 σ 
                 n 
               
             
           
         
       
       
         
           
             
               σ 
               n 
             
             = 
             
               median 
                
               
                 { 
                 
                   
                      
                     x 
                      
                   
                   0.6745 
                 
                 } 
               
             
           
         
       
     
     Where x is the bandpass filtered signal and σ n  is an estimate of the standard deviation of the background noise. 
     Feature Extraction. In embodiments, using wavelets to extract features from the raw waveforms may result in a better separation of the clusters for the templates. The wavelet coefficients may be selected so that they have a multimodal distribution, to be able to distinguish different spike shapes. This may be performed using, for example, a Kolmogorov-Smirnov test for Normality. 
     Clustering. In embodiments, in order associate the spikes to the neurons that produced them, clustering may be performed on the resulting data. For example, the Super-Paramagnetic Clustering (SPC) method may be used. SPC is a stochastic method that does not assume any particular distribution of the data and groups the spikes into clusters as a function of a single parameter, the temperature. In analogy with statistical mechanics, for low temperatures all the data may be grouped into a single cluster and for high temperatures the data may be split into many clusters with few members each. There is, however, a middle range of temperatures corresponding to the super-paramagnetic regime where the data may be split into relatively large size clusters, each one corresponding to an individual neuron that is recorded. 
     An example of pseudocode for performing an SPC method is shown in  FIGS. 40 a   - b.    
     In embodiments, the clustering process describe above may be performed offline, for example, in the Cloud, and only the resulting neuron templates may be communicated to the implant, which may use them to detect new spikes in real time. 
     Potential challenges are represented by overlapping spikes, which happen when two close-by neurons fire at the same time. In this case, the two spikes might not be cleanly separable and a different method may be to solve this problem, such as looking for linear superpositions of other spike shapes. An example of pseudocode for such a Spike Sorting technique is shown in  FIG. 41 . 
     Data Compression. In embodiments, the implant device may generate up to 400 Mb/s of uncompressed data, which may exceed the bandwidth capabilities of low powered wireless transmission methods. Accordingly, in embodiments, the data may be compressed. Two major types of compression techniques may include lossy compression and lossless compression. The advantage of the lossless compression is that the raw data may be exactly reconstructed in the Cloud, but the compression ratio (around 2-3× at most) may not be as large as the one available with the lossy methods. With lossy compression, the original data cannot be reconstructed exactly. There is a tradeoff to be made between how much data is lost and how strong the compression is. Embodiments may use lossy compression, lossless compression, and/or a combination of the two techniques. 
     Optical and Electrochemical Data. In embodiments, Discrete Wavelet Transforms (DWT) with run-length encoding may be used to compress data in a lossy manner. In embodiments, using compression sensing with unsupervised dictionary learning may result in compression rates between 8× to 16×, with a signal to noise distortion ratio (SNDR) between 3.60 dB and 9.78 dB. 
     Electrical Recording Data. In embodiments, the methods described above may be used when the goal is to preserve the waveforms of the spikes. For a higher compression ratio, but at the cost of losing raw waveform information, embodiments may use spike detection and/or spike sorting. Examples of hardware implementations of spike detection may be as simple as a comparator with a pre-defined threshold. In this way, a compression ratio higher than 100× may be achieved with little power consumption. 
     In embodiments, bit encoding techniques may be applied to detected spikes. The activity wave may be segmented in X regions and then bit encoding may be used for each region. For example, if the activity range is split into 16 regions, the values may be encoded in just 4 bits instead of 10 bits. Then, the recording of each channel may be encoded in a fixed position in a block array. Each recording channel value (4 bits) may be a part of a time block container. 
     An example of bit encoding techniques for the case of 1 bit per channel is shown in  FIG. 42 . In embodiments, this technique may be extrapolated to, for example, 4 bits per reading channel. An example of a Python implementation of bit encoding techniques is shown in  FIGS. 43 a    and  43   b.    
     Example. For a better understanding, the following example is presented. In this example, there may be 1000 reading channels. In each channel, the recorded values may be encoded as 4 bits, with a sample rate of 10,000 samples per second. For sending data blocks, each taking 10 ms to transmit, a matrix may be generated wherein the bytes for each row is 1000 channels×4 bits/channel=4000 bits/8=500 bytes. The number of rows is 10 ms×20.000 sps/1000 channels=200 Rows. Thus, in total, the Header Information—containing the timestamp for time TO may include a Header Marker of 2 bytes, the Timestamp for TO of 4 bytes, and a Data Size of 200 Rows X 500 bytes=100,000 bytes. 
     In this specific example, 100,006 bytes, which include 1000 channels recorded at an interval of 10 ms, may be transmitted. If a compression of 100× is achieved, a data buffer of only 1 KB may be needed for each 10 ms span representing the recorded data from 1000 channels. 
     Running Modes. In embodiments, the Spike Sorting and Data Compression Modules may learn from recorded data in the first stage. Therefore, in embodiments, after being implanted, the implant device may run in a training mode for a period of time, at the end of which it may switch to an operating mode. If, in operation, the implant device configuration produces greater than some predefined level of errors, when evaluated by an evaluation model, than the implant device may switch back to training mode for re-configuration. The evaluation model may be configured depending on the specific task of the implant device. Such could be the case, for example when the implant device drifts, making the recorded data no longer match with the previously learned neuron spiking patterns. 
     For example, an evaluation metric that may be used to switch back to training mode may include determining if the number of spikes per minute, averaged over N hours or during a known supervised exercise, drops below X % of the initially recorded number of spikes per minute. If so, then the implant device may switch back to training mode to learn new dictionaries and new spike templates. 
     In embodiments, during the training phase, the implant device may collect the raw waveforms and send them to the Cloud for acquisition of the dictionaries for the data compression (if lossy compression is used) and for generation of the spike templates that may be used for the spike sorting process. Most of the lossy compression methods work by building a list of the most often repeated parts of the data, which may be stored in a dictionary. Then, the whole data may be scanned for parts that are very close to the entries of the dictionary and they may be replaced by a pointer to them. In this way, several bytes may be replaced with just a pointer into the dictionary. In embodiments, Cloud processing may be used create the dictionary that may be used for compression by the implant device. The lossy factor may be represented by how the similarity between the scanned data and the dictionary entries is modeled. 
     When enough data has been collected—meaning that the models perform to a specified task dependent accuracy threshold—the implant device may switch to the operating mode. In this mode, the implant device may perform the following actions: identifying active neurons and recording spiking activity, running the closed loop feedback controller module trained and computed on the Cloud, and compressing the recorded data and sending it to the Cloud. 
     In embodiments, besides the training and operating modes, the implant device may also be configured in terms of the data transfer ratio and compression method. In embodiments, examples of configurations that may be used include: 
     All the channels recording electrical signals. Data compression may be based on spike detection and bit encoding, transmitting only neural spike timings to the Cloud without any raw waveforms. 
     Only a number of N channels may be used in total for recording, in any of the three recording modes. Lossy compression may be performed on the waveforms and the resulting data may be sent to the Cloud. In this case, the maximum number of channels depends on the quantity of data that must be preserved during compression. 
     Less than 5% of the channels may be used in total for recording. The compression may be lossless and the full waveform may be reconstructable in the Cloud. 
     In embodiments, when the transfer rate is lower than the recording rate, the implant device may use appropriate techniques to filter the data to obtain a manageable data volume. The implant device may perform real time Nx compression of the recorded data. The N value may be defined depending on the hardware limitations and task goals. In embodiments, the implant device may have an input buffer for the neuron recordings of at least 125 bytes. In embodiments, the implant device may have an output buffer of at least 2304 bytes. In embodiments, the implant device may have two running modes: training mode and operating mode. In embodiments, the implant device may be able to classify spikes to identify which neuron they belong to. In embodiments, the implant device may test different lossy and lossless compression algorithms, with the goal of choosing the optimal method. In embodiments, the implant device may initially start in training mode. In embodiments, the implant device may be able to switch between running modes upon receiving a command from the Gateway. 
     Gateway Interface. In embodiments, the implant device may be wirelessly connected to a Gateway component by exposing an interface for the following processes: Transmitting neural recording streams, receiving control commands, and Receiving configuration commands. Embodiments may use wireless communications such as Wireless Data Communication Type—802.11ac, Wireless Frequency—5 GHz, and Radio Channel Size—80 MHz. 
     In embodiments, Wi-Fi communications may be used, due to its high rate data transmission. However, embodiments may use alternatives to the 802.11ac Wi-Fi standard. For example, the Full-Duplex Wireless Integrated Transceiver for Implant-to-Air technology may be used. This technology includes a transmitter designed to support uplink neural recording applications with a data rate of up to 500 Mb/s and power consumption of 5.4 mW and 10.8 mW, respectively (10.8 pJ/b). This high-speed data transfer rate removes the need for compression in the implant device, which may reduce the overall power consumption and generated heat. Also, another advantage of this chipset is its size of just 0.8 mm×0.8 mm. Another example is the Thread Protocol, an IEEE 802.15.4 standard, which provides a data transfer rate of 250 Kbps. This technology may have advantages including great community support, low power consumption, supported by a large number of chipsets manufacturers, secured, and stable implementation. 
     In embodiments, the communication channel between the implant device and Gateway may include Bluetooth. This may be the case, for example, when the Gateway device is a smartphone. In order to accommodate this requirement, the implant device may be able to buffer the data transmitted to the Gateway in cases when the transfer speed is lower than the recording speed. 
     In embodiments, the recorded data may be encoded as a 10-bit floating point value. Given that most of the AI and Processing Tools on the Cloud Component are processing float data in 16 bits or 32 bits encoding, the input data may be converted in the Cloud to the corresponding data type. 
     In embodiments, a default version of software may be installed at the factory. In embodiments, the implant device may start with a provisioning procedure if the provisioning was not already done. In embodiments, the implant device may support over-the-air (OTA) updates. In embodiments, the software may be constantly updated with novel processing models to ensure its integrity and proper functionality for the specific performed task. These updates may be performed after implantation in the brain. In embodiments, the OTA update interface may be dependent on the hardware specifications. Embodiments may allow updates to be pushed over the wireless communication channel only from specific IP address. In embodiments, stimulation and recording operations may be paused during the OTA updates. In embodiments, the implant device may restart the recording and stimulation operations, after the OTA update is finished. In embodiments, the updates may preserve the integrity of implant device. In embodiments, if an OTA update fails for any technical reasons, the implant device may restart and continue to use its previous Software Version. In embodiments, OTA updates may be processed only when the battery level is higher than a threshold that guarantees a safe update and restart of the implant device. In embodiments, OTA updates may be accepted only from one or more specific configured Gateways. In embodiments, automatic OTA updates may be enabled/disabled through configuration parameters. 
     In embodiments, when the implant device is initially powered on, it may start a private WAN by initiating an AP (Access Point). The Gateway may connect to this AP, using a password that is specific to the target implant device, such as a serial number or other unique identifier. In embodiments, after a successful connection, the Gateway may initiate the Provisioning Phase. In embodiments, the Provisioning Phase may provide the default parameters for all the initial configurations of the target implant device. In embodiments, the initial configuration may include parameters such as predetermined MAC addresses of the accepted Gateways, power system configuration parameters, local WAN credentials, recording parameters, wireless charging parameters, configured blocks for reading, etc. 
     In embodiments, after the provisioning phase is finished, the implant device may execute a reset command. After the implant device has restarted, it may connect to the local WAN, being ready to receive new commands from the Gateway. In embodiments, if Wi-Fi/AP Provisioning is not supported, for example, with mobile devices, the implant device may use the Bluetooth channel for provisioning. In embodiments, when the implant device is initially powered on, it may start the Bluetooth Discovery process, to perform Bluetooth Low Energy (BLE) pairing with the Gateway. In embodiments, the implant device may use a fixed value pin for pairing that shall be linked to the target implant device. In embodiments, after the pairing operation is executed successfully, the same Wi-Fi provisioning steps mentioned above may be performed. 
     In embodiments, the Gateway may connect to the implant device using a secured configuration interface. In embodiments, the Gateway may have the rights to modify configuration parameters such as power system configuration parameters, wireless charging parameters, recording parameters, activated recording blocks, activated recording channels per block, etc. In embodiments, for security reasons, the MAC addresses of the valid gateways may not be changed via the Configuration Interface. Rather, they may be changed only via the Provisioning Configuration Process. 
     In embodiments, a Gateway may connect to one or multiple implant devices. In embodiments, a Gateway may save the data stream from all connected implant devices. In embodiments, the implant device may only accept as a Subscriber to its Published data the Gateway which has the MAC address that was configured during the Provisioning Phase. In embodiments, the communication channel between the implant device and Gateway may support continuous data streaming of, for example, up to 4 Mb/s. 
     In embodiments, the implant device may publish its recorded data when it is requested by the Gateway. In embodiments, the Gateway may receive the real time data from the implant device through a secured data streaming protocol. In embodiments, in the data streaming process, the Gateway may act as the receiver, while the implant device may be the publisher. In embodiments, the implant device may switch off the data transmission as long as there is no Gateway connected, for battery conservation. In embodiments, every sample time the implant device may apply a framing mechanism to create a data frame consisting of Header Marker and a Payload. In embodiments, the Header Marker may be used to mark the boundaries of the current frame. In embodiments, the Payload may be calculated as follows: A×N×CBS, where A is the number of activated reading blocks (up to, for example, 100), N is the number of activated recording channels per block (up to, for example, 10), and CBS is the size of the compressed reading per channel. 
     In embodiments, the implant device may have a Data Transfer Buffer placed between the PISO layer and the Communication Channel. In embodiments, the Data Transfer Buffer may be used in cases when the transfer rate falls below 4 Mb/second. In embodiments, the implant device may receive control commands from the Gateway. In embodiments, each individual stimulation command may be encoded in 2 bytes, containing, for example, a reference to the blocks that are closest to the targeted neurons (for example, 8 bits), the referenced channel inside the block (for example, 2 bits), and the desired encoded stimulation command from the, for example, 32 different stimulation patterns (for example, 5 bits). 
     In embodiments, individual stimulation commands may be grouped together to be executed simultaneously. In embodiments, for each tile block, for example, 1 up to 4 channels may be stimulated simultaneously. In embodiments, a stimulation command may have a size up to for example, 200×2 bytes. 
     In embodiments, the communication between the implant device and the Gateway may be secured. The implant device and Gateway Wi-Fi chipset may provide a hardware secure channel between these two devices. In embodiments, in order to react promptly to the recorded data, the implant device may use machine learning models for data processing. The models may be trained in the Cloud and then pushed to the implant device via the Gateway. In embodiments, the implant device Gateway Communication Module may request the machine learning models from the Gateway through a dedicated application programming interface (API). In embodiments, the control module/processing circuitry and the closed-loop control module may load the models and may use them for data processing. In embodiments, the machine learning models may be updated using the OTA updates. In embodiments, the implant device may receive activation and inactivation commands over the stimulation API. In embodiments, the implant device may receive status request commands, and may respond with information such as battery level, temperature level, software version, enabled reading/stimulation tiles, device state, etc. 
     A pseudocode example of a Startup Procedure is shown in  FIG. 44 . A pseudocode example of a Provisioning Procedure is shown in  FIG. 45 . A pseudocode example of a Configuration Interface is shown in  FIG. 46 . A pseudocode example of a Stimulation Interface is shown in  FIG. 47 . A pseudocode example of a Recording Interface is shown in  FIG. 48 . A pseudocode example of a Status Interface is shown in  FIG. 49 . 
     In embodiments, circuitry of the implant device may meet certain specifications, for example, in terms of CPU, RAM and I/O characteristics. 
     CPU Speed. In embodiments, CPU speed may meet certain specifications. For example, the implant device may be able to record up to 20,000 samples per second. Each sample may be encoded in 10 bits. There may be 1000 channels per integrated circuit in the implant device. Accordingly, the transfer size per second may be calculated as 20,000 samples/second*10 bits/sample=200 Kbits/second/channel. 200 Kbits/second*1000 channels=2*10{circumflex over ( )}8 Bits/second=200 Mbits/second. Assuming that 100 operations (machine instructions) are needed for compressing one 32-bit integer, the number of operations needed for compressing one packet of 200 Mbs may be calculated as (2*10{circumflex over ( )}8 bits to process/32 bits per int)=6,250,000 Bits/operation; 6,250,000 Bits/operation*100 operations/int=625,000,000 operations. Assuming 1 operation per cycle, a CPU clock speed of at least 625 MHz may be needed. 
     For example, 1000 million integers may be compressed per second with Single instruction, multiple data (SIMD) acceleration. This results in approximately a 3× compression. Assuming a duration of one cycle per instruction, on a 3 GHz processor, compressing one integer would take 3*10{circumflex over ( )}9/10{circumflex over ( )}9=3 instructions. Given that SIMD instructions typically work on a 128-bit (16 bytes) architecture, with an 8-bit architecture, approximately 3*16=48 instructions may be needed to compress an integer. Taking into account the adjacent processes of copying data into memory and running the Closed Loop Module simultaneously, the 100 operations per integer are justified. 
     RAM Memory. In embodiments, RAM requirements may be estimated. Assuming a compression ratio of 10 and an Output Buffer of 2304 bytes (a limitation of the maximum packet frame supported by Wi-Fi. Therefore, the size of the Input Buffer that will store the data that needs to be compressed to the Output Buffer size will be ten times larger: 10*2304=23040 bytes. Further, the input and output buffers may be doubled to avoid synchronization issues between the reading and writing processes. In addition, in embodiments, a third intermediary buffer may be added of the same size as the Output Buffer, which may be used for storing other relevant data needed for the computation. Accordingly, an example of a formula for minimum total RAM size requirement is 3*(23040+2304)=76032 bytes=76 kB. 
     In embodiments, there may be a need for other RAM uses for example, running machine learning models, commands, and status communication with the Gateway, etc. 
     I/O Interface. In embodiments, the implant device may support 802.11ac Wi-Fi and Bluetooth Low Energy connectivity for transmitting data to the Gateway. In embodiments, to connect to the CNT layer, the implant device may also have at least 26 general purpose I/O pins. For example, 12 pins may be used for controlling the MUX Select Lines when recording data, 12 pins may be used for controlling the DEMUX Select Lines in stimulation commands, and two more pins may be used for the actual data transfer. 
     Device Size. In embodiments, the chipset size used for the implant device may be, for example, about 15 mm×15 mm. A number of currently available processor chips or chipsets meet this size, and some of them also provide the necessary CPU and RAM characteristics. some also support Wi-Fi/BLE, but there are small chips that could be used for this functionality. 
     Temperature &amp; Power Management. In embodiments, the implant device may constantly monitor its temperature and power levels in order to make sure it doesn&#39;t damage brain tissue. When the implant device detects that temperature levels are starting to rise, it may throttle the neural recordings and stimulations. If the temperature increases by, for example, about 1° C., the implant device may stop all recording and stimulation activities and all processing until the temperature is back to normal. 
     In embodiments, when the implant device detects that the battery levels are getting low, it may enter a battery saving mode, where neural recordings and stimulations may be throttled. If the battery level reaches a critical threshold, for example, under about 10%, all recordings and stimulations may be stopped, to prevent the implant device from discharging completely. 
     In embodiments, the implant device may also keep track of the total power output into the brain. Thermal limit requirements inside the brain may be &lt;1 mW/mm 2 . This limit may not be exceeded. As a safety threshold, throttling may start when power output is over 0.75 mw/mm 2 . In embodiments, due to health and safety reasons, electrical stimulation potentials may be below the threshold of 700 mV at all times. An example of pseudocode for the temperature and power monitoring module is shown in  FIG. 50 . 
     Safety Thresholds. In embodiments, the implant device may limit its worst-case temperature rise (due to a local hot-spot) from 1° C. to 0.8° C. The typically accepted limit up to which a compact device may be allowed to heat up without damaging surrounding brain tissue is 1° C., so embodiments may provide additional safety margin. 
     The electrical stimulation potentials threshold for irreversible tissue damage is generally considered to be at 700 mV. Therefore, in embodiments, the implant device may limit electrical stimulation potentials to 700 mV. In order to stay below this threshold while still reaching the desired volume of tissue, embodiments may use multiple current release sites. 
     The Gateway. In embodiments, the implant device may be connected to the neurons, being able to read data and execute stimulation commands on them. Data received from the implant device may be analyzed by researchers and doctors. By using AI/ML models, the doctors may command different stimulation patterns for neurons from different brain areas in order to treat different brain related diseases. 
     In embodiments, the implant device may stream data up to 4 Mb/s. Pushing all these data directly to Cloud would require either a high band internet connection or a large buffer on the implant device. Both options may have disadvantages such as high costs, limited hardware resources, battery consumption etc. Also, the data content may be highly sensitive, which may require the data to be sent over a highly secured channel that may provide the consistent delivery and privacy of the data. 
     Responsibilities. Accordingly, in embodiments, the implant device may communicate directly with a Gateway component. The responsibilities of the Gateway may include receiving high speed data stream from the implant device, buffering the implant device recorded data, compressing the data, and streaming the data securely to the Cloud for processing and analysis, receiving complex control commands from the Cloud and delivering the commands to the implant device as neuron stimulation commands, sending configuration commands to the implant device, and requesting the implant device status information. 
     In embodiments, the implant device may be provisioned to stream data and to receive commands from only one single Gateway. In embodiments, the Gateway may have the capacity to receive data and send commands to multiple implant devices. 
     In embodiments, the Gateway may have sufficient processing power to handle the communication with multiple implant devices and to stream data to the Cloud and to receive commands from the Cloud. To reduce the complexity of the Gateway and to reduce the maintenance efforts, in embodiments, the Gateway may not contain complex logic or a complex User Interface. The only needed User Interface may be a Configuration/Maintenance Interface. 
     Examples of Types of Gateway. In embodiments, the software may run on gateway devices such as a mobile gateway, such as a smartphone, tablet, or wearable device, a home gateway, and a deep clinic (hospital) gateway. In embodiments, each of the gateway types may use the same data transfer and security protocols, but may allow for different data rates, buffering and analysis tools, and may have different associated implant device operation modes. 
     In embodiments, Gateway hardware may include, for example, a CPU/Main Board—for example, ready for operating system kernel installation, a Wireless Communication chipset, Wireless Card for connecting to a local Wi-Fi network, Internal Memory &gt;2 GB, Internal Mass Storage &gt;10 GB, etc. 
     In embodiments, a Gateway software configuration may include, for example, an operating system, Gateway Software, Web-Server software, that may, for example, be use for configuration purposes, etc. 
     In embodiments, a default version of the Gateway software may be installed on the Gateway from the factory. In embodiments, the Gateway may start with the provisioning procedure if the provisioning was not already done. 
     In embodiments, the Gateway software may be frequently updated with novel software versions to ensure data integrity and optimal functionality. In embodiments, the OTA updates may be triggered via Cloud commands. In embodiments, during the OTA updates, the Gateway may suspend the connection to implant devices and to the Cloud to be able to properly execute the OTA update. When the update is finished, the Gateway may restart and reconnect to implant devices and the Cloud. In embodiments, OTA updates may not alter the previously configured parameters. In embodiments, OTA updates may preserve the integrity of the Gateway. In embodiments, when the OTA update fails for any technical reasons, the Gateway Module may re-start and use the previous software version. In embodiments, OTA updates may be accepted only from a specific Cloud host and may be signed with a special OTA related key. In embodiments, automatic OTA updates may be enabled/disabled through the use of the configuration API. 
     In embodiments, during the initial power up, the Gateway may start its private WAN by initiating an AP (Access Point). In embodiments, in provisioning mode, Gateway may start a web-server that may be used to receive provisioning commands. In embodiments, while in the provisioning phase, a user connected to the AP initiated by Gateway may access the Gateway Configuration Interface via a browser. Example of provisioning parameters may include a connection address of the Cloud Host, Cloud connection credentials for the initial configuration cycle, Credentials needed to connect to a local Wi-Fi network, Gateway administration credentials, etc. 
     In embodiments, once the Cloud Host address and initial credentials are set correctly, the gateway may trigger a “pairing command”. As a result of the pairing command, the cloud may generate an 8-byte code. This code may be set using the Gateway Provisioning UI. The code may be transmitted to the Cloud to prove its identity. After a successful execution of this process, the Gateway may be ready to receive commands from the Cloud and to stream data to the Cloud. 
     In embodiments, a Local Configuration Interface may be available during the entire period that the Gateway is running for maintenance purposes. In case of malfunction, a technician may connect to this interface, analyze the status and configuration of the Gateway, and determine the cause of the problems. In embodiments, the technician may manually change the configuration parameters. Any manual changes of the configuration parameters may be synchronized with the Cloud. 
     In embodiments, the Gateway Configuration UI may be implemented as secured web application. In embodiments, the administration credentials may be set only during the provisioning phase or by a credential override command received from the Cloud. In embodiments, the Gateway may expose a configuration workspace without a user interface and the technician could connect for configuration using a mobile application. 
     In embodiments, after a successful provisioning, the Gateway may register itself as command executor, for the commands sent by the Cloud. Thus, the Gateway may receive any commands sent by a Cloud user for the purpose of commanding or configuring the implant device or the Gateway. In embodiments, once registered as a command executor, the Gateway may receive commands such as a Gateway configuration command, an implant device configuration command, an implant device state inactivation/activation command, an implant device stimulation command, an implant device status command, an implant device OTA command, an implant device control recording command, etc. 
     In embodiments, for each Gateway configuration command received from the Cloud, the Gateway may validate it and then change the configuration as requested. In embodiments, the data recording from the implant device modules may not be affected, by the execution of configuration commands on Gateway. In embodiments, for each implant device configuration command received from the Cloud, the Gateway may connect to the targeted implant device configuration API, and send the configuration command to that implant device. In embodiments, the implant device configuration commands received from Cloud may be translated to implant device configuration commands before being delivered to implant device over the implant device configuration API. 
     In embodiments, for each implant device activation/inactivation command received from the Cloud, the Gateway may connect to the targeted implant device stimulation API and then send the activation/inactivation command. In embodiments, the implant device activation commands received from Cloud may be translated into implant device activation commands before being delivered to implant device over the implant device stimulation API. In embodiments, for each implant device stimulation command received from the Cloud, the Gateway may connect to the targeted implant device stimulation API and then send the stimulation command. In embodiments, the implant device stimulation commands received from Cloud may be translated into implant device stimulation commands before being delivered to implant device over the implant device stimulation API. In embodiments, for each implant device status command received from the Cloud, the Gateway may connect to the targeted implant device status API, request the status, and send it back to the Cloud. In embodiments, the implant device status information may include information such as Battery Level, Recording State: on/off, Active Recording channels, Active Stimulation channels, Software version, etc. 
     In embodiments, for each implant device OTA command received from the Cloud, the Gateway may connect to the targeted implant device OTA API and deliver the software updates. In embodiments, for each implant device Control Recording command received from the Cloud, the Gateway may send to the target implant device the command for execution, for example, start or stop recording. In embodiments, the communication channel between implant device and Gateway may support continuous data streaming of up to 4 Mb/s. In embodiments in which each Gateway may be connected to multiple implant devices, parallel processing of the incoming data streams may be performed. In embodiments, the Gateway may be able to record multiple incoming data channels and to stream them separately to the Cloud. 
     In embodiments, the communication between the implant device and the Gateway may be secured. The implant device and Gateway Wi-Fi chipsets may ensure a hardware secure channel between these two devices. 
     In embodiments, the data recorded by implant device may be streamed at a speed up to 4 Mb/s. For such a high rate data transfer to the Cloud, embodiments may include a high-speed data connection. This may become a constraint in different clinics or facilities. Thus, in this scenario, the Gateway may need to handle a high-speed data publisher (the implant device) and a slower consumer—the upload stream to the Cloud. To solve this problem, in embodiments, the Gateway may buffer the data received from the implant device, package and compress it and only afterwards send it to the Cloud at the optimal provided transfer rate. 
     In embodiments, the Gateway may send to the Cloud data packets of similar sizes. In embodiments, the Gateway may start to send the data when the internal in-memory data buffer is full. 
     In embodiments, the data coming from the implant device may be compressed using an encoding algorithm. Still, the need to convert, for example, 10 bits float to 16 bits float, enlarges the data volume that needs to be transferred to the Cloud by 60%. To keep the transfer size low and to reduce the Cloud upload latency, the Gateway may compress these data before uploading it to Cloud. 
     Given that there could be multiple Implant devices connected to the same Gateway, in embodiments, the Gateway may be able to handle the incoming data in multiple parallel threads. The ongoing data transmission flow may not be affected by new incoming data streams. In embodiments, any incoming data channel for a specific implant device may be processed, compressed, and streamed to the Cloud independently of any other active data channels corresponding to other Implant devices. 
     In embodiments, when the Gateway is powered on, it may open the data incoming channels (server sockets) for all linked implant devices. It may be that for certain reason, for example, battery drain, implant device location changed, etc., the implant device may not be able to connect at that moment to the Gateway. Still, when the implant device enters the connection area and starts transmitting data, the Gateway may pair with the implant device and start receiving its data. 
     In embodiments, after the provisioning phase is finished, the Gateway may be paired with the Cloud, thus for each implant device that it controls it may, for example, register itself as a Commands Executor and initialize the Data Publisher Channel. In embodiments, any communication between Gateway and Cloud may be over a secure channel and may use an AES (128 bits) encryption key. In embodiments, execution/configuration commands received from Cloud may be encrypted with this key. In embodiments, the Gateway may encrypt all data pushed to the Cloud with the AES key. In embodiments, the AES keys may be periodically changed and may be transferred between Cloud and Gateway using, for example, the Diffie-Hellman Symmetric Key Exchange protocol. 
     In embodiments, the Gateway may ensure that any data recorded from the implant device may be transmitted to the Cloud. In embodiments, in case of communication failures between the Gateway and the Cloud, the Gateway may retry sending the data when the connection is restored. In embodiments, the Gateway may store locally (on persistent storage) the un-sent data in case the communication channel is broken for a longer period of time. In embodiments, the persistence buffer may have a pre-configured size. In embodiments, once this size is exceeded, the Gateway may apply a first-in-first-out (FIFO) eviction policy. Thus, the older entries may be deleted in order to make room for new incoming data. In embodiments, this may be the only configurable scenario in which the Gateway may lose data received from the implant device. In embodiments, once the connection is re-established the Gateway should automatically synchronize the data with the Cloud. 
     In embodiments, the data uploaded from Gateway to Cloud may not contain any private information about the patient. In embodiments, the link between the patient details and the recorded data may be stored and known only in the Cloud. In embodiments, each data incoming channel on the Cloud may be associated with a specific implant device. In embodiments, in the Cloud there may be a privacy information database, which may store the relations between the patient and the implant devices. In embodiments, no patient sensitive data may be transferred from Cloud to Gateway. In embodiments, the commands sent from the Cloud may address directly the implant device and may not contain any patient information. 
     A pseudocode example of a startup procedure is shown in  FIG. 51 . A pseudocode example of a Provisioning procedure is shown in  FIG. 52 . A pseudocode example of a command execution procedure is shown in  FIGS. 53 a , 53 b , and 53 c   . A pseudocode example of a data streaming procedure is shown in  FIG. 54 . 
     An exemplary block diagram of a Gateway  5500  is shown in  FIG. 55 . As shown in this example, Gateway  5500  may include communications with implant device  5502 , communications with the Cloud  5504 , a data recording interface  5506 , data compression  5508 , a buffer  5510 , a data publisher  5512 , a stimulation interface  5514 , a command executor  5516 , and a configuration/status interface  5518 . Communications with implant device  5502  may include hardware and software to provide communications with the implant device. Communications with the Cloud  5504  may include hardware and software to provide communications with the Cloud. Data recording interface  5506  may include hardware and software to receive data from the implant device and process the data prior to data compression, as described above. Data compression  5508  may include hardware and software to provide compression of the processed data received from the implant device, as described above. Buffer  5510  may include hardware and software to provide temporary storage of compressed and/or uncompressed data, as described above. Data publisher  5512 , may include hardware and software to publish and communicate data to the Cloud, as described above. Stimulation interface  5514 , may include hardware and software to generate stimulation commands, and/or multiple or sequences of stimulation commands to be transmitted to the implant device, as described above. Command executor  5516 , may include hardware and software to receive stimulation commands  5520  from the Cloud and execute those comments in conjunction with stimulation interface  5514  and the implant device, as described above. Configuration/status interface  5518 , may include hardware and software to receive and process configuration/status commands from the Cloud, as described above. 
     The Cloud. Data recorded from the implant device may be processed and analyzed. Based on this data, the neuroscience researchers may build AWL models that may be used by practitioner doctors to treat different brain related maladies such as Parkinson, Alzheimer, etc. 
     The Cloud may include of a cluster of nodes on which different microservices may be deployed. An exemplary high-level block diagram of the Cloud  5600  is shown in  FIG. 56 . Also shown in this example are implant device  5602  and Gateway  5604 . As shown in this example, Cloud  5600  may include a command service  5606  and a data service  5608 . Command Service  5606  may receive, for example, stimulation, activation, configuration, provisioning commands from the user via a User Interface and then may distribute them to the Gateways for execution. Command Service  5606  may also receive back the result of the command execution and present them to a user. Data Processing Service  5608  may take care of data ingestion coming from the implant device and the processing and storing of this data. 
     Command Service. In embodiments, Command Service  5606  may execute commands such as implant device OTA, implant device Configuration, Gateway Configuration, implant device stimulation, implant device activation/inactivation, implant device recording control, etc. 
     In embodiments, the commands may be transmitted from the Cloud as a request of a user (Medical Doctor, Researcher) and may reach an implant device which may be located in a local network behind a firewall. Accordingly, in embodiments, a Publish/Subscribe architecture may be used. In embodiments, the Cloud may publish commands for execution, while the Gateway may be registered as a subscriber for these commands. In embodiments, the Gateway may, in this case, play the role of commands executor. 
     In embodiments, Command Service  5606  may be implemented as a microservice and may be deployed on multiple nodes in Cloud  5600 . In embodiments, Command Service  5606  may expose an interface for command requests, which may be used by other services to send commands. In embodiments, each command may indicate the implant device or the Gateway to which it is addressed. In embodiments, when a user triggers a command from the user interface, the command may be created and then may be published on a commands Queue. The Command Executor which is registered for that implant device or Gateway Address may execute the command. A pseudocode example of a command message is shown in  FIG. 57 . 
     In embodiments, a Configuration Command may contain configuration changes which apply to the targeted implant device. In embodiments, the Configuration Command may include Configuration Parameters that may contain parameters that may be configured on an implant device. In embodiments, the Configuration Parameters may contain information such as Gateway IP/MAC addresses, Stimulation channels, recording channels, Recording reporting frequency, Scheduled start/stop, Stimulation methods—Optical, Electrical, Chemical, etc. A pseudocode example of a Configuration Command is shown in  FIG. 58 . 
     In embodiments, the Stimulation Command may include information about the stimulation of specific channels of the targeted implant device. A pseudocode example of a Stimulation Command is shown in  FIG. 59 . In embodiments, the Command Executor may apply the required stimulation command on the specified channels. 
     In embodiments, the Activation Command may include information about the activation/inactivation of certain channels of a targeted implant device. A pseudocode example of an Activation Command is shown in  FIG. 60 . In embodiments, the Command Executor may apply the required activation/inactivation on the specified channels. 
     In embodiments, the OTA Command may include information about a new version of software that needs to be installed on the implant device. A pseudocode example of an OTA Command is shown in  FIG. 61 . In embodiments, when executing this command, the gateway to which the implant device is connected may download the OTA image data from a predetermined network address, verify it and then it will trigger the implant device OTA update by pushing the image data through the implant device OTA interface. In embodiments, after a successful OTA update installation, the implant device may restart and use the new software version. 
     In embodiments, the Recording Control Command may be a request to start or suspend the recording on the implant device. A pseudocode example of a Recording Control Command is shown in  FIG. 62 . In embodiments, when executing this command, the Gateway may send the request to start or suspend recording or neuronal activity to the controlled implant device. 
     In embodiments, the Status Command may be a request to update the implant device Status on the Cloud. A pseudocode example of a Status Command is shown in  FIG. 63 . In embodiments, when executing this command, the Gateway may request the status information from the implant device and push the status information to the Cloud. 
     In embodiments, the Gateway Configuration Command may include information about the new configuration that needs to be set on the Gateway. A pseudocode example of a command message is shown in  FIG. 64 . In embodiments, the configuration parameters may include information such as Local Wi-Fi network credentials, Cloud host network address, local administration credentials, network addresses of connected implant devices, implant device heartbeat checking interval, etc. 
     In embodiments, the Gateway may have a predefined buffer for recording data from the implant device. In embodiments, when this buffer is full, the recordings may be pushed to the Cloud. If real time data recording and streaming to the Cloud is needed, this buffer may be disabled or it may have a smaller size. 
     In embodiments, the Gateway OTA Command may include information about a new version of software to be installed on the Gateway. A pseudocode example of a command message is shown in  FIG. 65 . In embodiments, when executing this command, the Gateway may download the OTA image data from a predetermined network address, verify it, and then trigger the OTA update. In embodiments, after a successful OTA update installation, the Gateway may restart and use the new software version. 
     In embodiments, for each executed command, the Gateway may publish the status of execution back to the requestor of that command. In embodiments, when a command is added to the commands Queue, it will have an execution timestamp deadline. If the command is not taken from the Queue by any executor before the timestamp expires, the command may be marked with status “failed to execute” and the requestor may be informed about this failure. In embodiments, each command may be executed only once, irrespective of the result. The requester may decide to re-trigger the command in case of error, but this may be recognized as a new command. In embodiments, the commands may not contain any information related to the patient on which the implant device is applied. In embodiments, the commands may be executed only by the Gateway which controls the target implant device. In embodiments, the commands may be sent to Gateway over a secure channel. In embodiments, the system may guarantee the delivery of the commands to the Gateway component, where they may be executed. In case of error, the requestor of the command may be notified about the failure. 
     Data Service. In embodiments, Data Processing Service  5608  may be responsible for collecting the implant device data, decompressing the data (if need be), and storing the data for later use. In embodiments, there may be a large number of implant devices, which may send their data to the Cloud. Thus, on the Cloud, there may be a need for high scalability in recording this data and also there may be a demand to store a large amount of data. In embodiments, different technologies may support this. For example, the Publish/Subscribe Paradigm may enable the constant increase of implant devices and high parallelism of incoming data. In embodiments, the implant devices may act as data publishers while the Cloud that processes the data may act as a subscriber. 
     In embodiments, Data Service  5608  may be implemented as a microservice and may be deployed on multiple nodes on cloud. In embodiments, the Gateway may automatically upload the incoming data from the implant device to the Cloud. In embodiments, the Gateway may automatically register itself as a data publisher when one of the connected implant devices is starting to stream data. In embodiments, the communication channel between the Gateway and the Cloud may guarantee the delivery of the data. In case of connection errors, connection interruptions, lost packets, etc., the Gateway may be notified about the failure so that it can schedule a retry request. In embodiments, only a registered Gateway may stream data to the Cloud. Registered Gateways are those for which the provisioning step was executed and they have exchanged the encryption keys with the Cloud. In embodiments, the gateway and the Cloud may be connected over a secured channel. The messages transferred over this channel may be encrypted. The data streaming channel may be compliant with the existing medical standards. 
     In embodiments, for each channel, the implant device may record the specific value at a given time. The time of recording, reading value and recording type may be grouped together and may be streamed to the Cloud via the connected Gateway. 
     In embodiments, the data pushed from the Gateway to the Cloud may be time series data and may have a message structure similar to the example shown in  FIG. 66 . In this example, the message may include a plurality of floating point values, which may, for example, represent the data recorded from all active channels at a given timestamp, in which case, the order in the array may be fixed and may follow the physical tiles and channels numbering. As another example, the values may represent all data recorded from all active channels over a large interval of time. In embodiments, for each recorded channel the values may contain a timestamp=timestamp+blockIndex*readingInterval. 
     In embodiments, the data coming from the implant device may be encoded/compressed. Accordingly, when it arrives on the Cloud, the data may be reconstructed by applying a decoding/decompressing process. This process may include the entire pipeline of encoding/compression algorithms used at the implant device level while reading, processing, and sending data to the Gateway. 
     In embodiments, implant device data may be saved on the Cloud on a persistence layer in order to allow later-on batch processing and data retrieval. Any persistence technology may be used that provides the capability to handle the data volume. In embodiments, the data volume may be quite high. for example, an implant device may output up to 4 Mb/s. Assuming a full 24 hours recording, and 1000 implant devices, a data volume up to 432 TB per day may be produced. 
     Further, the persistence technology may provide the capability for data saving and retrieval to be as near to real time as possible. The high volume of data may generate big storage costs and also could increase the processing power needed for fast retrieval of the stored data. 
     In embodiments, to reduce the volume of data and to optimize the data retrieval speed, the persistence layer may support Backup Policies—based on predefined rules, the data that matches these rules may be backed up automatically, and Eviction policies—based on predefined rules, the data that matches these rules may be removed from the persistent storage. 
     In embodiments, Data Service  5608  may expose a data retrieval API that may be used by other Cloud services. This API may support data retrieval by using different filtering conditions. In embodiments, using this API and the filters, UI widgets, ML models, and data exporters may retrieve and use the data stored on the persistence layer. In embodiments, the interaction shall be performed through REST or QL filters. 
     In embodiments, after decoding and decompression, the implant device streamed data may be exposed to other components as a real time data stream, for example, for real time data visualization. 
     In embodiments, the incoming data from implant devices may not contain any information related to the patient. In embodiments, the Cloud may store the relation between the patients and implant device data, but this should be available only for Authorized User Roles and Authorized Operation Types. For example, researchers may have access only to anonymized data. In embodiments, practitioners may have access to patient private data only for the patients that are under their supervision. 
     In embodiments, in order to support high scalability during data ingestion, the data processing service may be deployed in a cluster computing environment. Each data stream event may be processed by a single cluster node. An example of an architecture  6700  for data ingestion and data processing is shown in  FIG. 67 . In this example, technologies that may be included may ease the implementation of the functional and nonfunctional requirements of the Data Processing Service. It is to be noted that although specific technologies are described in this example, one of ordinary skill in the art would recognize that other technologies that provide similar or equivalent functionality may be used instead, or in addition to, the described technologies. 
     For example, APACHE KAFKA™  6702  may be used for data streaming and ingestion. It may be used for building real-time data pipelines and streaming apps. KAFKA™ is horizontally scalable, fault-tolerant, and very fast, being used in production by large companies. In embodiments, the data coming from implant devices may be distributed for processing to Cloud Data Processing Service  6704 , which may be deployed in several nodes on the Cloud. KAFKA™ may also provide an easy method for starting/stopping the KAFKA™ Processors (the Cloud Data Processing Service  6704 ). In embodiments, APACHE KAFKA™ Security with its flavors TLS™, KERBEROS™, and SASL™ may help in implementing a highly secure data transfer and consumption mechanism. 
     In embodiments, APACHE KAFKA™ Streams  6706  may ease the integration of Gateway and Data Processing Service in the KAFKA™ Ecosystem. 
     In embodiments, APACHE BEAM™ may unify the access for both streaming data and batch processed data. It may be used by the real time data integrators to visualize and process the real time data content. 
     In embodiments, a high volume of predicted data and data upload and retrieval may be handled by a Time Series database Examples of such technologies may include OPENTSDB™—A Distributed, Scalable Monitoring System, TIMESCALE™—an Open-Source Time-Series SQL Database Optimized for Fast Ingest, Complex Queries and Scale, BIGQUERY™—Analytics Data Warehouse, HBASE™, HDF5™, and ELASTICSEARCH™, which may be used as second index to retrieve data based on different filtering options. 
     In embodiments, add-on programs, such as GEPPETTO™ UI widgets may be used for visualizing neuronal activities. Further, KIBANA™ is a charting library that may be used on top of ELASTICSEARCH™ for drawing all types of graphics: bar charts, pie charts, time series charts etc. 
     Processing Pipelines. In embodiments, to give doctors and researchers the ability to manipulate the data and apply various algorithms to classify patient data, recognize patterns, recommend treatment, and do any types of processing, the Cloud component may support pipelines. In embodiments, the pipelines may include separate blocks, which may determine what data to process and what code to run over it. Each block may be configured individually. for example, the configuration may be done via a Drag and Drop UI or via a coding interface. 
     In embodiments, there may be different kinds of pipelines, for different use cases. For example, a real-time processing pipeline may be used by doctors to treat patients. This pipeline may have low latency and may not need high throughput. Another example is a batch processing pipeline, which may be used by researchers who want to train new models. This pipeline may have very high throughput, but the latency requirements may not be high. Another example is an automatic pipeline based on a central schema, which may be used for aggregating and analyzing data from different sources, and for scheduling automatic training and processing in the entire system. 
     Real-time Processing. In embodiments, to enable the system to respond quickly to incoming data from the implant devices, real time processing may be provided. This means that each data point (for example, electrical measurement taken by the implant device) is processed as soon as it arrives into the cloud database. An example of an API that may be used to specify the input for real time processing is shown in  FIG. 68 . 
     In embodiments, after specifying inputs, other kinds of operators may be applied to the data, element-wise, such as band pass filters, smoothing, and dimensionality reduction such as ICA or PCA. An example of an API that may be used to specify the pre-processing for real time processing is shown in  FIG. 69 . 
     In embodiments, for real time processing, existing machine learning models may be applied to the data in order to obtain inferences about the patient. These machine learning models may exist in a central repository. These models may be annotated with information about what kind of diseases they apply to and what conditions have they been tested in (such as location of implant devices). An example of an API that may be used to specify the machine learning processing for real time processing is shown in  FIG. 70 . 
     In embodiments, after all the processing has been done, the result may be output. This may mean either saving to disk, in a patient&#39;s file for example, or shown in a visualization, so that a user may understand what is going in the patient&#39;s brain in real time, or it may be used to send information to the implant device about what kind of neural stimulation commands to give. An example of an API that may be used to specify the output for real time processing is shown in  FIGS. 71 a    and  71   b.    
     Batch Processing. In embodiments, researchers may train algorithms over the data of many patients. These algorithms may take a long time to train, so there are few latency requirements in this case, but they need to be able to process a large amount of data, processing gigabytes of data every second. 
     In embodiments, as input, the researchers may select data belonging to only some patients, according to various criteria (such as having a certain age, or a certain disease, etc.). The output of this pipeline may be the resulting trained models, along with statistics about how well they performed (accuracy, loss, etc.). An example of an API that may be used to specify the input for batch processing is shown in  FIG. 72 . 
     In embodiments, the preprocessing blocks for the batch pipelines may be similar to the Real Time Processing Blocks, and these functions may be accessed using a similar API. 
     In embodiments, for batch processing, the researchers may have the option to use existing machine learning models or they may train new models which may then be saved into a central repository. These models may be annotated with information about what kind of diseases they apply to and where the data for them has been obtained (such as location of implant devices). For existing models, similar processing blocks and API may be used as for the Real Time Processing. For training new models, an example of an API that may be used to specify the machine learning for training new models for batch processing is shown in  FIG. 73 . 
     Custom Blocks. In embodiments, researchers may have the ability to run custom blocks where they can run any code they want. These custom blocks may have access to standard machine learning libraries and servers such as MATLAB™, TENSORFLOW™, SCIKIT-LEARN™ etc. An example of an API that may be used to specify the custom blocks for processing is shown in  FIG. 74 . 
     In embodiments, when the batch processing has been completed, the resulting model may be written to disk. At the same time, during training, a summary of the progress of the model training may be saved. An example of an API that may be used for output from batch processing is shown in  FIG. 75 . 
     Automatic Pipeline. An exemplary block diagram of an automatic pipeline  7600 , which may be used for aggregating and analyzing data from different sources, and for scheduling automatic training and processing in the entire system, is shown in  FIG. 76 . Pipeline  7600  may provide a way of joining different fields of expertise in a common collaboration environment. Each researcher may define his own experiments/tests that may be linked in a common workflow. The output of one Module (research) can trigger (automatically) a Module prepared by another researcher. All Modules may be versioned and may be easily reproduced by any team member. 
     Collaboration is only meaningful with a general understanding of each other, this applies also for any process run through the pipeline. In embodiments, the core of Pipeline  7600  may be the Generic Schema (GS)  7602  that may be used to map all the different data elements used by the different Modules. GS  7602  may be seen as the common language (describing data) used by each of the Modules even when using different programming languages. Furthermore GS  7602  may be heavily used by the Reporting layer that reports and analyses results across all modules. 
     Modules  7604 , also shown in  FIG. 77 . In embodiments, modules may be autonomous processes that may include Data Input  7702 —one or more Data sets/sources, Transformation  7704 —code &amp; scripts needed to do the transformation on the input, and Data Output  7706 —one or more result sets. In embodiments, each module may be run in the cloud and may launch spot instances. In embodiments, each module may accept as input any data formats. In embodiments, code used in Transformation  7704  may be versioned using a version management system. In embodiments, rolling forward and backward may be possible with the same data sets. 
     Cascading Modules— 7606  in  FIG. 76 , also shown in  FIG. 78 . Each Module may have Data Inputs that may be of any commonly used file format or online stored data set. Alternatively, the Input  7802  of a Module may be defined as the Output  7804  from another Module. In embodiments, this feature may be used to define Cascading Modules  7606  (workflows) that perform their tasks based on other Modules. Monitoring of these flows may be done in a Console (start, end, duration). 
     Pipeline— 7608  in  FIG. 76 , also shown in  FIG. 79 . In embodiments, the orchestration of all modules may be done in Pipeline  7608 . By configuring each pipeline, one may define flows that take results from each of the different fields (EEG, LFP, ERP, PetCT, MRI etc.) and make coherent analyses. The Generic Schema ( 7602  in  FIG. 76 ) may ensure the results are easy to understand and correlate. 
     Machine Learning (ML) Toolbox  8000 , shown in  FIG. 80 . In embodiments, the toolbox may include layers such as Machine Learning Models for Signal Processing  8002  and for Image Processing  8004 , Machine Learning Frameworks  8006 , Data and Software Stacks  8008  for Data Analysis, Data Processing, Cloud Computation, and Optimization Approaches  8010 . Examples of Machine Learning Models for Signal Processing are shown in block  8002 , and examples of Machine Learning Models for Image Processing are shown in block  8004 . An example of a processing flow  8012  is also shown. Such processing flows may be customized depending on the needs of the task at hand. 
     In embodiments, some of the machine learning models may be general, applicable to all brain recording data. Examples of these may be Linear Discriminant Analysis and Sparse Logistic Regression. In embodiments, there may also be machine learning models which are targeted for a specific disease, such as Alzheimer&#39;s disease and Parkinson&#39;s disease. 
     In the case of Parkinson&#39;s disease, the machine learning models may be trained to recognize when the patient is having motor problems, either with bradykinesia or excessive tremors. When detecting these mental states, a signal would be sent to start activating neurons in the appropriate region, in order to help alleviate the symptoms. 
     In the case of Alzheimer&#39;s disease, the machine learning models may be used to recognize when a patient has problems recalling already learned concepts and stimulation may be applied to help in memory improvements. 
     The cloud system may also implement the Fundamental Code Unit framework to analyze and correlate all the data of a patient starting from low-level neurotransmitter levels and neural spiking data, to high level behavioral data such as language and gait analysis. The cloud system may further implement the BrainOS, which is a cloud platform that may harbor the parallel data flow and FCU analytic engine powered by neurocomputational algorithms and deep machine learning. EEG, ECG, and other physiological data (external and internal) may be uploaded to the cloud wirelessly from the Brain Code Collection System (BCCS) and KIWI. A suite of algorithms may analyze the aggregate data stream and formulate instructions for optimal electrical and/or optical neuromodulations in a closed loop feedback system. Integrated stimulation/control, recording/readout and modulated stimulation parameters will allow simultaneous optical and/or electrical recording and stimulation. 
     BrainOS may integrate methods and technologies such as Deep Cognitive Neural Networks (DCNNs), Spiking neural networks (SNNs), and Spatio-temporal firing unit localization, described below. BrainOS may also feature a no-code drag-and-drop AI user interface that will make it accessible for medical doctors and researchers to use the power of deep analytics without needing to spend time and resources learning to code. 
     Deep Cognitive Neural Networks (DCNNs) are a new type of neural network architecture exhibiting Highly Energy-Efficient Shallow Neural Networks on CMOS or PCMOS. For example, embodiments may be 226-300 times more efficient in terms of Energy Performance Product. (DCNNs) may provide Fast Decision-Making, for example, up to 80× faster decision-making in real-time, based on simulations, improved generalization for long-term learning in extreme environmental changes, improved performance without retraining, a mean squared error much lower compared with classic neural networks, and faster convergence behavior when integrated with reasoning algorithms. 
     Spiking neural networks (SNNs) are artificial neural networks that closely mimic biological neural networks. Based on the human species proof that biological neural networks work, spiking neurons are more faithful (while still simplified) representations of the biological neurons, when compared with DNN. Embodiments may utilize unsupervised learning algorithms based on Hebbian Learning (“cells that fire together wire together”) using retrograde signaling (strengthens the synaptic between the activated neuron and the excitatory neuron; neighbor neurons also become associated with the target-activated neuron). Spiking neural networks (probabilistic networks) may have predictable behavior at the network level. Small spiking networks are a valid approach, given the retina and optic nerve&#39;s capacity of using a tiny fraction of the cells in information processing at a given time. Embodiments may use Long-Term Potentiation (LTP) and Depression (LTD) as essential additions to the big picture of how the brain learns. Embodiments may use Neuro-Evolution Methods (Genetic Programming) for optimizing the models for specific tasks. Embodiments may use Actor-based (message-based) approach to concurrency, to ensure parallel and async “synaptic signaling” 
     Embodiments may provide:
         Infinite Scalability—the “spiking brain” can live on a single computer, in a network or all over the internet.   Lightweight Computation—the neural level computation consists of simple addition and multiplication (there is no need for GPU devices or special hardware architecture—however, it is understandable that specially designed hardware can increase the performance of such networks).   Engram Interrogation—each neuron can be interrogated using specially designed messages (post and reply) even during the training period (without interrupting or perturbing the learning process). This feature enables us to understand the learning dynamics and even extract “incomplete memories” to further aid our understanding of the learning process in spiking networks context.   Recursive Data Structure Approach—each network can also act as a neuron, enabling us to experiment with a modular approach where some neurons are working together in isolation and provide a unique signal that can be sent to another network of neurons (exploring hypotheses like cortical columns).       

     Simulations show that the neural inhibition is especially relevant for the accuracy of the spiking network model when the same network is trained to perform/learn multiple tasks; but it has high-impact in reducing the required computation. Embodiments may successfully work with “low-resolution data” because of the double encoded nature of information: the information is both spatial and temporal. Embodiments may exhibit a behavior similar to supervised learning algorithms. 
     Spatio-temporal firing unit localization is a novel method that aims to detect when and where a neuronal unit fired. The method relies on knowing the geometry of the probes, the exact location of the recording electrodes, and a neuronal network model that can be tuned to reflect an actual biological neural network as recorded in vitro. 
     Embodiments of BrainOS may include a no-code drag-and-drop AI user interface that will provide different types of users (patients, doctors, neuroscientists) that are unfamiliar with AI tools to do AI data analytics without the pain of having to code or taking a deep dive in AI. BrainOS may integrate different data channels, such as KIWI action potential measurements, EEG, MRI, and IoT for monitoring Activities of Daily Living (ADL). Data display types and formats may include Tabular, Images, EEG, and integration with FCU. 
       FIGS. 103-113  illustrate examples of a no-code drag-and-drop AI user interface. For example,  FIG. 103  illustrates an example of a sign-in interface.  FIG. 104  illustrates an example of a project name definition interface.  FIG. 105  illustrates an example of a data upload interface, for example to upload Neuroimaging Informatics Technology Initiative (NIfTI) files that may include brain imaging data obtained using Magnetic Resonance Imaging methods, as well as tabular data, such as CSV files.  FIG. 106  illustrates an example of a directed project definition interface, which may obtain information to define, for example a purpose of the AI project, a data source for the AI project, a data domain for the AI project, explainability parameters for the AI project, a bias or average for the AI project, a training speed for the AI project, etc.  FIG. 107  illustrates an example of an experiment definition interface, which may provide the capability to set up and define experiments to be performed.  FIG. 108  illustrates an example of an experiment data analysis interface, which may provide the capability to define data analysis and evaluation of dataset, such as data from defined experiments.  FIG. 109  illustrates an example of a projects overview interface, which may provide information relating to and access to a plurality of projects.  FIG. 110  illustrates an example of a data analysis interface, which may provide the capability to examine particular data, such as MRI imaging data, as well as other data.  FIG. 111  illustrates an example of a data analysis interface, which may provide the capability to examine particular data, such as EEG data, as well as other data.  FIG. 112  illustrates an example of a results analysis interface, which may provide the capability to examine results of AI training, such as accuracy, loss, time, etc.  FIG. 113  illustrates an example of a results analysis interface, which may provide the capability to examine results of AI training, such as accuracy, loss, time, etc. 
     Data Processing. In embodiments, there may be many approaches for data processing and pre-processing. The methods used for this phase may depend on the type and state of the data that is to be processed and on the specifics of the task the system needs to solve. Examples of such processing may include Normalization, Standardization, Mean Removal, Filtering (ex. High/Low Pass), Artifact Rejection, Epoch Selection, Feature Extraction, Data Cleaning, Data Transformation, Image Segmentation, Image Augmentation, Image Enhancement etc. 
     Optimization Techniques. In embodiments, each model may have its own specific optimization aspects that may be handled. Examples of such optimization may include Optimizing Hyperparameters, such as Hill Climbing (Random Restart), Simulated Annealing, Genetic Algorithms, MIMIC, MCMC, Expectation Maximization, and Grid Search, as well as Gradient Descent Optimization, Stochastic Gradient Descent Optimization, Adaboost, Memento etc. In embodiments, these optimization techniques may be modified or customized. Likewise, other optimization techniques may be utilized. 
     User Interface. In embodiments, the Cloud User Interface (UI) may have, for example, three different types of users, each of which may have different capabilities. 
     Patients. In embodiments, the UI for the patients may be focused on data visualization. They may be able to see real time activity as it comes in from the implant device. 
     Patients may also be able to select from a list of stimulation commands that were prescribed by the doctor. These commands may be either based on their current activity (sleep, walk, etc.) or based on their physiological state (tremors, inability to focus, etc.). Patients may also be able to annotate certain time segments with activities they were involved in during that time span to indicate, for example, when they were doing physical activities, mental tasks, etc. 
     Doctors. In embodiments, doctors may be able to access individual patient data. For each patient, they may have the option to apply different predefined machine learning models—presented as software-based prescriptions—in order to determine the best treatment going forward. Doctors may be able to configure the implant device, based on the output of the previous models. They may be able to set different modes of operation for the implant device, and change its recording/stimulation parameters. They may also be able to visualize the data of the patient in different ways, and flag certain patients for detailed analysis from neuroscientists. 
     Researchers. In embodiments, researchers may compose pipelines to process the data from many patients. An example of a general description of such a pipeline  8100  is shown in  FIG. 81 . In this example, pipeline  8100  may include reading patient data from a database  8102 , processing the data  8104 , training a machine learning classifier model  8106 , validating the results  8108 , and saving the trained model to storage  8110 , such as disk. 
     Visualization Interface. In embodiments, the system may interface with tools such as EEGLAB™, which is a widely used neuroscience package for MATLAB™ or GEPETTO™ which can be used to visualize neurons, in order to provide Visualization Interfaces with which researchers are already familiar. In embodiments, examples of visualization methods may include Scalp Maps, ERP Images, Line Charts, Neuron Visualizations, Data Statistics, etc. 
     Security. Given the medical nature of the data handled by the system, great care must be taken to avoid any unauthorized access to the data or any commands sent by unauthorized agents. Accordingly, embodiments may provide secure communications, secure streaming, secure access, and secure storage. For example, providing secure communications may include ensuring that all the RPCs (Remote Procedure Calls) issued between the various microservices that make up the system are encrypted using the latest SSL encryption standards. In embodiments, data that is streamed from the Gateway may also be encrypted, to prevent tampering and snooping. In embodiments, secure access may be provided by an Identity and Access Management layer, which may give permissions to each actor to access and execute only user specific data and commands. For example, patients should be able to view only their own data and send to the implant device commands that have been authorized by a doctor, doctors should be able to only view the full data of their patients, use pretrained models to prescribe new software-based treatments for their patients and send commands to their patients&#39; implant devices. In embodiments, researchers should have access only to anonymized patient data that they can use for deriving new scientific insights using the AI Research Interface provided in the Cloud environment. In embodiments, to prevent unauthorized physical access in data centers and provide secure storage, the data may be stored with encryption. 
     Consistency &amp; Durability Requirements. In embodiments, there are a variety of aspects that may be considered in terms of system availability, consistency, and fault tolerance. For example, issues such as location, data consistency, maintenance, and backups may be considered. 
     Location. In embodiments, the cloud servers may be placed in a single region or in multiple regions. Multiple regions may mean higher availability due to outages that take out a single region, but comes at higher cost and higher system architecture complexity. 
     Data consistency. In embodiments, data may be stored in multiple copies to reduce the chance of one outage leading to the deletion of all the data. In embodiments, the choice may be between consistent availability, meaning that all the data is the same all the time and everywhere, at the cost of higher latency, or eventual availability, which means that depending on where the data is read from, different information might be returned. 
     Maintenance and DevOps. In embodiments, there may be a tradeoff to be made between running the system on premises or on public cloud providers such as AMAZON WEB SERVICES™, GOOGLE CLOUD PLATFORM™ or AZURE™. This is because of different costs, maintenance work and infrastructure development. Considering the requirements for scaling up, public clouds may become cost-prohibitive, so they may be replaced with private hosted clouds, such as KUBERNETES™, or specialized clouds. 
     Backups. In embodiments, in order to ensure that data is not lost in case of system failure, regular backups may be done. They may happen at several levels. For example, data may be stored redundantly at the datacenter levels—to prevent loss due to individual machine failures. Likewise, data may be regularly copied to an offsite storage—to protect against geographic catastrophes. 
     An example of a process  8200 , which is of a portion of a process of fabrication of CNT implant devices, is shown in  FIG. 82 . In this example, a microelectrode array of connections between electronic readouts and in-vivo human neural tissue may be fabricated. Using electroplating as a deposition technique, a CNT-based microelectrode array may be formed through a 1-mm thick micro-channel glass array (MGA) substrate. In an embodiment, the electrode arrays may have CNT contacts on the front side, and metal contacts on the back. In an embodiment the electrode arrays may have metal contacts on both sides. Embodiments may include arrays with CNT contacts on the front side, and metal contacts on the back, and arrays with metal contacts on both sides. 
     Process  8200  may begin with  8202 , in which an MGA substrate may be formed. At  8204 , metal electrodes may be formed on the backside of the MGA substrate. At  8206 , gold micro wires may be electrodeposited on the metal electrodes in the micro channels of the MGA substrate. At  8208 , the topside of the MGA substrate may be etched to expose the gold micro wires. At  8210 , the CNT material may be electrodeposited onto the exposed gold micro wires. At  8212 , the backside of the MGA substrate may be etched to expose the backside gold micro wires. 
     An example of a process  8300 , which is of a portion of a process of fabrication of CNT implant devices, is shown in  FIG. 83 . In this example, the MGA/CNT-based microelectrodes may be hybridized to an electrical readout chip providing for a parallel neural-electronic interface to the brain. Process  8300  may begin with  8302 , in which an appropriate readout chip design may be selected. At  8304 , metal bumps, such as indium, may be deposited on the contacts of the readout chip. At  8306 , the micro wires that were exposed on the backside at  8212  in  FIG. 82  may be pressed onto the metal bumps, creating electrical contact with the readout chip. 
     Embodiments may be manufactured using, for example, a Silicon (Si) (1-10Ω) wafer. On the front of the Si wafer CNTs or graphenes may be grown, while on the back Aluminum may be deposited. The electrode contact may be achieved through the metallization of the wafer on its back side. 
     Graphenes can be grown directly on Si. The thickness (height) of the graphene film can start from several hundreds of nano-meters to 1-2 micron or more. CNTs may be grown on a thin film of titanium nitride (TiN). In this case, on the front of the silicon wafer a ˜50 nm TiN film may be deposited followed by the CNTs growth process. Embodiments may include CNTs of several microns in length. In embodiments, graphene or CNT electrodes may be as long as 100 microns in length, or longer. In embodiments, individual electrodes may have a variable opening between 1 um and 25 um. In embodiments, the silicon wafer may be processed to create dies with a size of 50 um×50 um or larger. For example, the wafer may be partitioned into a matrix of squares that has a side length of 1 mm, placing the electrodes structure in the center of each square, with a variable geometry. Given the metalization on the back of the wafer, in embodiments, the die may be directly glued on a conductive surface (PCB, Kapton ribbon with metallic deposition etc.) which may permit integration to any type of connector. The gluing can be done using, for example, Silver paste. 
     An example of a recording and stimulation signal and data flow on an implant device is shown in  FIG. 84 . 
     An example of a recording and stimulation signal and data flow on the Gateway and Cloud is shown in  FIG. 85 . 
     An exemplary block diagram of an embodiment of an implant device electrical system  8600  is shown in  FIG. 86 . In this example, system  8600  includes Vertically Aligned NanoTube Array (VANTA)  8602 , cable  8604 , analog multiplexers  8606 , gain block  8608 , ADC  8610 , DAC  8612 , control/processing circuitry  8614 , and Wi-Fi communication circuitry  8616 . 
     In embodiments, VANTA  8602  may include an array of vertically aligned nanotubes, as discussed above. Cable  8604  may connect VANTA  8602  to electronic circuitry, such as multiplexers  8606 . In embodiments, cable  8604  may include a double layer flex cable, to connect the VANTA to the Analogue Front-end. Flex circuits offer the same advantages of a printed circuit board—repeatability, reliability, and high density—but with the added features of flexibility and vibration resistance. 
     In embodiments, the amplitudes of the analog signals may be adjusted by gain block  8608 , which may include a plurality of amplifiers, one for each ADC. In embodiments, a plurality of ADCs  8610  may be multiplexed to a plurality of signals from VANTA  8602  by multiplexers  8606 . The switching speed of multiplexers  8606  may be faster than the sampling frequency of ADCs  8610  by the number of the probes divided by the number of ADCs. Accordingly, in embodiments, the multiplexing frequency may be given by Fmux=CEIL(128 probes/16 ADCs)*3 kHz=24 kHz. The switching is fast enough so that the time taken to do a full scan of all the multiplexed channels would not significantly affect the measurement of the channels. 
     In embodiments, the ADC conversion may be triggered by the measured potential crossing a set threshold. As soon as the triggered ADC conversion starts, the adjacent ADCs may also be triggered. 
     In embodiments, in order to increase the Signal to Noise Ratio (SNR) and acquire position data of action potential source, several ADC measurements may be taken simultaneously, in a grid formation. The grid dimensions may be dependent on probe spatial density. An example of a 4×4 probe multiplexer distribution is presented in  FIG. 87 . All the squares with the same number represent probes which share the same Amplifier and ADC through a multiplexer. The probes may be connected to multiplexers in such a way that, no matter which ADC is being triggered, no adjacent probe shall be multiplexed to the same channel. 
     After a 3×3 ADC grid is acquired (the grid containing the triggered channel and the surrounding 8 channels), the results may be processed by control/processing circuitry  8614 . Control/processing circuitry  8614  may include a microcontroller or other computing device, as well as hardware processing functions, which may be implemented, for example, in an FPGA or ASIC. Such hardware processing may perform, for example, multiplication to increase SNR, weighting to accurately place the signal source, etc. 
     An exemplary embodiment of a portion of an implant device electrical system is shown in  FIG. 87 . 
     For example, as shown in  FIG. 88 , the action potential may fire in square  8802  with and may cross the set threshold. As a result, the corresponding ADC and all the adjacent ADCs  8804  may be triggered. Because the maximum length of an action potential is about 5 ms, all 9 ADCs may obtain samples for that time. The resulting data may be processed in control/processing circuitry  8614 . For example, the signals may be multiplied to increase SNR. At the same time, based on the signal intensity, a point may be placed on the calculated position with the highest potential—spatial resolution depends on the number of channels sampled. 
     An example of the triggering of the first ADC and the quantization of the action potential is illustrated in  FIG. 89  for a 3 kHz sampling rate. For a 5 ms long spike, the curve may be described by 16 points and model-based reconstruction of the signal may be used on the recorded data. In embodiments, the reading sampling rate may be increased, up to, for example, about 96 kHz, with increased power consumption. 
     An exemplary block diagram of multiplexer connections  9000  for two pairs of differential probes  9002 ,  9004  is shown in  FIG. 90 . Notice that the positive and negative probes are each connected to different multiplexers  9006 ,  9008  for simultaneous availability. As the DAC is enabled, the ADC is disabled for the same pair, allowing the reuse of the same multiplexer. 
     In embodiments, for recording, the signal from the multiplexer may be amplified using a Gain Block  9100 , such as the example shown in  FIG. 91 , before being input to the ADC sampling unit. In embodiments, the First Amplifier Stage may include a differential input fixed gain instrumentation amplifier  9102 . This design, while not adding much complexity, may be characterized by a low noise figure and a high common mode rejection ratio. It also doubles as an input driver with a very high input impedance, reducing load on the signal. In embodiments, amplifier stage  9102  may be followed by a switched capacitor bandpass filter of, for example, 3 kHz, to filter out the MUX switching noise. In embodiments, the Second Amplifier Stage may include a variable gain amplifier  9106  having a gain range of, for example, 1 to 128. The gain of amplifier  9106  may be programmable using, for example, a Gain and Clamp Adjust DAC Block, which may correct for clipping caused by probe-neuron distance variation. 
     An exemplary block diagram of a Gain Block  9200  is shown in  FIG. 92 . In this example, Gain Block  9200  may include a differential two stage variable gain amplifier  9202 , such as the VCA2617 from TEXAS INSTRUMENTS®, low pass anti-aliasing filter  9204  having a bandwidth of, for example, 3 kHz, and a gain and claim adjustment block  9206 , such as the AD7398/AD7399 from ANALOG DEVICES®. In this example, amplifier  9202  may be continuously variable, voltage-controlled gain amplifier. Adjustment block  9206  may accept digital data to control DACs and output voltages to control the gain and clamping of amplifier  9202 . Low pass filter  9204  may, for example, be implemented using passive components and may be used to restrict the bandwidth of signal before being sampled by the ADCs. 
     In embodiments, in order to measure a total of 128 differential probes, a compromise may be found between a high enough number of simultaneously sampled channels, for good signal characteristic, and a low number of ADCs, for space saving considerations. In embodiments, a 3×3 grid may be used, requiring a total of 9 triggered ADCs. 
     In embodiments, an ADC  9300 , an example of which is shown in  FIG. 93 , such as the ADS1278 from TEXAS INSTRUMENTS®, may be used. In this embodiment, each ADC device may have 8 simultaneous sampling channels, thus, two ADS1278 devices may be used for a total of 16 simultaneous measurements. After multiplexing each ADC channel to 8 differential probes, the total 128 necessary measurement channels may be obtained. It is to be noted that the ADS1278 is a high precision 24-bit ADC with a high-power consumption. Given that the signals are repetitive in nature, embodiments may only need 10 bits of ADC precision for the encoding of the action potential signal. Accordingly, other ADCs having lower precision and lower power consumption may advantageously be utilized in embodiments. 
     In embodiments, DAC Block circuitry  9400 , an example of which is shown in  FIG. 94 , such as the LTC1450/LTC1450L from ANALOG DEVICES®, may be used for electrical stimulation of the neuronal tissue through the CNTs. DAC Block  9400  may include an array of high resolution DACs. The stimulation circuit may be able to generate multiple arbitrary waveforms. In embodiments, the DACs may interface with control/processing circuitry  8614  using a parallel or serial architecture in which all DACs are sharing the same data bus. 
     In embodiments, each DAC may have a Load Data Signal Line used for data output register update. The control/processing circuitry  8614  may load sample data into each DAC. After all the data has been uploaded, a single Load Data Line Toggle may set the analog output of the DAC at the desired values. 
     For example, consider  8  discrete signals having 256 samples stored as a matrix: stimulus_name[DAC_resolution][sample]. In this example, a write process may include loading a first sample of each stimulus into a corresponding DAC, toggling all Load Data Lines simultaneously and updating DAC output voltages, loading the next samples repeatedly until the stimulus signals have been generated, and setting the output channels to high impedance. 
     In embodiments, due to the quantization levels of the DAC, the output voltage may be affected by slight transitions. In order to clean up the signal, a low pass filter may be inserted at the DAC outputs. 
     In embodiments, operational modes for the Closed Loop Process may include Sequential Reading and Stimulation and Simultaneous Reading and Stimulation. The Sequential Reading and Stimulation mode may share the same Mux/Demux block between ADCs and DACs. This method may reduce design complexity, but cannot stimulate and read the neuronal activity in different locations of the tissue at precisely the same time. 
     The Simultaneous Reading and Stimulation mode may use a plurality of Mux/Demux blocks for ADCs and DACs. The high impedance of the ADC inputs and the Gain Block will not affect the stimulation. In embodiments, this architecture may stimulate the neuronal activity in a certain location and measure the response signal in an arbitrary location. There may be the need to set two different Mux/Demux addresses: one for stimulation and one for impulse response. 
     In embodiments, with use of the Multiplexing Pattern described above, the shortcomings of the first operation mode are alleviated, as there will be no two simultaneous writes in the same 4×4 cell. 
     In embodiments, control/processing circuitry  8614 , shown in  FIG. 86 , may include a microcontroller or other computing device, as well as hardware processing functions, which may be implemented, for example, in an FPGA or ASIC. For example, in an FPGA implementation a SPARTAN-7® FPGA from XILINX® may be utilized. In another example, an IGLOO NANO® from MICROSEMI® may be used. 
     In embodiments, control/processing circuitry  8614  may perform data acquisition from the ADCs; separation of overlapped signals; action potential recognition and sorting including finding firing patterns, isolating signals from each other, and eliminating crosstalk temporally (time window cropping) and dimensionally (close signal multiplication); creating a perceived map of neurons based on signal strength and pattern recognition, thus further reducing necessary data throughput, and detecting higher-order features of the neural network. 
     In embodiments, control/processing circuitry  8614  may include a microcontroller or microprocessor for serialization, debugging, communication and control. For example, a single or multi-core CPU may be used. In embodiments, embedded memory, external memory, and peripherals may be located on the data bus and/or the instruction bus of these CPUs. An adequate address space, such as 4 GB, and functions such as DMA and built-in Wi-Fi may be utilized. Control/processing circuitry  8614  may be used for controlling the hardware components (MUX, ADC, DAC) and data transmission and acquisition rates. 
     Optical Recording &amp; Stimulation. In embodiments, the range of radiation wavelengths for neuron stimulation may be between 380 nm and 470 nm, which may be obtained using one single LED by modulating the current characteristics. For example, a pixel density of 570 ppi (pixels per inch) for a 2×2 array (for color) will yield a pixel 22.3 microns wide. Depending on the pitch of the CNTs, the LEDs may be placed either in between the CNTs or right underneath them (the wires connected to the CNT may be run through the LED). 
     Optical Reading. In embodiments, if LEDs are used for optical stimulation, options for optical recording may include using the LEDs as radiation receptors to convert light into electric signals and using image sensors, such as CCD or CMOS image sensors. In embodiments, if LEDs are used as radiation receptors, the same device may be used both for optical stimulation and recording. In these embodiments, the recorded electric signal may be relatively weaker and noisier. This is an important drawback especially when the recorded signals have such small values. In embodiments, use of CCD or CMOS photodiodes may provide a stronger signal. In these embodiments, the optical reading and stimulation resolution may decrease due to the fact that these sensors have to be added in addition to the existing LEDs. 
     In embodiments, the circuitry may be in the form of a readout-integrated circuit (ROIC), which may be similar to or a modification of, for example, a solid-state imaging array. The ROIC may include a large array of “pixels”, each consisting of a photodiode, and small signal amplifier. In embodiments, the photodiode may be processed as a light emitting diode, and the input to the amplifier may be provided by the CNT connection to the neuron. In this manner, neurons may be stimulated optically, and interrogated electrically. The ROIC may include CCD or CMOS photodiodes or other imaging cells, to receive optical signals, electrical receiving circuitry, to receive electrical signals, light outputting circuitry, such as LED or lasers, to output optical signals, and electrical transmitting circuitry, to transmit electrical signals. 
     In embodiments, the light sources may be placed at the base of the CNTs, rather than using optic fibers. In these embodiments, the light does not have to be transported from the light sources to the recording site and back using an optical circuit. Exactly how many neurons may be optically reached depends on the distance between the neuronal tissue and the CNT board which in turn depends on the length of the CNTs. In these embodiments, a plastic magnifier on the LED may be used to focus the light emission. But considering the width of one LED is about 23 microns, this would be a challenging solution in terms of manufacturing. 
     In embodiments, optical fibers may be used to take the emitted wave from the light source to the tissue. For example, for fiber optics with glass fibers, light may be used with wavelengths longer than visible light, typically around 850, 1300 and 1550 nm. The reason these wavelengths are preferred is that attenuation in the fibers is smaller for these wavelengths. As shown in  FIG. 95 , scattering effects are lower as the wavelength increases, and absorption occurs in in several specific wavelengths (called water bands), due to the absorption by minute amounts of water vapor in the glass. However, these wavelengths may be significantly larger than what it is needed for neural stimulation (380 to 470 nm). In embodiments, plastic optical fibers may be used. 
     An exemplary block diagram of a computing device  9600 , which may be included in control/processing circuitry  8614 , shown in  FIG. 8 , in which processes involved in the embodiments described herein may be implemented, is shown in  FIG. 96 . Computing device  9600  may be a programmed general-purpose computer system, such as an embedded processor, microcontroller, system on a chip, microprocessor, smartphone, tablet, or other mobile computing device, personal computer, workstation, server system, and minicomputer or mainframe computer. Computing device  9600  may include one or more processors (CPUs)  9602 A- 9602 N, input/output circuitry  9604 , network adapter  9606 , and memory  9608 . CPUs  9602 A- 9602 N execute program instructions in order to carry out the functions of the present invention. Typically, CPUs  9602 A- 9602 N are one or more microprocessors, such as an INTEL PENTIUM® processor.  FIG. 96  illustrates an embodiment in which computing device  9600  is implemented as a single multi-processor computer system, in which multiple processors  9602 A- 9602 N share system resources, such as memory  9608 , input/output circuitry  9604 , and network adapter  9606 . However, the present invention also contemplates embodiments in which computing device  9600  is implemented as a plurality of networked computer systems, which may be single-processor computer systems, multi-processor computer systems, or a mix thereof. 
     Input/output circuitry  9604  provides the capability to input data to, or output data from, computing device  9600 . For example, input/output circuitry may include input devices, such as keyboards, mice, touchpads, trackballs, scanners, etc., output devices, such as video adapters, monitors, printers, etc., and input/output devices, such as, modems, etc. Network adapter  9606  interfaces device  9600  with a network  9610 . Network  9610  may be any public or proprietary LAN or WAN, including, but not limited to the Internet. 
     Memory  9608  stores program instructions that are executed by, and data that are used and processed by, CPU  9602  to perform the functions of computing device  9600 . Memory  9608  may include, for example, electronic memory devices, such as random-access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), electrically erasable programmable read-only memory (EEPROM), flash memory, etc., and electro-mechanical memory, such as magnetic disk drives, tape drives, optical disk drives, etc., which may use an integrated drive electronics (IDE) interface, or a variation or enhancement thereof, such as enhanced IDE (EIDE) or ultra-direct memory access (UDMA), or a small computer system interface (SCSI) based interface, or a variation or enhancement thereof, such as fast-SCSI, wide-SCSI, fast and wide-SCSI, etc., or Serial Advanced Technology Attachment (SATA), or a variation or enhancement thereof, or a fiber channel-arbitrated loop (FC-AL) interface. 
     The contents of memory  9608  may vary depending upon the function that computing device  9600  is programmed to perform. For example, as shown in  FIG. 1 , computing devices may perform a variety of roles in the system, method, and computer program product described herein. For example, computing devices may perform one or more roles as end devices, gateways/base stations, application provider servers, and network servers. In the example shown in  FIG. 96 , exemplary memory contents are shown representing routines and data for all of these roles. However, one of skill in the art would recognize that these routines, along with the memory contents related to those routines, may not typically be included on one system or device, but rather are typically distributed among a plurality of systems or devices, based on well-known engineering considerations. The present invention contemplates any and all such arrangements. 
     In the example shown in  FIG. 96 , memory  9608  may include sensor data capture routines  9612 , signal pre-processing routines  9614 , signal processing routines  9616 , machine learning routines  9618 , output routines  9620 , databases  9622 , and operating system  9624 . For example, sensor data capture routines  9612  may include routines that interact with one or more sensors, such as EEG sensors, and acquire data from the sensors for processing. Signal pre-processing routines  9614  may include routines to pre-process the received signal data, such as by performing band-pass filtering, artifact removal, finding common spatial patterns, segmentation, etc. Signal processing routines  9616  may include routines to process the pre-processed signal data, such as by performing time domain processing, such as spindle threshold processing, frequency domain processing, such as power spectrum processing, and time-frequency domain processing, such as wavelet analysis, etc. Machine learning routines  9618  may include routines to perform machine learning processing on the processed signal data. Databases  9622  may include databases that may be used by the processing routines. Operating system  9624  provides overall system functionality. 
     As shown in  FIG. 96 , the present invention contemplates implementation on a system or systems that provide multi-processor, multi-tasking, multi-process, and/or multi-thread computing, as well as implementation on systems that provide only single processor, single thread computing. Multi-processor computing involves performing computing using more than one processor. Multi-tasking computing involves performing computing using more than one operating system task. A task is an operating system concept that refers to the combination of a program being executed and bookkeeping information used by the operating system. Whenever a program is executed, the operating system creates a new task for it. The task is like an envelope for the program in that it identifies the program with a task number and attaches other bookkeeping information to it. Many operating systems, including Linux, UNIX®, OS/2®, and Windows®, are capable of running many tasks at the same time and are called multitasking operating systems. Multi-tasking is the ability of an operating system to execute more than one executable at the same time. Each executable is running in its own address space, meaning that the executables have no way to share any of their memory. This has advantages, because it is impossible for any program to damage the execution of any of the other programs running on the system. However, the programs have no way to exchange any information except through the operating system (or by reading files stored on the file system). Multi-process computing is similar to multi-tasking computing, as the terms task and process are often used interchangeably, although some operating systems make a distinction between the two. 
     The present invention may be a system, a method, and/or a computer program product at any possible technical detail level of integration. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention. The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. 
     The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire. 
     Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers, and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device. 
     Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user&#39;s computer, partly on the user&#39;s computer, as a stand-alone software package, partly on the user&#39;s computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user&#39;s computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry (such as that shown at  208  of  FIG. 2 ) may include, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention. 
     Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions. 
     These computer readable program instructions may be provided to a processor of a general-purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks. 
     The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks. 
     The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions. 
     Although specific embodiments of the present invention have been described, it will be understood by those of skill in the art that there are other embodiments that are equivalent to the described embodiments. Accordingly, it is to be understood that the invention is not to be limited by the specific illustrated embodiments, but only by the scope of the appended claims. Further, it is to be noted that, as used in the claims, the term coupled may refer to electrical or optical connection and may include both direct connection between two or more devices and indirect connection of two or more devices through one or more intermediate devices.