Arexx JM3-MARVIN-01 User guide

Developed by JM³ Engineering
JM3-MARVIN-01
User Manual
(c) 2015-2017 AREXX Engineering und JM³ Engineering
The latest updates are available at jm3-engineering.com!
AREXX Engineering & JM³ Engineering
Marvin IoT Robot
www.arexx.com
March 26, 2017 Page: i
Imprint
© 2016-2017 AREXX Engineering
Nevistraat 16
8013 RS Zwolle
The Netherlands
Tel.: +31 (0) 38 454 2028
Fax.: +31 (0) 38 452 4482
“Marvin” is licenced by and “iRP” is a registered trademark from “JM3 Engineering”. “AREXX” is a
registered trademark from AREXX Engineering. All other trademark are the property of their owners. We
are not responsible for the contents of external web pages that are mentioned in this manual!
Information about limited warranty and responsibility
The warranty granted by AREXX Engineering is limited to the replacement or repair of the Module and
its accessories within the legal warranty period if the default has arisen from production errors such as
mechanical damage or missing or wrong assembly of electronic components except for all components that
are connected via plugs/sockets.
The warranty does not apply directly or indirectly to damages due to the use of the robot. This excludes
claims that fall under the legal prescription of product responsibility.
As soon as you make irreversible changes (for example, soldering other components, drilling holes, etc.) on
the robot or its accessories, or the robot is damaged as a result of non-observance of these instructions will
void any warranty claim!
It cannot be guaranteed that the supplied software will satisfy individual expectations or will run completely
error-free and without any interruption. Moreover the software can be freely changed and is loaded into
the unit by the user. Therefore the user carries the full risk regarding the quality and performance of the
unit including all software. AREXX Engineering guarantees the functionality of the supplied application
examples provided the respect of the conditions specified in the data sheet. If the purchased hardware
or the PC software turns out to be faulty or insufficient, the customer carries all costs for service, repair or
correction. Please note the relevant license agreements on the SD-Card respectivly the Info-Box in browser!
Important! - Before using this robot for the first time, please read the operating instructions carefully! It
explains the correct handling and informs you about possible dangers. It also contains important information
that should not be known to all users.
This manual is protected by the laws of Copyright. It is
forbidden to copy all or part of the contents without prior written
authorization!
Product specifications and delivery contents are subject to
changes. The manual is subject to changes without prior notice.
You can find free updates of this manual on
http://www.arexx.com/
AREXX Engineering & JM³ Engineering
March 26, 2017 Page: ii
Precautionary Notes
• Check the polarity of the voltage.
• Always keep the electronic equipment dry. In the case of moisture immediately remove the batteries or
the power supply to power down the device. This precaution is needed to keep it from short circuiting.
Drying is needed to avoid corrosion.
• Remove batteries before long-term storage respectively remove the power supply if the robot is not to be
used for some time.
• Before using the device always check the status of the equipment including the cabling.
• As soon as you think the device cannot be used in a secured way you must remove the power supply and
take precautions the device cannot be used unintentionally.
• Ask an expert if you feel unsafe or unsure in handling the device.
• Never operate the robot in unfavourable locations or inconvenient conditions.
• The equipment does contain highly sensitive parts. Electronic modules are quite sensitive to electrostatic
discharge (ESD). Only handle devices at the edges and avoid direct contact to the parts on the PCB.
Normal use
This product has been designed as an experimental tableau for all persons who feel interested in robotics.
The main goal for this platform is the experience to learn programming the device in C/C++-language. The
robot is not to be considered as a toy! The device is not suitable for children under 14 years of age.
The robot has been designed for indoor use. The device should not be exposed to moisture or damp. Please
be careful to avoid condensation vapor, which may generate moisture if you transport modules from a cold
environment into a warm room. Wait a while and do not activate modules until the devices have been
acclimatized to the room temperature.
Any other type of mode of operation as prescribed may cause damage and risks such as short circuit, fire and
shocks, etc. the robot is to be used in closed, dry environments. The device shall not be exposed to moisture
or water.
AREXX Engineering & JM³ Engineering
March 26, 2017 Page: iii
Laser Security Notes Proximity Sensor
VL6180X 80/87 DocID026171 Rev 7
The VL6180X Proximitiy Sensor is equipped with a laser source and a laser control module. The output power of the
laser light source is designed and limited to always comply with the safety limits according for Class 1 Laser sources.
This also includes singular accidents according to IEC 60 825-1:2007. As long as the device is being operated within
the range and operating conditions as specified in the data sheets by ST Microelectronics the optical laser output power
will be restricted to the specified limits.
The optical laser output may never be raised and under no circumstances any optical lenses are allowed to be used for
focusing the light beam!
For security reasons we discourage to look into the laser light source.
Complies with 21 CFR 1040.10 and 1040.11 except for deviations pursuant to Laser Notice No.50, dated June 24, 2007.
AREXX Engineering & JM³ Engineering
March 26, 2017 Page: iv

