Lab project material for the MAE 162 robotics course (Winter/Spring 2026).
See our gallery!
A modular two-wheeled mobile robot platform designed for hands-on robotics education. Features customizable manipulators and a dual-layer control architecture for teaching embedded systems, ROS2, and mechatronics fundamentals.
Low-Level Control (Arduino)
- Real-time motor control (DC, stepper, servo)
- GPIO, LEDs, and button inputs
- UART communication to Raspberry Pi
High-Level Control (Raspberry Pi 5 + ROS2)
- Decision-making and path planning
- Camera and GPS sensor processing
- ROS2 node orchestration
Custom PCB
- Integrates Arduino, motor drivers, and power management
- Standardized interface for educational reproducibility
├── firmware/ Arduino firmware and firmware-specific docs
├── nuevo_ui/ Raspberry Pi bridge + web UI
├── ros2_ws/ ROS2 workspace and Pi-side tests
├── tlv_protocol/ TLV type definitions, payload schemas, generators
├── NUEVO board/ PCB design files (schematics, layouts, BOM)
├── mechanical/ CAD files for chassis and manipulators
├── docs/ Cross-project architecture, protocol, and design docs
└── assets/ Shared repo assets
| Document | Purpose |
|---|---|
| docs/README.md | Cross-project documentation map and source-of-truth index |
| docs/COMMUNICATION_PROTOCOL.md | Current human-readable source of truth for protocol behavior, framing, and logical TLV design |
| docs/DESIGN_GUIDELINES.md | Cross-project conventions, numbering rules, and protocol update workflow |
| tlv_protocol/TLV_Payloads.md | Exact payload layouts and sizes |
| firmware/README.md | Arduino firmware overview, current features, and build instructions |
| firmware/docs/README.md | Firmware subsystem documentation index |
| NUEVO board/SPECIFICATIONS.md | PCB hardware specifications |
- Embedded: Arduino (C/C++)
- High-Level: ROS2 (Python/C++), Raspberry Pi 5
- Communication: UART serial protocol
- Sensors: Camera, GPS, encoders
- Hardware: Custom PCB, stepper/servo motors
