The Additive Robotics Module Core is a general purpose embedded system designed to be used as a processing component and logic-level power supply for each robot module. The Module Core is intended to be used with an application-specific expansion board. Mounted to the top of the Module Core via two 30-pin headers, the expansion board provides the ability to tailor functionality and hardware interfaces to the needs of a specific module.
The Module Core’s powerful Cortex-M4 processor (STM32F407) is fast enough to execute high-quality control / sensing algorithms. The Module Core also has daisy-chainable Ethernet and USART interfaces for integration into a multi-module Additive Robot System. These interfaces can be used to send and receive data / commands from a remote computer, or from other modules in the system. The board also contains an onboard IMU, which provides angular velocity and linear acceleration data on all three axes.
The Module Core can be powered from any DC source between 4.5V and 60V. However, expansion boards and other electronic components may reduce the range of acceptable input voltages. For example, the Motor Submodule must have at least 7V to operate, while the PRLS Expansion needs the voltage to be less than 17V.
The Module Core’s 60-pin expansion board interface provides access to up to 5A of battery power, up to 1.5A of regulated 3.3V power, a clean analog 3.3V reference, the board’s reset signal, and 42 microcontroller pins. Each microcontroller pin can perform multiple functions, which provides a great deal of flexibility to expansion boards implementations. The following functionality is available to expansion boards (note that not all can be used at the same time):
- 12 timers, with up to four output / input capture channels each
- 14 ADCs
- 2 DACs
- 2 USART channels
- 2 UART channels
- 2 CAN interfaces
- 2 I2C interfaces
- 2 I2S interfaces
- 3 SPI interfaces
- 1 USB OTG HS interface
- 1 JTAG interface