Contents

1 Introduction 2
2 Manual 4
2.1 Marvin robot hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Marvin robot equipment and accessories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.2 Detection range of the proximity-sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.3 Installation of additional proximity sensors (rear) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Commissioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.1 Documentation and software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.2 iRP WebIDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.3 iRP connection with PC/Tablet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.4 Status LEDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.5 System Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4 Calibration of sensors and set system time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.1 RTC - set system time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.2 Calibration of the 3D compass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.3 Calibration of the 3D gyroscope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4.4 Proximity sensors activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.5 Calibration of the proximity sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.5 Command line interface (CLI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3 Programming with iRP 20
3.1 Introduction in iRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.1 Basic operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.2 iRP help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.1.3 My first program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.1.4 Program execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.1.5 Program load or saved . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1.6 Program errors (Debugging) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1.7 Program code (source code) viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4 JM3 Robot-Tool 2.0 25
4.1 Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2 Mac OSX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.3 Windows 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.4 Load your own programs created under C/C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.4.1 Upload (Marvin application) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.4.2 Upgrade Firmware (Bootloader) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.5 Terminal window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.6 Firmware and iRP Micro SD-Card update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.6.1 Micro SD-Card update (Ubuntu-Linux): . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.6.2 Micro SD-Card update (Linux - general): . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.6.3 Micro SD-Card update (Mac OSX): . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.6.4 Micro SD-Card update (Windows OS): . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5 Option: C/C++ Software 32
5.1 Software package for Marvin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
v
5.1.1 Toolchain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.1.2 Software-Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.1.3 Marvin function buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2 Demo software description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6 Technical data 34
6.1 Dimensions and weight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.2 Power supply and power requirement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.3 Supply voltages experiment board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.4 Further information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
7 Schematic details 35
7.1 Arduino Extension Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.2 Pin mapping TM4C129EKCPDT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.3 PCB Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
List of Figures 40
List of Tables 40
AREXX Engineering & JM³ Engineering
March 26, 2017 Page: vi
Marvin the IoT Robot
Figure 0.1 Marvin Robot
Marvin - iRP WebIDE - for browsers on PC, Notebook and Tablet
Figure 0.2 Welcome-Screen
*1) *2)
Figure 0.3 Program-Screen
Figure 0.4 Remote Control and Status Display
*1) Apple iPAD or MacBook can store programs only on the robot, not on local disk.
*2) Firefox, Google Chrome (PC/Notebook/Samsung Galaxy Tab A) and Safari (iPad Pro/MacBook Air) are tested - Internet Explorer or Edge are not supported.
AREXX Engineering & JM³ Engineering
March 26, 2017 Page: 1

1 Introduction

