ninjaNIRS 2020


At the Neurophotonics Center at Boston University, we are developing a wearable, modular fNIRS system called ninjaNIRS. At our current stage, we have a prototype version of the device (ninjaNIRS 2020) compatible with up to 24 dual optodes (source and detector in one). We have also developed 3D printed solutions for encasing the optode and control unit, as well as to hold the optodes on the head on the required locations for each experiment. As this is an open project, schematics for the hardware and mechanical drawings can be downloaded directly from this page.

Control Unit

The ninjaNIRS system consists of two main components: the optodes and the control unit. The system is designed to be modular and be able to use a variable number of optodes depending on the user needs.  The newest release of ninjaNIRS (2020) is compatible with up to 24 dual optodes. In future versions, the user will be able to interconnect several control units in order to achieve a larger number of optodes and channels. The control unit is based on an FPGA and is also equipped with an Arduino Teensy to implement supporting functions.

Control unit schematics: Zip, PDF

Breakout board schematics:  ZipPDF

Breakout adapter board schematics: Zip, PDF  

Control unit firmware

Control unit programming guide

Control unit enclosure (RevAf)

This control unit enclosure (for control unit model BZB-CUENC-SA) was designed to be 3D printed. We provide download links for the complete assembly (SolidWorks 2020) as well as STEP and STL versions of the enclosure components for portability. We have successfully printed these part on SLS nylon. Required resolution is around 0.25 mm.

SolidWorks 2020 assembly download

STEP model download

STL model download

Control unit assembly document

PCB Bill of Materials

Dual Optodes

The current version of the ninjaNIRS system (2020) uses dual optodes (source plus detector on each optode). These optodes can be configured as sources, detectors or as short separation. Each dual optode is equipped with an FPGA to pre-process the information sent to the control unit. The detector technology used in these optodes is a PIN photodiode (Vishay VEMD5060X01), and the light sources are dual  LEDs at 730 and 850 nm (Marubeni SMT730D/850D). The dual optodes are held in custom made 3D printed enclosure with two custom made light pipes (one for transmitting the light in and another for transmitting the light out). In this enclosure, the detector is equipped with an IR gel filter to reduce the amount visible light reaching it.

Dual optode PCB 1 schematicsZip, PDF

This PCB forms the interface between the control unit and the main optode board containing the source and detector elements. This board also contains the voltage regulator and filtering circuit for the dual-color IR LED on the main optode board. An RGB indicator LED with I2C driver intensity control and a 6-Axis IMU (Bosch BMI160) are also present on this board but the functionality of these components is not yet supported in firmware.

Dual optode PCB 2 schematics: Zip, PDF

This PCB contains the dual-color IR LED and photodiode used as the emitting and detecting element to capture fNIRS measurements for the NinjaNIRS 2020 system. These components are controlled by an ADC and FPGA located opposite the LED and photodiode alongside the PCB interconnect.

Dual optode enclosure (RevAE)

This enclosure is used to both protect the optode electronics and allow them to be mounted on the head in combination with a ninjaCap. It also includes light pipes to transport the light to and from the scalp to the PCB. It was designed to be 3D printed. We have successfully printed these part on SLS nylon. Required resolution is around 0.25 mm.

SolidWorks 2020 version download

STEP version download

STL version download

Optode assembly document


ninjaCap is a procedurally generated 3D printed cap. Users of our AtlasViewer software can use their probe designs (SD files) to generate a computer model of the probe locations on the head. After that, our ninjaCap software creates several printable panels, which are then stitched together to build the cap.




ninjaNIRS 2020 is compatible with one external accelerometer. The accelerometer enclosure is made to fit in the ninjaCap optode holders.

Accelerometer and remote receiver PCB schematics

Accelerometer schematics:  Zip, PDF

Arduino firmware for control unit (accelerometer and remote trigger board support)

Accelerometer enclosure

Remote trigger board

This board is used to send TTL triggers wirelessly to the ninjaNIRS unit.

Remote trigger schematics


ninjaGUI is a Matlab-based graphic user interface designed to be used with our ninjaNIRS devices. The code is open and can be accessed on Instructions on its use and code documentation can be found at the wiki of the GitHub repository for the project (


The current version of the ninjaNIRS system requires several hardware accessories to operate:

Battery: ninjaNIRS requires a 12 V power supply to operate.  A 3 Ampere power source is enough to run a 24 optode system with no issues. For portability, we are using 12 V power banks (for example, the YB1203000-USB).

Backpack: we are using commercial backpacks to carry the unit on the back of the user.

USB-C: The ninjaNIRS control unit is connected to a computer through a USB-C cable.

Computer: ninjaNIRS 2020 is controlled with serial commands through an USB port. Our current solution is issue these commands and read the produced data with a Windows computer. The best way to perform measurements for a neuroscience experiment using ninjaNIRS is through our custom GUI, ninjaGUI. The control unit can be connected to a desktop PC using a long USB cable, or alternatively, can be connected to a laptop on the back of the user (controlled with a remote desktop application) for extra portability.

Performance tests

NEP measurements for ninjaNIRS 2020.

Other components

Light pipes

IR filter

Connectorized wires

Disclaimer or responsibility: all the schematics provided on this website are provided for informational purposes only. Neither Boston University, the Neurophotonics center nor the people associated with the BOAS lab are to be liable or held responsible for any potential damage caused by the use of the technologies here shared. Any use of the information provided here is strictly at your own risk.