Skip to main content

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

  1. Clone repository with template
  2. Add new components to schematic and PCB
  3. Order PCB manufacturing
  4. 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:

  1. Complete Handbook - Finalize and publish comprehensive documentation
  2. Expand Component Library - Add more cards and hat designs
  3. Improve Templates - Enhance design templates with better examples
  4. 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.