A complete implementation for building and controlling a physical 8-memristor brain network.
This project implements a brain-like neural network using 8 physical memristors with the following specifications:
- Ron: 400Ω (low resistance state)
- Roff: 1000Ω (high resistance state)
- Switching voltages: ±3V
- Compliance current: 12.5mA
Network Topology:
- 3 inputs (I0, I1, I2)
- 6 memristors (M0-M5) connecting inputs to junctions
- 2 wire junctions (H0, H1)
- 2 memristors (M6, M7) connecting junctions to outputs
- 2 outputs (O0, O1)
improved_physical_brain_software.py- Main control software with adaptive learningcustomizable_memristor.py- Memristor device modelscorrected_physical_connections.py- Physical wiring diagrams and breadboard layout
requirements.txt- Python dependencies.venv/- Python virtual environment
-
Simulation Testing:
python improved_physical_brain_software.py
-
Physical Implementation:
- Follow wiring diagrams in
corrected_physical_connections.py - Use control software in
improved_physical_brain_software.py
- Follow wiring diagrams in
✅ Validated Learning Algorithm - Demonstrates actual memristor resistance changes
✅ Realistic Device Models - Based on your exact memristor specifications
✅ Physical Wiring Diagrams - Ready for breadboard/PCB implementation
✅ Adaptive Learning - Progressive pulse strengthening for effective switching
✅ Pattern Classification - Network learns to differentiate input patterns
- Simulation: ✅ Complete and validated
- Physical Implementation: 📋 Ready to begin
Last successful learning demonstration showed resistance changes:
- M3: 984Ω → 407Ω
- M4: 1017Ω → 385Ω
- M5: 974Ω → 401Ω
- M7: 1075Ω → 397Ω
-
Hardware Preparation
- Acquire 8 memristors with specified characteristics
- Set up 3 programmable voltage sources
- Prepare oscilloscope for monitoring
-
Assembly
- Follow
corrected_physical_connections.pywiring diagrams - Build network on breadboard or PCB
- Verify all connections
- Follow
-
Testing
- Run
improved_physical_brain_software.py - Apply learning pulses to physical network
- Measure and compare results with simulation
- Run
- 8 memristors (400Ω Ron, 1000Ω Roff, ±3V switching)
- 3 programmable voltage sources (for I0, I1, I2 inputs)
- 2-channel oscilloscope (for O0, O1 output monitoring)
- Breadboard or PCB for assembly
- Connecting wires and components
memristors-python/
├── .venv/ # Python environment
├── improved_physical_brain_software.py # Main control software
├── customizable_memristor.py # Device models
├── corrected_physical_connections.py # Wiring diagrams
├── requirements.txt # Dependencies
└── README.md # This file
This project is for research and educational purposes.