Modern Robotics Inc.
Core Device Discovery
Version 2.0.0 April 11, 2017
Core Device Discovery Modern Robotics, Inc
Contents
1. Document Control................................................................................................................... 3
2. Description .............................................................................................................................. 4
3. Application Download/Installation ......................................................................................... 5
4. Application Usage ................................................................................................................... 6
5. Core Power Distribution Module ............................................................................................ 8
6. Core Device Interface Module Advanced Options ................................................................. 9
6.1. On Board LEDs ....................................................................................................... 10
6.2. PWM Outputs ........................................................................................................ 10
6.3. Digital I2C Ports ..................................................................................................... 11
6.3.1 Address List ............................................................................................................. 11
6.3.2 I2C Commands ........................................................................................................ 11
6.3.3 Change I2C Address ................................................................................................ 11
6.4. Analog/Digital Inputs............................................................................................. 12
6.5. Analog Outputs ..................................................................................................... 12
7. Core Legacy Module Advanced Options ............................................................................... 13
7.1. On Board LEDs ....................................................................................................... 14
7.2. Sensor Ports .......................................................................................................... 14
8. Core Motor Controller Advanced Options ............................................................................ 15
8.1. Current Status ....................................................................................................... 16
8.2. Motor Controls ...................................................................................................... 16
8.2.1 Constant Power Mode ............................................................................................ 16
8.2.2 Constant Speed Mode ............................................................................................ 17
8.2.3 Run to Positon Mode .............................................................................................. 17
8.2.4 Motor Type ............................................................................................................. 17
9. Core Servo Controller Advanced Options ............................................................................. 18
9.1. Standard Servo Use ............................................................................................... 19
9.2. Extended Range Servo Use ................................................................................... 19
10. Firmware Upgrade via Core Device Discovery ................................................................... 20
10.1. Upgrade a Module................................................................................................. 20
Version 2.0.0 Page 2
Core Device Discovery Modern Robotics, Inc
1. Document Control
Revision History
Version Date Description By
1.0.1 10/27/15 Initial Document Modern Robotics
2.0.0 4/11/17 Rewrote and reorganized document Modern Robotics
© Modern Robotics. Inc 2017
This document is published by Modern Robotics, Inc. No part of this document may be copied,
published in print or shared online or otherwise publically released without the express written
consent of Modern Robotics, Inc.
Specifications subject to change without notice.
Modern Robotics, Inc
13335 SW 124th St
Miami, FL 33186
Phone: (786)393-6886
Email: support@modernroboticsinc.com
Web: www.modernroboticsinc.com
Version 2.0.0 Page 3
Core Device Discovery Modern Robotics, Inc
2. Description
The Core Device Discovery utility allows you to retrieve module information and serial
numbers, test connectivity and most functions of each module from your PC or Mac.
Modules that can be tested by this are;
• Core Servo Controller
• Core Motor Controller
• Core Legacy Module
• Core Device Interface Module
• Core Power Distribution Module (Indirectly. This will not appear in device window.)
It is recommended that the Core Power Distribution Module be used in line with the
connected controllers and computer.
Version 2.0.0 Page 4
Core Device Discovery Modern Robotics, Inc
3. Application Download/Installation
Step 1
Download the Core Device Discovery executable (.exe) by going
to http://modernroboticsinc.com/coredevicediscovery.
Step 2
Core Device Discovery will be in your downloads folder. We recommend moving the
program to your documents folder.
Core Device Discovery can be used from any location on your computer including
external hard drives.
Step3
Double click the executable file to run the application. When the program is open, it will
match the photo below.
Version 2.0.0 Page 5
Core Device Discovery Modern Robotics, Inc
4. Application Usage
Connect your Core Power Distribution Module to your computer. Your computer will see
the Core Power Distribution Module as a generic USB hub. Connect additional modules to
the Core Power Distribution Module one at a time to allow for the modules to be
discovered and install the proper device drivers.
Windows: A popup window will appear in the tool tray indicating that device has drivers,
been assigned a COM port and is ready for use.
If your computer does not install the drivers, the modules will not be found by the
application. To fix this, go to http://www.ftdichip.com/Drivers/VCP.htm and select the
“setup executable” option in the comments column. Installing this driver will allow the
modules to communicate with the computer.
Mac: In most cases, each module connected will be assigned a “tty” USB port within a short
time of connecting. Once the tty number is assigned, the module is ready for use.
Click the “Refresh” button to update the device windows with the currently connected
controller.
Version 2.0.0 Page 6
Core Device Discovery Modern Robotics, Inc
NOTE: Servo and Motor Controllers must be connected to 12V with the red LED turned ON
to be read properly by the Core Device Discovery.
Clicking “Save Output” will save valuable information about the controllers you have
connected to a text file. If you are having trouble with a module or controller, then save a
text file and email it to support@modernroboticsinc.com with a detailed description of the
problem and testing steps.
Indicator Legend:
= No Module/Controller Detected
= Core Control Module Found
= Unknown Device OR Servo/Motor w/o 12V power
= Module/Controller Require Reprogramming
White Button – Selected
Mode
Dark Button – Available
Mode
Light Button - Commands
Indicator
COM Port
Firmware Version
Manufacturer
Green – Input value is good
FTDI Serial Number
Red – Input value is
Device Name incorrect or out of range
Upgrade Firmware Gray – Input disabled, Read
only
Advanced Testing Options
Version 2.0.0 Page 7
Core Device Discovery Modern Robotics, Inc
5. Core Power Distribution Module
The Core Power Distribution Module is equipped with four LEDs as status indicators. Under
normal operation, all four LEDs should be illuminated with a power supply and USB host
connected.
USB
Enable
3.3 V
5V
12 V
12 V – Indicates a 12 V supply is connected and the power switch is turned on.
5 V – Indicates the 5 V circuit is working properly.
3.3 V – Indicated the 3.3 V circuit is working properly.
USB Enable – Indicates a USB host is connected to the Mini USB port.
Note: The Core Power Distribution Module does not appear in the Core Device Discovery
device windows. The seven device windows represent the seven ports of the Core Power
Distribution Module in an arbitrary order.
For more information and testing instructions for the Core Power Distribution Module, go
to http://modernroboticsedu.com/mod/page/view.php?id=64.
Version 2.0.0 Page 8
Core Device Discovery Modern Robotics, Inc
6. Core Device Interface Module Advanced Options
The Core Device Interface Module has one green LED to indicate a connection to a 5 V USB
host. The Core Device Interface Module can be directly connected to the computer via USB
or connected through your Core Power Distribution Module.
For more information and testing instructions for the Core Device Interface Module, go to
http://modernroboticsedu.com/mod/page/view.php?id=67.
5V
Click the “Advanced” button on the home screen to open the advanced window.
Version 2.0.0 Page 9
Core Device Discovery Modern Robotics, Inc
6.1. On Board LEDs
The Red and Blue on board LEDs can be controlled by checking or unchecking the boxes.
6.2. PWM Outputs
There are two ports available for generating pulse width modulation. There are two
parameters that must be set to generate a PWM output. The “On Time” parameter is a
measure from rising edge of the wave form to the next falling edge. The “Period” parameter
is a measure of the rising edge of the wave form to the next rising edge.
Version 2.0.0 Page 10
Core Device Discovery Modern Robotics, Inc
6.3. Digital I2C Ports
The Digital I2C Ports window is
split into three sections; Address
List, I2C Commands and Change
Address. If the number is preceded
by “0x” then that is a hexadecimal
number, otherwise it is a decimal
number.
6.3.1 Address List
The Address List displays all connected and properly working I2C sensors and their I2C
Address. Third party sensors may not be displayed the same
6.3.2 I2C Commands
The I2C Commands section is used for reading data from and writing data to an I2C
sensor. The Address field is the I2C address of a sensor that was found in the Address
List. The Register field is the location within the sensor where data can be read or
written. For more information on the register layouts and usage of Modern Robotics I2C
sensor, go to
http://modernroboticsinc.com/Content/Images/uploaded/Sensors/Sensor%20Documen
tation.pdf. Performing a read of a register location must be done by pressing the READ
button or checking the Poll Read checkbox, which will then display the register value in
the Value field. Writing to a register requires a value to be typed into the Value field.
The value is written to the register within the sensor when the WRITE button is pressed.
6.3.3 Change I2C Address
The Change Address section is very important when using two of the same I2C sensors
on the same I2C bus. For both sensors to work they must have different I2C address,
otherwise they will both communicate at the same time causing garbage data to be
returned. With only one of the sensors connected, type the current I2C address into the
Current field. The name of the sensor will appear in place of “…” if a Modern Robotics
Sensor is detected. Then the new address must be typed into the New Addr field. The
new address must range from 0x10 – 0xEE and be an even number. Once the Change
Address button is pressed, the Address List section will update with the new I2C address
of the sensor.
Version 2.0.0 Page 11
Core Device Discovery Modern Robotics, Inc
6.4. Analog/Digital Inputs
The Analog and Digital inputs display the raw value returned by the sensor. The Analog
sensors will return values ranging from 0 – 255. The Digital sensors will return a 0 or 1. A
connected sensor to the analog or digital ports will be read automatically and displayed.
6.5. Analog Outputs
The Analog Output feature generates a voltage with
either DC current or AC current represented by a sine,
square or triangle wave form. There is a 4mA max
current per Analog Output port. Once the values are
typed in, the Update Analog Out must be pressed to
apply the values to the port.
Mode Voltage Range Frequency Range
Voltage Output (DC) -4 V – +4V N/A
Sine Wave Output (AC) 0 – ±4 V (8 V p–p) 1 Hz – 5000 Hz
Square Wave Output (AC) 0 – ±4 V (8 V p–p) 1 Hz – 5000 Hz
Triangle Wave Output (AC) 0 – ±4 V (8 V p–p) 1 Hz – 5000 Hz
Version 2.0.0 Page 12
Core Device Discovery Modern Robotics, Inc
7. Core Legacy Module Advanced Options
The Core Legacy Module has one red LED to indicate a connection to a 5 V USB host. The
Core Legacy Module can be directly connected to the computer via USB or connected
through your Core Power Distribution Module.
For more information and testing instructions for the Core Legacy Module, go to
http://modernroboticsedu.com/mod/page/view.php?id=68.
5V
Click the “Advanced” button on the home screen to open the advanced window.
Version 2.0.0 Page 13
Core Device Discovery Modern Robotics, Inc
7.1. On Board LEDs
There are four on board LEDs that can be controlled by checking or unchecking the boxes.
7.2. Sensor Ports
The Core Legacy Module has six sensor ports to connect HiTechnic sensors and controllers.
To perform an analog read, connect a legacy analog or digital sensor to the sensor port on
the Core Legacy Module. A single read can be made by clicking the READ button or
constantly poll a reading by checking the Poll Read checkbox. The returned reading will
appear in the Analog Reading field.
To communicated via I2C a legacy I2C sensor or legacy motor/servo controller must first be
connected. If the number is preceded by “0x” then that is a hexadecimal number, otherwise
it is a decimal number. Click the I2C Address button to show the address of the attached I2C
device. Enter the register location per the device’s register map into the Register Location
field. Performing a read of a register location must be done by pressing the READ button or
checking the Poll Read checkbox, which will then display the register value in the Value
field. Writing to a register requires a value to be typed into the Value field. The value is
written to the register within the sensor when the WRITE button is pressed.
Note: Port S4 and S5 can enable 9 V for use with the legacy NXT Ultrasonic Sensor. (Coming
soon to Core Device Discovery)
Version 2.0.0 Page 14
Core Device Discovery Modern Robotics, Inc
8. Core Motor Controller Advanced Options
The Core Motor Controller has one red LED to indicate a connection to a 12 V power. The
Core Motor Controller can be directly connected to the computer via USB or connected
through your Core Power Distribution Module. There must be 12 V power applied with the
red LED on when testing or the controller will not be detected properly by the computer.
For more information and testing instructions for the Core Motor Controller, go to
http://modernroboticsedu.com/mod/lesson/view.php?id=76.
5V
Click the “Advanced” button on the home screen to open the advanced window.
Version 2.0.0 Page 15
Core Device Discovery Modern Robotics, Inc
8.1. Current Status
The status window displays vital information about the status of the motor on the port and
the battery voltage.
8.2. Motor Controls
The Motor Control window contains all the tools necessary to fully test a Core Motor
Controller and motor. There are three operating modes a motor port can be set to;
Constant Power, Constant Speed and Run to Position. There are also two stopping modes,
Brake and Float. Brake will halt the motor when a power of zero is applied and hold at the
current encoder position. This means that in Brake mode at a power of zero the motor shaft
cannot be rotated. Float will cause the motors to coast to a stop and will not hold the
encoder position. This means that in Float mode at a power of zero the motor shaft can
continue to rotate.
User Defined Power User Defined Encoder Position
Current Applied Power Current Encoder Position
Motor Type and PID/Ratio Set PID/Ratio (Gray if set)
Currently in Power Mode
Brake/Float Mode
Resent Current Encoder Value Apply user defined power
and encoder position
8.2.1 Constant Power Mode
Constant Motor Power Mode applies the same amount of power to the motor
regardless of the load on the motor. Motor power ranges from -100 – +100.
Version 2.0.0 Page 16
Core Device Discovery Modern Robotics, Inc
8.2.2 Constant Speed Mode
Constant Motor Speed Mode applies a power to the motor to maintain the same
rotational speed. Therefore, when applying ±100% power in Constant Speed Mode the
resulting power will be 85% of the maximum power. This is necessary if the load
becomes greater on the motor and requires more power to be applied to maintain a
constant speed.
8.2.3 Run to Positon Mode
Run to Position Mode will run the motor until
the encoder reaches the user defined encoder
position. When using run to position a power of
100% the power applied will be 85% of the
maximum. This is necessary if the load
becomes greater on the motor and requires
more power to be applied to maintain constant
encoder counts on both motors. Enter in the
power and encoder target values before
clicking Update.
When using this mode, always apply a positive power. The motor will turn in the
direction according to the encoder target position.
8.2.4 Motor Type
The Core Motor Controller supports a few types of motors including Matrix, AndyMark
and Tetrix with support for other motors in the future. Selecting a motor type changes
the P, I, D and Ratio parameters which are vital to using the motor with encoders. The
PID and Ratio parameter were found through extensive testing on special equipment.
Once a motor type it set, it will remain set until it is changed by the user.
Version 2.0.0 Page 17
Core Device Discovery Modern Robotics, Inc
9. Core Servo Controller Advanced Options
The Core Servo Controller has one red LED to indicate a connection to a 12 V power. The
Core Servo Controller can be directly connected to the computer via USB or connected
through your Core Power Distribution Module. There must be 12 V power applied with the
red LED on when testing or the controller will not be detected properly by the computer.
For more information and testing instructions for the Core Servo Controller, go to
http://modernroboticsedu.com/mod/lesson/view.php?id=78.
5V
Click the “Advanced” button on the home screen to open the advanced window.
Version 2.0.0 Page 18
Core Device Discovery Modern Robotics, Inc
9.1. Standard Servo Use
The standard Core Servo Controller range is from 0.75 ms to 2.25 ms per port when a value
of 0 or 255 is applied respectively.
The Servo Enable box must be pressed for the servos to move according to the entry value.
Once the servos are enabled, a user entry value can be entered in the green box from 0 –
255. Once the value is set to the desired target value, click Update Values to apply the
changes to the Core Servo Controller. Clicking Update Values will update the values of all six
servo ports simultaneously.
9.2. Extended Range Servo Use
The extended Core Servo Controller range is from 0.5 ms – 2.5 ms per port when a value of
0 or 255 is applied respectively. This will allow for a greater operating range on the selected
servo port. Take great caution when using the extended servo range as a valid entry of 0 –
255 could exceed the mechanical limit of the servo causing irreversible damage to the
servo.
Once a servo port is put in extended range mode, it will remain there until the user changes
it back to standard range mode. This mode can only be changed using Core Device
Discovery and not the Android SDK or Windows DLL.
Version 2.0.0 Page 19
Core Device Discovery Modern Robotics, Inc
10. Firmware Upgrade via Core Device Discovery
The Core Device Interface, Core Legacy Module, Core Motor Controller and Core Servo
Controller all support firmware upgrades from home with version 2.0 or higher. If any
modules are on version 1.5 or 1.6, they must be sent back to the Modern Robotics offices
for update and inspection. Refer to http://modernroboticsinc.com/firmware-update for
more information on sending modules in for update.
All modules can be both upgraded and downgraded to any available firmware.
10.1. Upgrade a Module
To upgrade a module, click the Upgrade button found in the device window. The most
current version of the firmware will be selected by default. Click the dropdown menu to
select a different firmware version to load on the module.
Click Program Device to start programming the selected firmware on to the module. Once
complete, the current version will be updated and the module will be ready for use.
The home screen will need to be refreshed to show the updated firmware number.
Version 2.0.0 Page 20