Software reset in Arduino

Mats's picture


To avoid runaway tasks in MRLComm if MRL is closed, this code could be exected when MRLComm detects that the contact with MRL has been lost.

void(* resetFunc) (void) = 0;  // Define the reset function at address 0

resetFunc();  // Call the reset 
It will then end up in the initial setup() and reinitiate. So all pins will be reste to their initial state and the communicaiton will go into it's initial state.

PID Service


A PID service allows the tracking and transformation of output in relation to iinput.  This is currently used as one of the tracking strategies in the Tracking service.  Input is sent to PID, a "compute" method is sent and appropriate output is sent to a servo.



PIR sensor problem still

harland's picture

It is amazing how hard it is to get some things to work in MRL.

My PIR code works on the bench using a mega board on digital pin 12.

You see on a mega board and using pin 12:

14:38:43.836 [COM8.portListener 1] INFO  class org.myrobotlab.service.Arduino - Publish Pin: {

  "pin": 12,

  "type": 2,

  "value": 0,

  "source": "arduino"

And when the PIR is triggered you see:

MyRobotLab Coding Style

GroG's picture

Java :

Simplicity is a good rule to follow.  So, many of the details of formatting are left to eclipse IDE. 
2 very important and useful key strokes in eclipse are 

GoogleCloud Service


Google make exemplary software.  Much of it the publish as open source.  (Thank You Google).  
Some of it, they make impressive services.  This service allows our robots to interact with those services. 

They include Vision, Speech, Translate, & Cloud Machine Learning.

Arduino and MRLComm setup and loop methods

kwatters's picture

I've been working on debugging various issues that people are having with the arduino service.  I've found that it's a bit overwhelming to read through so I took a crack at cleaning it up.  Below, I will share some notes about the coding convention that I've taken on with this refactor/code cleanup.

Design principals

Error when installing webGUI

KYO's picture

Hi, I just I am new to MRL. I just downloaded the latest version from

But I seem to be having an issue when trying to install webGUI, I get the following error


ERROR Runtime: error unresolved dependency: org.java_websocket.websocket#websocket;1.2: not found 

Program AB: Connecting from the web

KYO's picture

Hi! I am pretty new here. I am able to start MRL and run ProgramAB, but I am clueless as to how I can 'hook' it to anything outside MRL.

Can someone point me out on how would I be able to connect a python, php, js script to my MRL in order to 'send' something to the ProgramAB service and 'get' the response back?

Excuse me if this is too basic, I couldn't find the docs about it.


Thanks in advance! 

Problems with MRL 1355?

calamity's picture

Hey guys

This week-end I try  my inMoov with the lastest build (1355 at that time) and it was not working

Everything seem fine with MRL (no errors messages) but everything that connect to the arduino where not responding (servo, neopixel ring, PIR sensor).

For the servo to work, I have to detach and attach them again and then they work without any further problem.