For a detailed video explanation of the entire build process, watch here:
NeuroPulse: Wi-Fi Enabled Cognitive Training System for All Ages
NeuroPulse is an interactive LED-based therapy game designed to enhance reaction time, cognitive function, and hand-eye coordination. By integrating the ESP32-C6, the system offers wireless connectivity via esp-now protocol and improved performance. Users respond to random LED patterns, while the system provides real-time scoring and adjustable difficulty levels to keep them engaged. This compact, scalable, and IoT-ready solution is ideal for healthcare, education, and personal wellness applications.
MyLists | DigiKey - NeuroPulse
Components for Main Board
- 1x ESP32-C6-DEVKITC-1-N8
- 8x 74HC595 module
- 1x 7805
- 120x RGB led common cathode
- 20meters AWG 28 single lead wire
- 10meters per each AWG 26 wire (red, blue, white, yellow, black)
- 2x zero PCB
- 1x 16X2_I2C display
- 1x 12VDC/2A power supply
- 2x M3 X 25mm Female to Female Brass Hex
- 4x M3x20mm Male to Female Brass Hex
- 8x M3x10mm Screws
- 8x8 feet foam sheet
Components for striker
- 1x ESP32 Mini
- 1x joystick module
- 1x color sensor
- 1x vibrator
- 1x buzzer
- 1x li-po battery
- 1x charger module
- 1x pvc endcap
- 1 role dual side tape
Making:
Step 1 – Sensor and Input Testing
I connected the color sensor to the ESP32 Mini and tested the joystick (X and Y values), button input, and vibration motors. Using all these inputs, I created a message packet that includes:
- Joystick X
- Joystick Y
- Switch status
Color sensor value
Packet look like this "x,y,sw, colour"

Using this circuit diagram I connected above circuit

Here I taken the pvc pipe endcaps in that I maked the hole on side to access the usb port with help of dual tap and glue gun I fits the all circuitry inside the end cap after assembly it looks like

Step 2 – Preparing the Foam Sheet Base
I used a 5 mm thick foam sheet of size 3 × 2 feet.
I marked the LED placement layout and designed two LED matrix sections:
- One 8×8 matrix
One 7×7 matrix
After marking

Step 3 – Drilling Holes
I made holes in the foam sheet according to the marked matrix layout.
Step 4 – Inserting RGB LEDs
I inserted all RGB LEDs into the holes and applied glue to hold them firmly in place.

Step 5 – LED Wiring Preparation
I bent the LED legs:
- All anodes toward one side
- All cathodes toward the opposite side
Using AWG28 single-core wire, I soldered each LED and grouped:
- All red pins together
- All green pins together
- All blue pins together
Step 6 – Adding Shift Registers
I placed shift registers for both the anode side and the cathode side.
Then I connected all LED wires to their respective shift registers.

Step 7 – Signal Pin Setup
I connected as per circuit diagram:

- All latch pins to one GPIO
- Separate serial data lines for the 7×7 and 8×8 matrices
- A common clock line for the anode-side shift registers
Step 8 – Controller and Display Connection
I connected the ESP32-C6 to the shift registers and attached the 16×2 LCD (I2C) for display output.
Step 9 – LED Test Code
I wrote test code to randomly blink LEDs on the matrix and verified hardware functionality.
Step 10 – Wireless Communication
I established wireless communication between the two ESP32 boards (master and slave) using ESP-NOW and tested successful data transfer.
Step 11 – Game Logic & Scoring
Based on the messages received from the master, the slave takes decisions such as:
- Updating the score
- Blinking specific LED patterns
Everything worked correctly after final testing.