Robot Power  Robot Power
   Home : Products : MOB Info
OSMC  Project

Where to Buy


Compare Small Controllers
Scorpion XL
Scorpion HX
Scorpion Mini

Compare Large Controllers
 Robot Power Products 

Modular OSMC Brain (MOB) Product Information 


The MOB is a flexible high-performance microcontroller interface to the OSMC power controller. The MOB provides the interface between various command input sources and generates PWM signals to drive two OSMC boards. Powered by the Atmel ATMega163 processor running at 8 MHz, the MOB provides ample computing horsepower for driving the OSMC boards and interpreting and conditioning a range of input sources.

The MOB is the more sophisticated of the two RC/OSMC interfaces offered by Robot Power. The other, the µMOB, is much smaller, lower cost, and has fewer options. More information on the µMOB may be found here.

Hardware Features

The primary and original input source for the MOB board are three standard hobby R/C signals. These signals conform to the R/C standard in use for many years in a large variety of products. Namely, a nominal 1.5 mS signal which varies in length from 1.0 to 2.0 mS. The pulse repitition frequency is in the 40-60Hz range. The MOB software considers two of the input channels to be "drive" signals and converts them to a proportional PWM duty cycle on the OSMC outputs, optionally mixing the into together in a "throttle" and "steering" mode. The third channel is an "auxiliary" channel which is driven as a SPDT switch through and opto-isolation circuit. The auxiliary channel is intended to switch high-power loads in an on-off fashion through an external amplifier such as a relay or other power switching device.

While the primary input mode of the MOB is the R/C interface, the MOB is far from limited to that source. By using the rich interface resources of the ATMega CPU chip the MOB provides the following interface connections to the external world:
  • TTL Serial UART (directly compatible with most RS-232 PC serial ports)
  • I2C interface
  • SPI interface
  • 4 - 10-bit analog A/D input channels
  • 4 buttons
The current MOB software uses only the buttons. The other interfaces are available for user written applications. See the image below for the locations of the connectors.

The MOB software presents a user-friendly interface to the various system options through the use of an 20x4 LCD panel and 3-indicator LEDs. 4 command buttons are used to set the options and store the setup into permanent memory.

Additional features of the MOB include:

  • The MOB is powered through the OSMC connector which provides 12V to the on-board 5V regulator. This regulator produces 5V at up to 1A and may be used to power circuitry connected to the various external interface ports.
  • A battery eliminator circuit (BEC) may be used to power the RC radio receiver eliminating the need for an addtional battery to perform this function. This option can be disabled by removing a jumper from the board when not needed.
  • Non-volitile EEPROM storage of configuration settings is used to preserve the system setup during power down.

Software Features

The MOB software has many user settable options to tune the system to best match your robot and driving style. This is important where a wide variety of drive systems and robot configurations exist such as in combat robotics. The user configurable items are set by using the 4 command buttons on the MOB board or on the optional LCD pendant. These buttons are labeled LEFT, RIGHT, UP, and DOWN similar to the cursor group on a PC keyboard. The LCD panel is used to display informational messages to the user and to display the currently selected option and value during setup.

The following configuration options are available in the MOB software (default options are underlined):
  • PWM Mode - [Sign Magnitude | Locked Antiphase] This option sets the method of driving the OSMC H-bridge. Generally for large heavy motors Sign Magnitude mode works best.

  • PWM Rate - [2kHz | 4kHz | 16kHz | 32kHz] This option sets the frequency of the PWM signal to the OSMC. The lower frequencies allow the MOSFETs more time to switch on and off and thus allow the bridge to handle more power without heating. The lower frequencies are in the audible range and may cause the motor to "sing". The higher frequencies provide smoother control and are inaudible to humans. Generally for heavy motors the lowest frequency is best and the sound produced by the motor is not too annoying.

  • Mix Mode - [Mix | Normal] Selects whether the THRO and DIR RC channels are mixed together for single sick driving (Mix) or separate for "tank" driving (Normal). Transmitters with built-in mixing may prefer Normal mode since they RC transmitter generally has fine control over mix ratios and exponential curves etc.

  • Output Enable [Enabled | Disabled] By default the software disables the PWM outputs for safety reasons. Once this option is set to Enabled and the settings are stored the MOB will power-up with outputs enabled.

  • Dectect Flip: [Yes | No] Setting this option to Yes causes the motor response to be reversed when the center pin of the I2C port is grounded. An external switch can be used to detect the flipped condition of the robot and reverse the motor responses for those robots which can drive inverted.

  • Brake Amount: [0% - 100%] This setting adjusts the ratio of braking/coasting when zero speed is commanded for the motors. 0% braking means at zero speed the motor leads are disconnected and the robot coasts to a stop. 100% braking means at zero speed the motor leads are shorted and the motor stops instantly. This setting is important for tuning the driving response of robots particularly the larger ones.

  • Slew Rate: [0s - 0.25s]
  • This option limits the rate of change of the PWM signal to the motors. The value set indicates the number of seconds for the PWM signal to change from full-forward to zero or full-reverse to zero. This reduces stress on the drive train and electronics by allowing the PWM power level commanded to the motors to change gradually.

  • Deadband:
  • [ 02 Counts - 08 Counts] This is the amount of deadband around the zero point the MOB recognizes as a zero speed command. Different radio systems will have wider or narrower variations in the RC pulse around the zero point. Computer generated signals such as those from a PC, microcontroller, or IFI system need only the narrowest deadband setting. The maximum setting of eight counts represents about 10% of the normal stick travel on a most R/C systems.
The MOB software is written the C language using the free GCC compiler for the AVR family. It uses a Real-Time Operating System called AvrX written and supported by Larry Barello (

Since the MOB software is Open Source all the MOB software source code is available in the downloads section of the site for inspection or modification. Also on the downloads page are links to the GCC compiler, AvrX download site, and the PonyProg programming software used to update the software in the MOB. All of this is freely available for commercial or private use without cost (commercial use of AvrX outside of the OSMC requires the permission of the author).

More information about the OSMC may be found on the OSMC information page.

Robot Power offers the MOB in fully assembled units, money saving kit form, and as a bare circuit board. Check the Web store for details on prices and special offers.

Copyright © 2001-2013 Robot Power
2745 Martin Way E, Suite D, Olympia, WA 98506 voice: 360-515-0691
Problems? Contact the Webmaster