| BrainStem® Moto 1.0 Module | Index |
CONTENTS
Specifications
Pinout Diagram
Processor
Power and Voltage Ratings
Power Supplies
Analog Input
Digital Input/Output
Motion Channels
Board Dimensions
File Slots and Processes
Input Devices
Specifications
Hardware ratings and unique module specifications are described in the table.
| Item | Value | Notes |
| Supply Input Voltage | 6.0V-12.0V | |
| VCC (Regulated) | 5.0V | |
| I_VCC (Max) | 1.0A | |
| Reflex Enablers | 8 | See cmdRFLXE_CFG for details. |
| Timers | 23 | 16-bit resolution. See cmdTMR_SET for details. |
| Counters | 8 | 16-bit resolution. See cmdCTR_SET for details. |
| Scratchpad Bytes Available | 56 | Modules prior to firmware Build 12 have 32 scratch pad bytes. |
Pinout Diagram

Processor
The processor is a Microchip PIC18C252 operating with a 40MHz oscillator. Internal non-volatile memory is Microchip 24FC128/256 EEPROM for storage of system data, reflex commands, and VM opcodes. This EEPROM has an access rate of 1Mbit/sec. The processor has IIC interface hardware that has a maximum data transfer rate of 1Mbit/sec.
Power and Voltage Ratings
The recommended input voltage for the Moto 1.0 module onboard voltage regulator is 4.5V to 12V. At higher voltages within this range, the regulator will generate a lot of heat and the heatsink may get quite warm. The regulator is a LDO (low drop-out) LM2940 so it begins to regulate the current at about 5.5V and up. Below that, the regulator acts more like a straight pass-through with little regulation.
The voltage regulator has an output current rating of 1 Amp. The Moto 1.0 module uses 50mA at 6V. When connected to the RS-232 interface cable, the Moto 1.0 module uses 60mA. (The level shifter draws an additional 10mA.) The regulator can safely provide power for several extra sensors and H-Bridge components.
The digital outputs can sink or source up to 20ma.
Power Supplies
The BrainStem Moto 1.0 module has one power supply input. A 9V battery can be used as the logic power supply for the Moto module but we recommend 4 or more rechargeable batteries (1.2 - 1.5V). A 9V battery will be drained fairly quickly if the module must supply power to other devices.
A 6V supply that can handle a large current load, such as a lead-acid battery, will also work well as the logic supply. A large bypass capacitor (100uf-1000uf) on the supply input will help prevent power glitches should they be a problem.
The H-Bridge headers for each motion channel are not meant to supply the power for the motors. The H-Bridges should have their own, dedicated power supplies of the appropriate size for the H-Bridges being used. The H-Bridges can share a common ground with the Moto board through the ground line of the H-Bridge header, depending on the design on the H-Bridge.
Analog Inputs
The analog inputs have 10-bits of measurement resolution across a 0.0V - 5.0V range.
| A2DID | Input Device ID |
| 0 | 0 (0x00) |
| 1 | 1 (0x01) |
| 2 | 2 (0x02) |
| 3 | 3 (0x03) |
| 4 | 4 (0x04) |
Digital Inputs/Outputs
Depending on motion control modes, some of the pins in the motion channel sockets may be used for general purpose A2D inputs and digital IO. See the following exclusion map for details. The IO pin assignments are shown below.

The digital inputs/output pins can sink or source up to 20ma. The Vcc pins on the analog and digital headers are all tied and are current limited only by the 1 Amp maximum. Input logic high can be from 4.7V-5.3V. Output logic high is at Vcc levels (5.0V) and a logic output low is 0.0V.
| DigID | Input Device ID | Functionality | Notes |
| 0 | 5 (0x05) | Input,Output | |
| 1 | 6 (0x06) | Input,Output | [1] |
| 2 | 7 (0x07) | Input,Output | [1] |
| 3 | 8 (0x08) | Input,Output | [1] |
| 4 | 9 (0x09) | Input,Output | [1] |
| 5 | 10 (0x0A) | Input,Output | [1] |
| 6 | 11 (0x0B) | Input,Output | [1] |
| 7 | 12 (0x0C) | Input,Output | [1] |
| 8 | 13 (0x0D) | Input,Output | [1] |
| 9 | 14 (0x0E) | Input,Output | [1] |
| 10 | 15 (0x0F) | Input,Output | [1] |
[1] - May be unavailable depending on motion channel mode. See the following pin exclusion table.
On the Moto 1.0, some of the digital IO pins must also serve as motion control outputs and encoder inputs. When a motion control mode is enabled, some of the digital IO pins may not be used as general purpose inputs or outputs. The tables below show how different motion control mode selections change the set of available general purpose digital IO pins. An 'X' indicates a pin that can not be used as a general purpose IO with a particular mode.
| Digital IO Pin Exclusions for Channel 0 | |||||||||||
| Mode | D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 | D10 |
| OFF | |||||||||||
| STEP | X | X | X | X | |||||||
| PWM | X | X | |||||||||
| PWMENC | X | X | X | X | X | X | |||||
| A2DPOS | X | X | |||||||||
| ENCPOS | X | X | X | X | X | X | |||||
| A2DVEL | X | X | X | ||||||||
| ENCPOS | X | X | X | X | X | X | |||||
| PWMA2D | X | X | |||||||||
| Digital IO Pin Exclusions for Channel 1 | |||||||||||
| Mode | D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 | D10 |
| OFF | |||||||||||
| STEP | X | X | X | X | |||||||
| PWM | X | X | |||||||||
| PWMENC | X | X | X | X | X | X | |||||
| A2DPOS | X | X | |||||||||
| ENCPOS | X | X | X | X | X | X | |||||
| A2DVEL | X | X | X | ||||||||
| ENCPOS | X | X | X | X | X | X | |||||
| PWMA2D | X | X | |||||||||
Motion Channels
The two motion channels on the Moto 1.0 board follow the Acroname H-Bridge Standard. The pinout is shown below and many different bridge combinations will work well with the Moto 1.0 board.

Board Dimensions
All dimensions are in inches.

TEA File Slots and Process Slots
A BrainStem module stores TEA files in an EEPROM. The Moto 1.0 module contains 12 file slots numbered 0-11. Programs can run in any of 3 "virtual machine" (VM) process slots numbered 0-2. Each process has a private stack space of 112 bytes. These processes can run concurrently. A 32 byte scratchpad RAM buffer may be used for sharing data between processes.
A BrainStem module stores TEA files in an EEPROM. Programs can run in any of 4 "virtual machine" (VM) process slots numbered 0-3. Each process has a private stack space of 112 bytes. These processes can run concurrently. A 56 byte scratchpad RAM buffer may be used for sharing data between processes.
| FileID range | Maximum File Size |
| 0-10 | 1K |
| 11 | 16K |
There is additional space on the EEPROM dedicated to storing reflexes. The Moto 1.0 stores 128 reflex vectors and 128 reflex commands. For simple tasks, it may be possible to use a reflex instead of a TEA program and conserve process slots and/or file slots.
Input Devices
| Alias | Device ID | Input Source |
| A0-A4 | 0-4 | A2D inputs |
| D00-D10 | 5-15 | Digital pin state inputs |
| T1-T23 | 20-42 | 0.1ms resolution timer inputs |
| C0-C7 | 44-51 | 16-bit counter rollover inputs |
| I0 | 52 | IIC input |
| S0-S2 | 53-55 | Semaphore inputs |
| B0 | 57 | Raw serial byte input |
| L0 | 126 | Host link down reflex input |
| P0 | 127 | Power-up reset reflex input |