The JM3 IoT robot, called Marvin, impresses with its equipment and performance. Main components are the
TIVA TM C microcontroller with ARM Cortex-M4F and 512KByte Flash, 256KByte SRAM, 6KB
EEPROM, and the CC3100 WI-FI® Network Controller that meet the standards 802.11 b/g/n with up to
16Mbps data rate, multi-connection, TCP and UDP. Optimal adapted PCB antenna, infrastructure & ad-hoc
mode with a range >25m under normal conditions.
In addition, the Marvin is equipped with high-tech sensor technology, a 9D gyro / compass, several proximity
sensors which operate almost independently of the reflection characteristic of the obstacle surface. These
sensors can also measure the ambient brightness. A battery buffered real-time clock and the Arduino
compatible expansion header are also included. The header can be used for own hardware developments or
other existing Arduino Shields (software must be developed by themselves).
The powerful micro-gearbox motors with high-resolution odometry guarantee a high speed of the robot with
its rubber drive. The power is supplied by 6 standard AA or NiMH batteries.
A virtual display can be found in the browser (Firefox, Google Chrome, Safari) on a PC/Notebook, Mac or
Tablet. In addition, the Marvin robot can be remote controlled.
The graphical programming interface “Marvin - iRP” allows beginners to enter the world of programming in
a simple way - especially for students and kids, because it is not required to learn a programming
language first and no software development environment must be installed.
The C/C ++ option is for advanced programmers and experts. The programming under C/C++ with
FreeRTOS with a complete library of all hardware drivers (virtual display, button, UART, SPI, I2C, DMA,
ADC and timer etc.) is the base for own developments. The JM3 RobotTool for Linux and Windows allows
to upload programs (hex-code).
Marvin provides all the possibilities to program and control a robot, either way via the graphical iRP
interface or with C++.
AREXX Engineering & JM³ Engineering
March 26, 2017 Page: 2
Accessories (not included)
• AA batteries (Ultra Power) or rechargeable batteries NiMH e.g. Ansmann HR06 Typ 2700
• Charger MW3310HC / 1 A Charging current setting
• USB-Kabel (Micro-B / Type A)
Sensor module extensions:
Extension Board (Arduino compatible, iRP programable)
• Interface with socket prepared for barometer or GPS module
• For your own hardware extensions
AREXX Engineering & JM³ Engineering
March 26, 2017 Page: 3

2 Manual

Proxi-Sensors
Micro-SD Card
USB Interface
Motor-Driver
Odometer
Arduino Ext. Shield header
Power Supply
5.0 V und 3.3 V
TivaC 1294
WiFi Subsystem
9D Sensor
Battery-Holder 6 x AA
Proxi-Sensors (optional)
Button
Main-Switch
Charge-Plug (for rechargable batteries)
2.1 Marvin robot hardware
Hint: The best thing to handle the Marvin robot is to grab it on the battery

Figure 2.1 Marvin robot hardware

