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.
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 |
To maintain a "simple and effective" repository, each stage is kept autonomous. Each folder contains only the essential files required to reproduce the experiment:
circuit-diagrams/: Visual wiring guides (PNG/PDF).src/main.cpp: The specific firmware logic for that stage.platformio.ini: Environment configurations and library dependencies.main.py: Laptop-side scripts for bus monitoring or data logging.When testing a node, use the PlatformIO interface or terminal:
1. Initialize/Build: pio run2. Upload: pio run --target upload3. Live Debugging: pio device monitor
To interact with nodes, use a Virtual Environment to manage dependencies:
# Create and Activate Environmentpython -m venv venvsource venv/bin/activate# Install Requirements and Runpip install python-can pyserialpython main.py