๐Ÿงช Experimental Lab: Digital Nervous System

This directory serves as the Living Lab for the MatsRobot project. It documents the step-by-step evolution of the communication backbone, from basic heartbeats to complex multi-node CAN configurations.

Strategy: We maintain a modular environment where each stage is autonomous, reproducible, and documented with its own firmware and circuit logic.
View GitHub Repository

๐Ÿ“… Experimental Roadmap & Status

Each stage builds upon the last. Use these links to find specific circuit diagrams, firmware, and test results.

Stage Focus Status Hardware Reference
Stage 1 Blink Test & Basic GPIO โœ… Verified ESP32 / Arduino Nano
Stage 2 I2C Sensor Integration โœ… Verified MPU6050 / BME280
Stage 3 Bidirectional CAN-Bus โœ… Verified MCP2515 Transceivers
Stage 4 Practical CAN Bus with 4 Nodes โœ… Verified PC via USB, ESP32-S3, ESP32-C3, Arduino Nano

๐Ÿ› ๏ธ Setup & Strategy

To maintain a "simple and effective" repository, each stage is kept autonomous. Each folder contains only the essential files required to reproduce the experiment:

๐Ÿ’ป Developer Workflow

๐Ÿ”Œ Firmware (VS Code + PlatformIO)

When testing a node, use the PlatformIO interface or terminal:

1. Initialize/Build: pio run
2. Upload: pio run --target upload
3. Live Debugging: pio device monitor

๐Ÿ Python Host Setup (Laptop)

To interact with nodes, use a Virtual Environment to manage dependencies:

# Create and Activate Environment
python -m venv venv
source venv/bin/activate

# Install Requirements and Run
pip install python-can pyserial
python main.py