compartment or on the chains. In addition, it should be avoided to touch directly
to the electronics (microcontrollers, etc.) as precaution agaist electrostatic
discharge (ESD!).
AREXX Engineering & JM³ Engineering
March 26, 2017 Page: 4
2.2 Marvin robot equipment and accessories
2.2.1 Features
The IoT robot provides many new possibilities:
• TIVA TM C- mikro controller ARM Cortex-M4F Core (Floating Point) with 512KByte Flash,
256KByte SRAM, 6KB EEPROM, CC3100 WI-FI® 802.11 b/g/n – up to 16 Mbps, optimized PCB
antenna, Infrastructur- and Ad-Hoc Mode, Flash-ROM 8Mbit
• Virtual display on PC or Tablet-PC.
• 3x Proximity / Ambient Light Sensor (Time of Flight) in front at the center
right and left.
optional (retrofitted): 3 x rear (right, center, left)
• 9D - Gyro and compass sensor
• RTC with backup battery (recharging during operation)
• 1 x RGB status LED
• Status LEDs for Wi-Fi®
• 2 x LEDs USB (Rx, Tx)
• 2 x headlights (white) and 2x backlights (red)
• USB programming / Wi-Fi configuration (Micro USB connector)
• Micro SD-Card reader
• SMD button
• Arduino expansion plug - separate UART, SPI, I2C; 6 ADC, up to 8 GPIOs
• Interrupt capable, up to 4 PWM channels for servos
• 6 Cell power supply for AA batteries or rechargeable batteries for long operating times
• Slide switch and AUX battery input
• Switching regulator for high efficiency of the power supply
• Powerful micro-transmission motors with high-resolution odometry for high speed
• Rubber chain drive
• Application examples for Marvin iRP and remote control via Firefox or Google Chrome browser
(PC, notebook or tablet)
• Robot programming tool (supports all AREXX robots) and USB drivers for Linux and Windows 7
• C++ Software Development Pack (GCC ARM Compiler (Linux), C++ Software Library, Application
Examples)
• Micro SD card (robot documentation, iRP software and firmware: RobotTool, sample programs)
AREXX Engineering & JM³ Engineering
March 26, 2017 Page: 5
2.2.2 Detection range of the proximity-sensors
The sensors have a detection range (FoV) of 25° and a range of approx. 30 cm. Distances below 10 cm are
displayed as zero. This ensures that the robot can avoid the obstacles without having to go backwards.
The two external sensors are twisted at +15° or -15° to the robot zero axis to achieve a wider angle of
detection. The representation of the resulting detection range shows a slight overlap of the individual sensors.
This ensures that all obstacles in the travel path are recognized.
The picture also applies to the optional rear sensors.
FoV Proximity sensors (Representation of all three sensors):
Figure 2.2 Field of View of the proximity sensors
AREXX Engineering & JM³ Engineering
March 26, 2017 Page: 6
2.2.3 Installation of additional proximity sensors (rear)
The sensors have a pitch of 1.27mm - half as much as usual. Therefore you should have a soldering iron with
a fine tip and a power of approx. 50 W power.
Pay attention to the vertical position of the sensors and do not make them stand out. It is recommended to
first solder only one pin, then align the sensor and then solder all other pins. The details on activating the
sensors can be found in subsection 2.4.4.
Hint: Don’t forget to activate the new sensors by software!
Figure 2.3 Marvin with rear proximity sensors
Hint: It is best to exercise soldering on a PCB before - be economical with the solder.
Too much solder can cause shorts between the PINs!
2.3 Commissioning
2.3.1 Documentation and software
The complete documentation and the Marvin-iRP Web IDE software can be found on the enclosed Micro SD
card. It can be downloaded via the Marvin web interface and is then in the corresponding folder for
downloads of the computer.
The SD card uses the ext4 file system known from Linux and can not be read by Windows PCs or MacBooks
without special support programs. Any updates are distributed via disk images that are written to the Micro
SD card with a helper program. For this purpose a suitable micro SD card adapter is included on USB.
AREXX Engineering & JM³ Engineering
March 26, 2017 Page: 7
Hint: In the delivery condition, the robot is set to the WiFi AdHoc mode so that it can
communicate directly with a PC with a Wifi interface (Notebook, T-Tablet, etc.).
There are a variety of micro SD cards that have different characteristics
and are available in Marvin may not work properly. SD-XC cards as well as
SanDisk Ultra cards are generally not supported!
Marvin software updates consist of the disk image with the iRP software.
It also contains the appropriate firmware (hex-file).
The versions of iRP software version and firmware version are always the same!
2.3.2 iRP WebIDE
The web interface software and the Marvin documentation are already on the enclosed Micro SD card. If the
micro SD card is not already inserted in the robot, please do so carefully now.
Figure 2.4 Marvin with inserted SD Karte
Hint: The Micro SD card usually does not have to be removed from the robot. It is
protected so that it is protected from damage. However, you should not touch
the robot so the Micro SD card is damaged!
AREXX Engineering & JM³ Engineering
March 26, 2017 Page: 8
Loading...
+ 32 hidden pages