Neuromorphic Analog Spiking Neural Network with Servo Motor Control Using CD40106

Published Jun 30, 2026
 10 hours to build
 Intermediate

A biologically inspired analog spiking neural network built using the CD40106 Schmitt Trigger IC. The system implements excitatory and inhibitory synapses using analog circuitry and controls a servo motor based on real-time IR sensor inputs.

display image

Components Used

Arduino UNO
Arduino UNO
1
SG90 Servo Motor
Power Management IC Development Tools SG90 Servo
1
2N2222A NPN Transistor
Bipolar Transistors - BJT BJTs
1
1N4148 Diode
1N4148 Diode
1
Capacitor 1 µF
Aluminium Electrolytic Capacitors - Radial Leaded 100V 1uF 105C 1k Hour Radial
2
Capacitor 220 µF
Aluminium Electrolytic Capacitors - Snap In 450V 220uF 20% 18k Hours
2
Resistor 330 Ohms
Metal Film Resistors - Through Hole FRN25 5% 330R
3
Resistor 100 kOhms
Metal Film Resistors - Through Hole 100K ohm 1/4W 1%
1
Breadboard
Breadboard
3
Connecting Wire Jumper Wires
Connecting Wire Breadboard wires
1
CD40106
Schmitt trigger ic
1
IR Detection sensor
IR Detection sensor
2
capacior 47 µF
3
Resistor 10k Ohm
3
Resistor 22K 1206
Resistor 22K 1206
1
Resistor 47k
2
Description

Introduction

Neuromorphic engineering aims to emulate the computational principles of the biological brain using electronic hardware. Unlike conventional digital systems, biological neurons communicate using electrical spikes whose timing and frequency encode information.

In this project, a low-power analog spiking neural network is implemented using the CD40106 Schmitt Trigger Inverter IC. The network consists of two presynaptic neurons and one postsynaptic neuron. The presynaptic neurons receive inputs from IR proximity sensors and influence the postsynaptic neuron through excitatory and inhibitory synapses.

The postsynaptic neuron output is converted into an analog signal and read by an Arduino, which controls a servo motor. The resulting system behaves like a simple neuromorphic sensory-to-actuator reflex mechanism.

(Insert Block Diagram here)

Components Required

  • Arduino Uno
  • CD40106 Schmitt Trigger Inverter IC
  • 2 × IR Obstacle Sensors
  • SG90 Servo Motor
  • 2N2222A NPN Transistor
  • 1N4148 Diode
  • LEDs
  • Breadboard
  • Jumper wires
  • Resistors (330Ω, 10kΩ, 22kΩ, 47kΩ, 100kΩ)
  • Capacitors (1µF, 47µF, 100µF, 220µF)

Step 1 – Building Neuron A (Inhibitory Neuron)

Neuron A acts as the inhibitory neuron and is driven by the first IR sensor.

Connections:

  • Pin 1 → 47µF capacitor → GND
  • Pin 1 → 10kΩ resistor → Pin 2
  • IR Sensor A Output → Pin 1
  • Pin 2 → 330Ω resistor → LED → GND

When IR Sensor A detects an object, Neuron A becomes active and drives the inhibitory synapse.

(Insert Neuron A circuit image here)

Step 2 – Building Neuron B (Excitatory Neuron)

Neuron B functions as the excitatory neuron.

Connections:

  • Pin 9 → 47µF capacitor → GND
  • IR Sensor B Output → 10kΩ resistor → Pin 9
  • Pin 8 → 330Ω resistor → LED → GND

Activation of Neuron B increases the activity of the postsynaptic neuron.

(Insert Neuron B circuit image here)

Step 3 – Building Neuron C (Decision Neuron)

Neuron C integrates both excitatory and inhibitory inputs.

Connections:

  • Pin 11 → 1µF capacitor → GND
  • Pin 11 → 100kΩ resistor → Pin 10
  • Pin 10 → 330Ω resistor → LED → GND

This neuron generates the final oscillatory output used for controlling the servo motor.

(Insert Neuron C circuit image here)

Step 4 – Implementing the Synapses

Excitatory Synapse

Connections:

  • Pin 8 → 22kΩ resistor
  • 22kΩ resistor → 1N4148 diode
  • Diode cathode → Pin 11

This path increases the charging rate of Neuron C, increasing its oscillation frequency.

Inhibitory Synapse

Connections:

  • Pin 2 → 22kΩ resistor → Base of 2N2222A transistor
  • Emitter → GND
  • Collector → 10kΩ resistor → Pin 11

When activated, the transistor discharges the capacitor at Neuron C, reducing or suppressing oscillation.

(Insert complete circuit image here)

Step 5 – Output Conditioning

The oscillatory output from Neuron C is converted into a smooth analog signal.

Connections:

  • Pin 10 → 47kΩ resistor → nodeX
  • nodeX → 100µF capacitor → GND
  • nodeX → 47kΩ resistor → Arduino A0

This allows the Arduino to continuously monitor the neuron activity.

Step 6 – Servo Motor Interface

Servo Connections:

  • Signal → Arduino Pin 9
  • VCC → External Battery (18650 / 4×AA)
  • GND → Battery GND

Battery GND is connected to Arduino GND to establish a common reference.

Two 220µF capacitors are connected in parallel across the battery terminals to stabilize the servo supply and reduce voltage fluctuations.

Step 7 – Arduino Programming

The Arduino continuously reads the analog voltage from nodeX and maps it to the servo position.

  • Normal neuron activity → steady servo movement
  • Excitatory input → increased servo movement
  • Inhibitory input → reduced or stopped servo movement
#include <Servo.h>

 
Servo gate;

 
const int inputPin = A0;

 
void setup() {
  gate.attach(9);
}

 
void loop() {
  int val = analogRead(inputPin);   // 0–1023

 
  static int filtered = 0;
  filtered = (filtered * 3 + val) / 4;

 
  int angle = map(filtered, 0, 1023, 0, 180);
  angle = constrain(angle, 0, 180);

 
  gate.write(angle);

 
  delay(20);
}

Working Principle

The system mimics a biological neural reflex.

  • Without sensor activation, Neuron C oscillates at its natural frequency, producing steady servo motion.
  • When the excitatory IR sensor is activated, Neuron B increases the charging rate of Neuron C, resulting in faster oscillations and increased servo movement.
  • When the inhibitory IR sensor is activated, the transistor-based synapse suppresses Neuron C activity, slowing or stopping the servo.

This demonstrates how analog electronic circuits can emulate basic neural computation.

Results

The completed system successfully demonstrates:

  • Stable analog neuron oscillation
  • Excitatory synaptic behavior
  • Inhibitory synaptic behavior
  • Real-time sensory processing
  • Servo motor control based on neuron activity

The project verifies that biologically inspired neural behavior can be reproduced using simple analog electronic components without relying on complex digital neural networks.

Applications

  • Neuromorphic Robotics
  • Obstacle Detection Systems
  • Reflex-Based Control Systems
  • Prosthetic Feedback Systems
  • Low-Power Embedded Intelligence
  • Educational Neuromorphic Hardware Demonstrations

Conclusion

This project demonstrates a practical implementation of a neuromorphic analog spiking neural network using the CD40106 Schmitt Trigger IC. By combining analog oscillators, diode-based excitation, transistor-based inhibition, and Arduino-based actuator control, the system successfully replicates fundamental neural behaviors in hardware. The project provides an accessible platform for understanding neuromorphic engineering while showcasing the potential of analog computation for real-time embedded applications.

 

Codes

Downloads

Artificial_Synapse_System Download

Institute / Organization

Vellore Institute of Technology, Chennai
Comments
Ad