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, 2017Page: 1
Version: 1.2.3
1Introduction
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
Version: 1.2.3
March 26, 2017Page: 2
Accessories (not included)
• AA batteries (Ultra Power) or rechargeable batteries NiMH e.g. Ansmann HR06 Typ 2700
The Marvin robot supports the calibration of compass, gyro (rotational speed sensor) and distance sensors.
These functions are initiated in the Remote Control and Display window (see also subsection 3.1.1) with the
specific command buttons or via the command line interface (Figure 2.7). In addition, the real-time clock of
the robot can be synchronized with the system time of the PC/Notebook.
Hint:Calibration is usually only required once, and all recorded calibration data are
stored in the robot.
Figure 2.7 Command line interface
AREXX Engineering & JM³ Engineering
Version: 1.2.3
March 26, 2017Page: 13
2.4.1 RTC - set system time
Setting the real time clock in the Marvin robot is initiated by pressing the “Set RTC” button. This completes
the setting of the clock.
Hint:The time now also continues with Marvin switched off for several months. The
battery is recharged by switching on the robot.
2.4.2 Calibration of the 3D compass
The procedure for calibrating the 3D compass is described below. The alignment to NWSE
is automatically detected. A key must only be pressed or a command executed to start/stop.
Hint:The references to the sky direction facilitate a complete calibration - but are not
absolutely necessary. It is important to go through a complete circle!
2.4.2.1 Step 1 - preparation
Turn on the Marvin robot and connect the robot to the web interface in the browser. Take a compass and
determine the directions for north, east, south and west - remember the points.
Hint:You can skip this step if no compass is availble. Important is to cover the full
circle.
2.4.2.2 Step 2 - calibration mode on
Go to the remote control and display page and click the button “Calibrate compass”.
In the picture you see the imaginary axes related to the Marvin. The x-axis is red, the y-axis is green and the
z-axis is blue. Yellow is the inclination vector whose angle is not exactly known and depends on the location
on the earth. If the inclination vector and the x-axis are on a line then it can expected to be the maximum of
the measured value. This is necessary for a good calibration.
2.4.2.3 Step 3 - process
• Hold the robot to the north and tilt it upwards by 90 ° and then down.
• Hold the robot approximately horizontally to the north and tilt it 90 ° to the left and then to the right.
AREXX Engineering & JM³ Engineering
Version: 1.2.3
March 26, 2017Page: 14
Figure 2.8 Cardinal points and inclination vector
• Repeat this for east, south and west, or a complete circle, if possible with intermediate values, which
increases accuracy.
Hint:Do not tilt the Marvin too quickly during calibration!
2.4.2.4 Step 4 - finalization of calibration
After completing the procedure, close the calibration mode by clicking on the corresponding button “Finalize
calibration” and check the result by aligning the robot with the corresponding and known direction of the sky.
2.4.3 Calibration of the 3D gyroscope
Calibrate the gyro by pressing the “Calibrate Gyro Offset” button. The button will now show “calibration -
please wait” - this is done until the process is finished.
Hint:The calibration runs independently. Of course, the robot must not be moved.
AREXX Engineering & JM³ Engineering
Version: 1.2.3
March 26, 2017Page: 15
2.4.4 Proximity sensors activation
The proximity sensors are activated or deactivated using the “conf” command. Details are in Table 2.1. For
example, to activate the sensor in the center at the rear, enter the following in the command line:
• conf add RM “Enter” and subsequently
• conf save RM “Enter”
This would have added the RM sensor (rear center) and saved the configuration permanently and the sensor
is ready for operation.
2.4.5 Calibration of the proximity sensors
The calibration of the distance sensors is described below. For this purpose, an iRP auxiliary program must
be executed and the measured values must be noted for each sensor.
In addition, you need a ruler with a length of 30 cm to 50 cm. The values are then written into the robot with
the command interface Figure 2.7 and stored there.
Hint:The calibration of the distance sensors is not absolutely necessary and provides
an option to get more accurate results.
Beginners should not do this.
2.4.5.1 Step 1 - preparation
Turn on the Marvin robot and connect the robot to the web interface in the browser.
• Place the ruler in front of the respective sensor, so that the imaginary line of sight of the sensor is
coincident with the ruler.
• Start the iRP program “Distance sensor calibration”.
• Go to the “remote control and display page”.
In the lower display Figure 2.9, the distance raw values are displayed:
•FM (Front Mid)0 - 255
•FL (Front Left)0 - 255
•FR (Front Right)0 - 255
•RM (Rear Mid)0 - 255
•RL (Rear Left)0 - 255
•RR (Rear Right)0 - 255
AREXX Engineering & JM³ Engineering
Version: 1.2.3
March 26, 2017Page: 16
Hint:You can use the white Marvin Box for distance measurement!
2.4.5.2 Step 2 - process
Now measure the respective minimum and maximum value of the detection range.
• To do this, approach the obstacle (Marvin Box) from approx. 35 cm until the raw value is set to a value
smaller than 255 in the display.
• Find the exact point and write the raw value and the measured distance at the ruler.
• Approach the Marvin with the obstacle (Marvin Box) further until the raw value no longer changes in
the display (minimum value).
• Find the exact point and write the raw value and the measured distance at the ruler.
Figure 2.9 iRP auxiliary program data on user screen
Enter the following in the command line:
• cal prox FM 23 135.0 300 170 “Enter”
In this example, the front mid sensor (FM) with the lower raw value of “23” and the measured distance
“13.5” together with the measured distance “300” and the upper raw value of “170” would be used for
calibration.
Hint:All distances must be entered in “mm”!
2.4.5.3 Step 3 - verfication
After performing the procedure the robot needs a power cycle to use the calibration data. Then check the
result for the left, right, and center position sensor. For:
• ca. 13 cm muss 0
• ca. 30 cm muss 30
• > 30 cm muss 255 are displayed.
AREXX Engineering & JM³ Engineering
Version: 1.2.3
March 26, 2017Page: 17
2.5 Command line interface (CLI)
Table 2.1 describes all commands with syntax that are available.
AREXX Engineering & JM³ Engineering
Version: 1.2.3
March 26, 2017Page: 18
Table 2.1 CLI Kommandos
CommandDescription
cal cmpsactivates/deactivates the compass calibration mode.
cal gyro [--state]calibrates Gyro offsets. If the parameter “–state” is specified, the
current progress is output.
cal prox “sensor”
calibrates sensor: FL/FM/FR/RL/RM/RR.
“xNear” “mmNear”
“xFar” “mmFar”
conf “cmd” “sensor”configures the proximity sensors:FL/FM/FR/RL/RM/RR.
Commands (cmd): “add” “del” “read” “save”
light “on/off”Toggles driver lights on/off.
setrtc “H_M_S_W_D_M_Y”Set RTC to system time.
wlan AP ssid “SSID”Set SSID in AdHoc mode to “SSID”.
wlan AP passwd “passwd”Set password in AdHoc mode to “passwd”.
wlan AP txpwr “pwr”Set transmit power in AdHoc mode to “pwr”.
“pwr” Is a number between 0 and 15. “0” is the maximum transmit
power. Maximum efficiency is reached at“pwr” = 4.
wlan AP channel “ch”Set WLAN channel in AdHoc mode.
“ch” is a number between 0 and 13.
“ch” = 0 for automatic channel selection.
wlan AP MODESwitches Marvin to AdHoc mode.
wlan STA addprofile
“SSID” “passwd”
Joins the network with the SSID “SSID” and the password
“passwd”. In the future, it will automatically try to connect to this
network.
wlan STA delprofile “ID”Deletes the WLAN profile with ID “ID”. The ID “-1” deletes all
profiles.
wlan STA txpwr “pwr”Set transmit power in Infrastruktur mode to “pwr”.
“pwr” is a number between 0 and 15. “0” is the maximum transmit
power. Maximum efficiency is reached at “pwr” = 4.
wlan STA ipcfg
“DHCP” | “IP” “mask”
Enabled in Infrastructure mode DHCP or sets a static IP address.
“IP”, “mask”, “gw” and “dns” are IPv4 addresses.
“gw” “dns”
wlan STA MODESwitches Marvin to Infrastructure mode.
wlan STA SCANScans for available WLAN networks.
wlan DEFAULTResets the WLAN module to factory settings.
wlan getIPReturns the current IP address.
versionOutputs firmware version number.
security updatekey
Copy HTTPS key from the SD card to the WiFi module.
“key.der”
security updatecert
Copy HTTPS certificate from the SD card to the WiFi module.
“cert.der”
security htpasswd
Set web server username and password.
“user:passwd”
The “security” commands are only available in C ++ mode under Linux
AREXX Engineering & JM³ Engineering
March 26, 2017Page: 19
Version: 1.2.3
3Programming with iRP
Program-Menu
(Worksheet)
Help-Menu
(Light Bulb)
Language-Menu
Tabs
Link-Indicator
The graphical programming language Marvin - iRP is easy to learn and requires none previous knowledge of
a programming language like C/C++.
The various function blocks allow to create and execute programs on a logical level.
3.1 Introduction in iRP
3.1.1 Basic operation
The general handling of a PC and browser is a prerequisite.
The link indicator is located to the left of the language menu.
3.1.1.1 The language setting symbol
Figure 3.1 Marvin WebIDE Menu bar
• A green light indicates a good connection.
• A red light indicates a short-term interruption or use of the entire bandwidth for downloading
documents from the SD card.
• If there is a longer error, a pop-up message is displayed on the screen.
• You can easily set the language using the language selection field.
• In addition, you can see the “Zoom” and “Pan” buttons at the bottom right hand side.
AREXX Engineering & JM³ Engineering
Version: 1.2.3
March 26, 2017Page: 20
Single-Step
Zoom
Delete /
Trashcan
Download
Program
Start
program
Figure 3.2 Marvin WebIDE program buttons
Hint:Other languages such as Spanish, Italian, French and Chinese (simplified) are
supported. The online help is currently only available in German and English.
3.1.1.2 The light bulb symbol
• Find the help function for the iRP blocks with brief explanations.
• Notes on documentation and software.
• General notes about the program (info) and you can get the start screen displayed again.
3.1.1.3 The Worksheet symbol
• Here you can edit your programs, e.g. load, store etc. .
• Marvin SD card programs (menu to load and save)
• You can also select the iRP mode (Beginner, Intermediate, Expert) set to. The dark gray color indicates
the selection.
3.1.1.4 Remote control and display Tab
• Here are two displays, a remote control panel and a plotter area.
• The two virtual displays are divided into a fixed area where system values are displayed (for example,
the battery voltage) and a user area (user display).
In the user area you can display values from your program.
• In addition, you can make settings and send commands (section 2.5).
AREXX Engineering & JM³ Engineering
March 26, 2017Page: 21
Version: 1.2.3
3.1.1.5 Program Tab
• Here you can edit your programs, e.g. Load, save, etc. .
• You can also select the iRP mode (Beginner, Advanced, Expert) set to.
3.1.2 iRP help
A help function to the iRP blocks is always easily accessible in the browser.
• Click on the light bulb symbol (picture shown at the top left) or
• Click on the question mark on the right side of the screen.
The help sidebar scrolls to the currently used block automatically. (see Figure 3.3).
Figure 3.3 The Marvin WebIDE Helpbrowser
3.1.3 My first program
• A new program is simply merged together from the iRP blocks.
• If blocks are not logical matching, you can not attach them to the other block. In the example, the
block “real number” does not logically match to a “integer” (Figure 3.4).
3.1.4 Program execution
• A program can be “started” via the menu in the program tab or with the start button.
AREXX Engineering & JM³ Engineering
Version: 1.2.3
March 26, 2017Page: 22
Figure 3.4 Mismatch of block types in iRP
• Next to the “start button” is a “step button” (step by step execution of the program to the breakpoint),
the download button, the zoom function and the trashcan - for blocks which are no longer required.
3.1.5 Program load or saved
• Here you can load or save your programs. The location can be selected as usual.
• It is also interesting to insert already developed parts of the program. So you can build up a more
comprehensive program from different program modules - see example: “Drive a square with
compass”.
In this example there is a function included which does an averaging of the measurment values - this
could be a useful sub-function in other programs as well.
3.1.6 Program errors (Debugging)
If an error occurs during programming, an indication is given and the corresponding block is highlighted (see
Figure 3.5)
Hint:A very useful feature is the ability to set breakpoints to stop the program and
display an interesting value or state in the virtual display. This simplifies the
debugging, since the internal state of the software can be displayed easily!
AREXX Engineering & JM³ Engineering
Version: 1.2.3
March 26, 2017Page: 23
Figure 3.5 Beispiel für einen Compiler Fehler
3.1.7 Program code (source code) viewer
For further debugging, it may be helpful to look at the source text - but this is rather something for advanced
and experts. The selection is made by means of the program tab “source code” - in this case outputs as C++
source, C++ header and assembler are possible (Figure 3.6).
Figure 3.6 Example for generated C++ code
AREXX Engineering & JM³ Engineering
Version: 1.2.3
March 26, 2017Page: 24
4JM3 Robot-Tool 2.0
4.1 Linux
• Copy the JM3 Robot Tool to a folder and run the program “launch_robotTool.sh”!
Hint:Further details see install.txt
• Click on the “Add Robot” icon - enter the name (freely selectable), the hostname and the USB port you
are using and go to the next step.
• Select the robot type, e.g. “Marvin”. The available USB port name can be looked up in the system
configuration - the USB port is usually “/dev/ttyACM0”. Just type in the correct USB port e.g.
“/dev/ttyACM0”. As interface type, select “UART” with a baud rate “0” (default).
• Click OK
• Click on “Add File” to select the hex-file with the new program. The search simply goes over the path
with “SelectFile”. Select the hex-file you want to load into the micro controller. As a further step select
the type, e.g. “Marvin”.
• Click OK.
• Select the robot and the program in the listed links.
• Click “Upload program” (at the top of the toolbar)
• Click “Save” (at the top of the toolbar), if you want to save the created robots and programs.
4.2 Mac OSX
• Copy the JM3 Robot Tool to a folder and run the program “robottool.app”.
• Click on the “Add Robot” icon - enter the name (freely selectable), the hostname and the USB port you
are using and go to the next step.
• Select the robot type, e.g. “Marvin”. The available USB port name can be looked up in the system
configuration - the USB port is usually “/dev/tty.usbmodem1421”. Just type in the correct USB port
e.g. “/dev/tty.usbmodem1421”. As interface type, select “UART” with a baud rate “0” (default).
• Click OK
• Click on “Add File” to select the hex-file with the new program. The search simply goes over the path
AREXX Engineering & JM³ Engineering
Version: 1.2.3
March 26, 2017Page: 25
with “SelectFile”. Select the hex-file you want to load into the micro controller. As a further step select
the type, e.g. “Marvin”.
• Click OK.
• Select the robot and the program in the listed links.
• Click “Upload program” (at the top of the toolbar)
• Click “Save” (at the top of the toolbar), if you want to save the created robots and programs.
4.3 Windows 7
• Copy the JM3 Robot Tool to a folder and run the file “robottool.exe”.
• Click on the “Add Robot” icon - enter the name (freely selectable), the hostname and the USB port you
are going to use.
• Select the robot type e.g. “Marvin”. The correct COM Port can be checked in the Device Manager -
often this is “COM3”. Just type in the correct COM port e.g. “COM3”. As interface select “UART”
and the baud rate should be set to “0” (default).
• Click OK
• Click on “Add File” to select the hex-file with the new program. The search simply goes over the path
with “SelectFile”. Select the hex-file you want to load into the micro controller. As a further step select
the type, e.g. “Marvin”.
• Click OK.
• Select the robot and the program in the lists on the left.
• Click “Upload program” (at the top of the toolbar)
• Click “Save” (at the top of the toolbar), if you want to save the created robots and programs.
AREXX Engineering & JM³ Engineering
Version: 1.2.3
March 26, 2017Page: 26
4.4 Load your own programs created under C/C++
To upload a self-written program (hex-file) into the micro-controller you must have installed the JM3
RobotTool before you can continue (Figure 4.1).
4.4.1 Upload (Marvin application)
• Start the JM3 Robot Tool It is assumed that the robot tool has already been prepared as described
above.
• Click on “Add File” to select the hex-file with the new program. The search simply goes over the path
with “SelectFile”. Select the hex-file you want to load into the micro controller. As a further step select
the type, e.g. “Marvin”.
• Click OK.
• Now select the robot entry from the list e.g. “Marvin” and the hex-file by clicking on it one by one
(highlighted light gray) and click “Upload”.
• Click on “Save” (at the top of the toolbar), if you want to save the created robots and programs.
AREXX Engineering & JM³ Engineering
Version: 1.2.3
March 26, 2017Page: 27
4.4.2 Upgrade Firmware (Bootloader)
The firmware of the Marvin robot also allows to flash the bootloader itself to a later version.
This requires the following steps.
• Select the new boot loader (hex-file) as described above.
• A click on “Upgrade Firmware” executes the update.
AREXX Engineering & JM³ Engineering
Version: 1.2.3
Figure 4.1 The JM3 Robot-Tool
March 26, 2017Page: 28
4.5 Terminal window
The terminal feature in the JM3 RobotTool allows serial data to be received and sent. It can also record data
and save it to a file. Various settings are available “Settings”:
• Connect to robot “Connect” allows data to be received.
• Disconnect connection to robot “Disconnect”.
• Send data to the robot “Right side - lower window” - commands can be entered here at any time.
Please set line-ending characters to “LF” (line feed).
• The program supports “undo” using the arrow keys (up and down) and “refresh” with F5.
Figure 4.2 The JM3 Robot-Tool - Terminal window
AREXX Engineering & JM³ Engineering
Version: 1.2.3
March 26, 2017Page: 29
4.6 Firmware and iRP Micro SD-Card update
In the following is a description of a software update process.
Firmware update (all Operating Systems):
The firmware update is performed with the JM3 Robot Tool. Details are described in chapter 4.
• Connect to the PC/Notebook using a USB cable (Mirco-B / TypeA).
• Start the JM3 Robot Tool and select the “Firmware.hex” file.
• Turn on the Marvin robot and connect to the PC/Notebook.
• Start it with a click on the “Upload icon”.
Hint:Firmware and iRP SD card image always belong together!
After an update always delete the browser cache!
4.6.1 Micro SD-Card update (Ubuntu-Linux):
The SD card update is started either by double-clicking on the image file (*.img), or by running an
“right-click” on the image file, and selecting “Writing drive image”. After this, a window “Restore drive
image” appears.
• Select your Micro SD card.
• Start the image update with “restore ...”
• Wait until the image has been copied completely.
• Please “eject” the drive.
4.6.2 Micro SD-Card update (Linux - general):
The SD card image is executed with the command “dd”.
• Insert the SD card with the USB adapter.
• Open a terminal window.
• Check the ID “/dev/sdX” of the SD card by running the command “sudo fdisk -l”.
• Note the ID of the SD card (it must have a size of approximately 2GBytes and contain exactly one
Linux partition).
• “Unmount” the SD card with the command “sudo umount /dev/sdX”.
• Start the image update with the command “sudo dd bs=1M if=myImage.img of=/dev/sdX”.
Attention:Use the correct filename and ID. Otherwise all data on
the computer can be destroyed!!!
AREXX Engineering & JM³ Engineering
Version: 1.2.3
March 26, 2017Page: 30
• Wait until the image has been copied completely.
• Please “eject” the drive.
4.6.3 Micro SD-Card update (Mac OSX):
The SD card image is executed with the command “dd”.
• Insert the SD card with the USB adapter.
• Open a terminal window.
• Check the ID “/dev/diskN” of the SD card by running the command “sudo diskutil list”.
• Note the ID of the SD card (it must have a size of approximately 2GBytes and contain exactly one
Linux partition).
• “Unmount” the SD card with the command “sudo diskutil unmountDisk /dev/diskN”.
• Start the image update with the command “sudo dd bs=1m if=myImage.img of=/dev/diskN”.
Attention:Use the correct filename and ID. Otherwise all data on
the computer can be destroyed!!!
• Wait until the image has been copied completely.
• Please “eject” the drive.
4.6.4 Micro SD-Card update (Windows OS):
The SD card image is performed with the “win32DiskImager” tool.
• Start the program and select the new SD card image.
• Start the image update.
• Wait until the image has been copied completely.
• Please eject drive ’.
AREXX Engineering & JM³ Engineering
Version: 1.2.3
March 26, 2017Page: 31
5Option: C/C++ Software
The C++ programming language has emerged from the C language and represents an extension and
improvement of C.
All in all the more modern language which gives a better readability of the code and a much better protection
against side effects (e.g. enums / namespaces instead of often unclear #define instructions). Assembler and C
program parts can be easily combined with C++ code.
Special advantages and the reduction of program code in case of using multiple instances of h/w drivers can
be achieved - e.g. one instead of two UART drivers. Easier portability of the developed program code
represents a further advantage.
The used Extended Embedded C++ implementation does not allow the following C++ features which you
may know from PC programming - but which does not make sense for embedded Systems are:
• RTTI
• Exceptions
The libraries needed for the creation of own programs (h/w driver etc.) and a few application programs are
supplied with the package.
Hint:This option is for advanced users and experts.
C/C++ software development and the Realtime Operating System FreeRTOS
are not suitable for beginners!
The knowledge to deploy the entire Linux based toolchain and GCC compiler
including their configuration is required.
5.1 Software package for Marvin
The Marvin software package consists of the web interface software, the operating system (FreeRTOS) with
API functions and a library with all hardware drivers, e.g. the virtual display, ADC, timer, I2C, UART, LED
and keypad.
For further information and possibilities please read the descriptions of the modules and the corresponding
data sheets!
AREXX Engineering & JM³ Engineering
Version: 1.2.3
March 26, 2017Page: 32
5.1.1 Toolchain
As compiler, the GCC for ARM (arm-none-eabi-gcc) must be used under Linux. Additionally, the following
packages are required: make, newlib, arm-none-eabi-gcc and python. Any editor for the change of the source
code can be used.
The programming (s/w upload) is possible via the USB connection and the “JM3 Robot Tool”. Your program
can be loaded quickly and effectively into the TIVA C.
If you need full access to the microcontroller, you need a TIVA JTAG Interface (e.g., TM4C1294 “Connected
Launch Pad” EK-TM4C1294XL). In addition you have to solder the 8 PIN JTAG header (RM1.27) on the
PCB and a suitable connection cable must be build.
5.1.2 Software-Library
The software library also includes features such as compass, tilt measurement, real-time clock,
motor control and a user interface for the configuration of the WiFi interface.
The Web Interface can display various values on the virtual display in the browser.
All functions (blocks) known from iRP and others are available in the library. C++ code generated with iRP
can be exported and transferred to a new C++ project.
This also simplifies the transition from iRP to C++ code development.
5.1.3 Marvin function buttons
The Marvin function buttons in the Remote Control and Display tab Figure 5.1 can only be used with
your own C++ programs.
Figure 5.1 Marvin function buttons in Remote control and display tab
5.2 Demo software description
The demo programs of iRP can be exported and used in your own C++ programs. The iRP Web IDE -
“Remote control and display” can also be used as a virtual display.
AREXX Engineering & JM³ Engineering
Version: 1.2.3
March 26, 2017Page: 33
6Technical data
6.1 Dimensions and weight
Width:125 mm
Length:148 mm
Height:50 mm
Weight:195 g (without batteries)
6.2 Power supply and power requirement
VCC= 8.4 V± 5%=> 6 AA cells
Hint:The absolute maximum is bei 10.0 V !!!
ICC
AVR
Hint:Battery lifetime:
= 160mA+40.0 mA / -20.0 mA=> without Arduino Extension
ca. 5 h (Driving operation - engines at 50%)
ca. 10 h while programming with iRP
6.3 Supply voltages experiment board
VDD_3V3:Iout,max≤50 mA
VDD_5V0:Iout,max≤50 mA
VBat_M (VSS):Iout,max≤200 mA
6.4 Further information
All other data can be taken from the following IC data sheets!
Controller:Texas InstrumentsTM4C1294KCPDT
Motor Driver:Texas InstrumentsDRV8833CPWP
9D-Sensor:ST MicroelectronicsLSM9DS1TR
Proxi-Sensor:ST MicroelectronicsVL6180X
AREXX Engineering & JM³ Engineering
Version: 1.2.3
March 26, 2017Page: 34
7Schematic details
7.1 Arduino Extension Board
Arduino Shields are supported by the Hardware. All common interfaces such as I2C, SPI, UART ADC and
GPIOs or various timer outputs supoorting frequency or PWM generation e.g. for servo control. An input
capture function is available for measuring frequencies and duty cycles.