Repository navigation
uCAN v2.1.0 - Device Name Management & Platform Limits
uCAN Firmware Release v2.1.0
🎉 New Features
Device Name Management:
set:name:{NAME}- Set custom device name for multi-device identificationget:name- Retrieve current device name- Supports alphanumeric, spaces, underscores, hyphens (max 31 chars)
- Default name is board name (e.g., "Adafruit Feather M4 CAN")
Platform-Specific Rule Limits:
- CAPS response now includes
max_rulesfield - Feather M4 CAN (SAMD51): 64 rules
- Raspberry Pi Pico (RP2040): 16 rules
- ESP32: 32 rules (when implemented)
🧪 Testing & Quality
- 269 hardware-independent unit tests (protocol parsing & validation)
- 8 new device name integration tests
- All tests pass in CI without hardware
- Comprehensive test coverage for device naming feature
📚 Documentation
- Complete
set:namecommand documentation in PROTOCOL.md max_rulesfield specification added to CAPS response- Device naming use cases and limitations documented
- Updated examples and response formats
🔧 Improvements
- Fixed pytest configuration conflicts (removed pytest-timeout dependency)
- Updated .gitignore to properly allow test files in tests/ directory
- CI/CD workflow now runs unit tests separately from integration tests
📦 Installation
For Adafruit Feather M4 CAN:
- Download
uCAN-feather_m4_can-v2.1.0.uf2 - Double-click reset button → FEATHERBOOT drive appears
- Drag and drop UF2 file to FEATHERBOOT drive
- Board auto-resets with new firmware
For Raspberry Pi Pico:
- Download
uCAN-pico-v2.1.0.uf2 - Hold BOOTSEL while plugging in USB → RPI-RP2 drive appears
- Drag and drop UF2 file to RPI-RP2 drive
- Connect MCP2551 CAN transceiver to GP4/GP5
🌐 Web Interface
Use with the web UI at: https://battlewithbytes.io/tools/ucan
📊 Firmware Stats
- Flash Usage: 59,724 bytes (11.8% of 496KB)
- RAM Usage: 4,220 bytes (2.1% of 192KB)
- Protocol Version: 2.0
- Firmware Version: 2.1.0
📖 Full Documentation
⚠️ Notes
- Device name persistence to flash storage not yet implemented (resets on power cycle)
- Name is stored in volatile RAM only
- Flash storage implementation planned for future release