Carrier board update #9
Replies: 4 comments
Community suggestions for OpenAMR Carrier Board (from LinkedIn discussion)1. 96Boards SpiritWhat it is: Why it’s useful:
How to align:
Note: 2. OSHW / OSHWA alignmentWhat it is: Why it matters:
How to align:
3. Enabling Standards (Connectors, Rails, Pinouts)Goal: Proposal:
Deliverables: 4. Developer Ecosystem and CommunityPurpose: How to align:
5. Design winMeaning: To encourage adoption:
Proposed next steps for OpenAMR
|
|
Future OpenAMR RTC (Real-Time Controller) architecture should support modular multi-controller scalability instead of assuming a single monolithic controller for the entire robot. Current RTC development is mainly focused on the mobile platform itself:
However, future OpenAMR variants may include:
For such systems, a single RTC may become difficult to maintain, wire, scale, and debug. Therefore, the architecture should support synchronized multi-RTC operation. Recommended architecture:
Robotic arms themselves should preferably keep their own dedicated controllers/drivers and communicate with the SBC via CAN/CAN-FD, EtherCAT, Ethernet, or vendor SDK interfaces. The RTC should coordinate the robot body around the arms rather than directly replacing dedicated arm controllers. Important design goal: For example:
Recommended hardware interfaces/features for future scalability:
The power module can remain centralized in the mobile base, while sensor/control modules become extendable and stackable depending on robot configuration. This architecture would allow OpenAMR to scale from:
Main long-term goal: |
OpenAMRobot STM32 Firmware DevelopmentWe are currently preparing the first firmware architecture for OpenAMRobot using STM32-based controllers. Main goals:
The goal is to separate:
Future planned areas:
Embedded and firmware contributors are welcome. |
OpenAMRobot - Full System Electrical & Firmware ArchitectureDual-Arm Mobile Manipulator with Perception ModuleIndustrial-Grade, Open-Source, Cost-Optimized - Final Technical RequirementsStatus: Final draft for team reference and community replication 1. What "Industrial-Grade" Means Here, and How Commercial Vendors Do ItCommercial mobile-manipulator and AMR vendors (MiR, ABB, KUKA, OMRON) converge on a consistent pattern, formalized in ISO 3691-4 (mobile robot safety) and RIA R15.08 (industrial mobile robots carrying a manipulator - our exact "Type C" configuration):
This document follows that same layered pattern, scaled to what a small team can design, source, and debug without certification infrastructure, while explicitly deferring the highest-cost/highest-certification items (safety-rated scanners, wireless E-STOP, formal safety-PLC certification) to a later hardening stage. 2. System TopologyFour physical electronics assemblies, plus vendor-supplied arm control boxes treated as external equipment: 3. Layer 1 - Power Distribution (Wireless Charging + Dual-Battery Hot-Swap)3.1 Charging: Wireless, Not Contact-BasedDecision: no physical charging contacts. Charging is inductive, via a dock-mounted transmitter pad and a chassis-mounted receiver coil. Selected reference product: TZBot WCM-300 (Zhejiang Tongzhu Technology)
Developer requirement: the chassis-mounted receiver coil output feeds the battery charge input exactly as a wired charger would - from the BMS's perspective, wireless charging is simply "the charger is present," no BMS redesign required. The docking behavior (approach, align within ±30 mm, hold position) is a navigation/software requirement, not an electronics one, and should be documented as such in 3.2 Hot-Swap: Dual-Battery, OR-ing ArchitectureRather than a single battery pack with a single power path (which forces a full shutdown to change batteries), the platform uses two battery bays, each independently fused and BMS-protected, combined through an ideal-diode OR-ing stage onto a common bus - the same pattern already proven on the wearable data-collection kit (Discussion #17), applied here to the mobile base:
3.3 Fusing and Protection
3.4 Dual E-STOP Subsystem (self-built, hardwired - unchanged principle)
3.5 Status Indicators (output side, not part of the safety loop)
3.6 Power-Monitoring MCU
3.7 Firmware Requirements (Power-Monitoring MCU)
4. Layer 2 - Mobile-Platform RTCMCU: STM32G4 (G474). HRTIM and CORDIC hardware accelerators give hard-real-time motor/encoder control with headroom to spare; built-in FDCAN removes the need for an external CAN controller; a right-sized, cost-appropriate part for a board replicated on every unit.
Firmware:
5. Layer 3 - Upper-Body ControllerKept as a separate physical board and firmware image from the Mobile-Platform RTC, because the upper body's sensor mix (force/pressure, an additional IMU, lift encoder, tool I/O) and its gateway role toward the arm control boxes are enough independent complexity to justify it. MCU: STM32H7 (H743, or the dual-core H745 if the workload benefits from splitting deterministic I/O from gateway logic on separate cores).
Arm integration principle: arms are sourced with their own vendor control box handling joint-level real-time control and (for collaborative-class arms) certified force limiting. The Upper-Body Controller's role toward the arms is supervisory — start/stop, mode selection, status/fault feedback, and safety-I/O tie-in — never re-implementing joint control or force limiting. Firmware: same watchdog stack, state-machine convention, and rolling diagnostic log requirement as Sections 3.7/4. If using the dual-core H745, dedicate the M4 core to the lift control loop and time-critical I/O, and the M7 core to the arm-gateway/logic workload, communicating between them via message queue rather than shared state. 6. Layer 4 - Main Compute
7. Communication Backbone7.1 CAN-FD as the Default InterfaceRule: if a subsystem (motor driver, BMS, sensor module) offers a CAN or CAN-FD interface, use it in preference to any other interface. This applies to wheel motor drivers, the lift motor driver, both battery BMS units, and any future actuator driver. Two physical bus segments, not one flat bus, so a fault in one area cannot degrade the other:
7.2 Cellular Connectivity (LTE)Purpose: onboard internet independent of site Wi-Fi, for remote monitoring, telemetry, and fleet management in environments where Wi-Fi coverage can't be assumed.
7.3 GNSS (Outdoor Localization)Purpose: outdoor localization support for yard, loading-dock, or outdoor-adjacent operation, beyond indoor SLAM/AprilTag-based navigation.
7.4 Time SynchronizationMain Compute and perception add-on synchronize clocks via NTP/chrony over their shared network link; each MCU node's CAN telemetry carries a local monotonic counter (the existing sequence-counter field) translated to wall-clock time by the Main Compute. Hardware-level PTP triggering across camera/LiDAR/IMU is deferred to a later hardening stage. 8. Modular Electronics: Headers, Not SolderRule: wherever a proven, off-the-shelf breakout module exists for a function, use it via a pin-header/socket on the main PCB rather than soldering the equivalent chip directly. Rationale for an open-source project: contributors can replace/repair a failed module without reflow equipment, anyone reproducing the project can source modules individually, and the small per-unit cost premium buys a large reduction in build difficulty and repair friction.
Exceptions (remain custom-designed): the main power distribution stage (fusing, E-STOP relays, main rail regulation) and the three STM32 MCU boards themselves - these are the safety- and performance-critical parts where a generic module would not meet the requirements already specified above. Every custom board should still expose standard pin-header sockets for every module listed, rather than hardwiring modules with fixed point-to-point cabling. 9. Bill of Materials (representative part families - final SKUs confirmed at procurement)
10. Developer ChecklistsElectronics
Firmware
11. Staged Roadmap
This is the complete reference for the platform's electronics and firmware at this stage - every interface, protocol, connector class, and part family needed to start detailed schematic design and firmware implementation is specified above. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Technical specification / Terms of Reference
Project: OpenAMR modular motherboard for Mobile Dual-Arm Robot
Version: 1.1
Date: November 1, 2025
Author: Botshare Robotics Lab
1. Project overview
Design a modular motherboard platform for a mobile robot with dual robotic arms and integrated perception, suitable for DIY prototyping, education, and future upgrades.
The motherboard must:
Handle power distribution and safety (Power Node)
Manage real-time control of motors and sensors (MC Node)
Support high-level computing and perception (Main Node)
Design should be modular, simple, and upgradeable (e.g., Main Node: Raspberry Pi and NVIDIA Jetson extendable; MC Node: Teensy4.0, Power node: Teensy4.0).
2. System architecture
Three logical nodes:
MCP2515 CAN controller,
MCP2551 CAN transceiver,
relays,
fuses,
DC-DC modules,
inrush current limit, etc
digital GPIO (relay control, buttons)
motor drivers,
encoders,
IMU
I²C (IMU),
CAN (backbone),
RS-485 optional
NVIDIA Jetson extension (CV, ML tasks),
USB-connected perception modules
CAN (backbone),
Ethernet (ROS2),
GPIO/UART;
future M.2/mini-PCIe upgrade footprint reserved
Communication and buses: CAN backbone for control nodes, USB for perception peripherals, SPI/I²C for sensors, RS-485 optional, Ethernet for networking.
3. Power node specifications
Platform: Teensy4.0 + MCP2515 + MCP2551 CAN transceiver
Functions:
Relay control for motor rails, lift, and robotic arms
Monitoring of voltage/current on all rails
Dual physical E-STOP buttons to cut high-current rails
Power-on/off sequencing
Charging management
Power Rails:
Digital electronics rail: 5V/3.3V (RPi, Teensy 4.0, etc)
Digital electronics rail: 12V (NVIDIA, etc)
Motor rail: 24V
Lift rail: 24V
Arm motors Rail: 24V
Auxiliary rail: 12V (features, additional functions)
Modules and best practices:
Use off-the-shelf relay breakout modules, fuse holders, DC-DC converters
Keep Teensy 4.0 optically isolated from high-current lines
SPI interface for MCP2515 CAN controller; CAN transceiver to bus
Ensure proper termination (120 Ω resistors) on CAN bus
4. MC Node specifications (real-time control)
Platform: Teensy 4.0
Functions: Motor control, encoder/IMU reading, real-time safety logic
Interfaces: SPI (encoders), I²C (IMU), CAN (backbone), RS-485 optional
Best practices: Hardware watchdog, twisted-pair CAN, isolated grounds, modular headers for arms and sensors
5. Main node specifications (high-level computing and perception)
Platform: Raspberry Pi 5 (USB-connected perception)
Functions: Navigation, ROS2, perception, HMI
Interfaces: USB3 (cameras/peripherals), CAN (control backbone), Ethernet (ROS2), GPIO/UART
Best practices: Shielded cables, heatsink/fan provision for future GPU, easy replacement/upgrade
6. Communication topology
CAN backbone: Power Node ↔ MC Node ↔ Main Node
USB3: Cameras/perception modules connected to Main Node now
SPI/I²C: Sensors on MC Node
RS-485: Optional peripherals
Ethernet: Main Node ROS2 networking
7. PCB and mechanical guidelines
PCB layers: 2-layer, DIY-friendly
Power traces: Wide copper pours for motor rails, logic traces separate
Connectors: Screw terminals for power, headers for sensors and modules
Module placement: Off-board heavy modules (DC-DC, relays) mounted to chassis; Teensy and MC Node boards on standoffs
Upgrade provision: Reserved area/headers for future M.2/mini-PCIe on Main Node
8. Software and integration
Power Node: Teensy 4.0 firmware (relay control, CAN messages)
MC Node: Teensy firmware (motor/encoder/IMU control), CAN comms
Main Node: Raspberry Pi ROS2 stack, USB perception modules, optional Jetson upgrade later
Safety: Hardware E-STOP overrides all other nodes
9. Design principles
DIY-accessible: Simple boards, two-layer PCB, off-the-shelf modules
Modular & upgradeable: Teensy + MCP2515 now; upgrade to Teensy later; USB now, M.2/PCIe later
Safe: Dual E-STOP, fuses, relays, isolated power rails
Educational: Open hardware philosophy, clear documentation, easy assembly
Future-proof: Upgrade paths for perception modules and MC Node controllers
Old carrier board project files for reference and ToR in Google docs format
All reactions