Overview
For local development and testing, you can run both the CL1 neural interface and training server on the same machine. This setup is ideal for:- Testing code changes without hardware
- Debugging training pipelines
- Developing with the SDK
- Validating configurations before remote deployment
Quick Start
Start CL1 Neural Interface
Run the CL1 interface first using the convenience script:This executes:What this does:
- Connects to training server at
127.0.0.1(localhost) - Saves recordings to
./recordingsdirectory - Runs neural loop at 10 Hz to avoid overstimulation
Start Training Server
After the CL1 interface is running, launch the training server:This executes:What this does:
- Runs in training mode with PPO reinforcement learning
- Uses CPU device (change to
cudaif GPU available) - Connects to CL1 interface at
127.0.0.1 - Trains for up to 1000 episodes
Manual Setup
If you need custom configuration, run the commands manually:- CL1 Interface
- Training Server
Common Options
| Argument | Default | Description |
|---|---|---|
--training-host | required | IP of training system (use localhost or 127.0.0.1) |
--tick-frequency | 10 | Neural loop frequency in Hz |
--recording-path | ./recordings | Directory for neural recordings |
--stim-port | 12345 | Port for receiving stimulation commands |
--spike-port | 12346 | Port for sending spike data |
--event-port | 12347 | Port for receiving event metadata |
--feedback-port | 12348 | Port for receiving feedback commands |
Example with Custom Recording Path
Network Ports
Local setup uses the following UDP ports on127.0.0.1:
- 12345 - Stimulation commands (training → CL1)
- 12346 - Spike data (CL1 → training)
- 12347 - Event metadata (training → CL1)
- 12348 - Feedback commands (training → CL1)
- 12349 - MJPEG stream (training → browser)
Output Files
After training, you’ll find: Training Server outputs:Stopping Training
PressCtrl+C in either terminal to gracefully shutdown:
- Training server sends completion signal
- CL1 interface saves recording and exits
- Both processes cleanup UDP sockets
Next Steps
- Configure DOOM scenarios for different training challenges
- Set up remote training with actual CL1 hardware
- Learn about checkpoint management for resuming training