Open Source and Documentation
The Modular Mechanica system is fully open source, promoting transparency, collaboration, and community involvement in its development.
Publicly Available Resources
Source Repositories
All components of the Modular Mechanica system are available in public repositories:
- PCB Schematics and Layouts - Complete designs for all cards, hats, and MMS modules
- STMEpic Library - Core software library for communication protocols
- Driver Libraries - Software libraries for various hat modules
- Protocol Documentation - Detailed specifications for MMS-Link and Chainbus protocols
- Project Templates - KiCad templates for new designs
Benefits of Open Source
- Other academic circles can leverage existing solutions
- Community members can contribute improvements and fixes
- Existing problems are often already solved and shared
- Accelerated development through community collaboration
Handbook Documentation
A comprehensive handbook is being developed to provide detailed documentation:
Content Included
- Full specification of Moducard and MMS3
- Detailed protocol descriptions
- Design guidelines for new boards
- Step-by-step examples
- Error catalog with solutions
- Rationale behind design decisions (e.g., why CAN instead of RS-485)
Status
The handbook is currently in preparation and planned for PDF publication.
Templates and Development Process
KiCad Templates
The project provides ready-to-use templates for hardware development:
Template Elements
- Board dimensions
- Connector and mounting screw placement
- Required component schematics
- Dedicated area for custom electronics
Typical Workflow
- Clone repository with template
- Add new components to schematic and PCB
- Order PCB manufacturing
- Prototype and testing
Development Seminar
A separate seminar will be held focusing specifically on board design using these templates.
STMEpic - Software Framework
Overview
STMEpic is the software development environment for MMS modules:
- Development Environment: Visual Studio with C++ support
- Configuration: YAML files define data variables sent/received over CAN in ROS2
- Automation: Generates low-level functions and data structures from high-level YAML descriptions
- Consistency: Ensures identical data frame implementation between sender and receiver
- Abstraction: Handles hat/card identification and protocol implementation automatically
Benefits of STMEpic
- Eliminates protocol implementation errors through automation
- Provides consistent communication framework across all modules
- Reduces development time by generating boilerplate code
- Enables rapid prototyping with standardized interfaces
Community Involvement
The open source nature of the system encourages:
- Collaborative Development: Community contributions to improve existing components
- Knowledge Sharing: Documentation and examples for others to learn from
- Custom Solutions: Ability to create specialized modules for specific applications
- Education: Use in academic settings for teaching embedded systems and robotics
Future Development
The team continues to expand the open source ecosystem:
- Complete Handbook - Finalize and publish comprehensive documentation
- Expand Component Library - Add more cards and hat designs
- Improve Templates - Enhance design templates with better examples
- Community Support - Develop resources for newcomers to the system
This open approach ensures that the Modular Mechanica system will continue to evolve and improve through community contributions while remaining accessible to anyone interested in modular robotics development.